Skip to content

Add Oregon state supplementation for 2026 - #10166

Open
hua7450 wants to merge 3 commits into
mainfrom
or-ssp-2026
Open

hua7450 wants to merge 3 commits into
mainfrom
or-ssp-2026

Conversation

@hua7450

@hua7450 hua7450 commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

What and why

Implements Oregon State Supplemental Payment for researched 2026 coverage, with state-specific eligibility, payment rules, and integration into benefit totals and SNAP/HUD income.

OSIPM in-home, SSI couple community care, transitional personal incidentals/room and board, and approved spousal diversion and special room-and-board payments. Eligibility and procedural authorization require a certified category; specialized income exclusions, liability and diversion need explicit inputs. Other medical reimbursements and historical mandatory supplements are excluded.

Parameter backfilling does not establish verified historical coverage.

Related: #9042; historical backdating remains separate.

References

Additional section and page citations are included alongside the parameters and formulas.

Test plan

  • 29 source-based YAML cases passed on this separate state branch.
  • Synthetic national simulation: 153 households, 204 people, all 50 states and DC; finite nonnegative benefit and income aggregates.
  • make format, reference/registry checks, and git diff --check.
  • State changelog fragment.

axiom: needed

hua7450 and others added 3 commits October 12, 2026 14:27
…d tests

- Replace builtin sum() over entity calls with a loop; move excluded sources to a parameter
- One program-neutral helper (payment excluding the in-home supplement) for SNAP and HUD, with its own references
- Revert shared SNAP comment and HUD metadata edits; registry placement and comments; SNAP title; programs.yaml note
- Accept reported SSI receipt for the in-home supplement; keep it out of the suspended-SSI category
- Governing OAR citations and page anchors
- Realistic couple integration case; SNAP/HUD flow, available-income and reported-receipt cases

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hua7450
hua7450 marked this pull request as ready for review October 13, 2026 08:14
@hua7450
hua7450 requested a review from DTrim99 October 13, 2026 20:37
@DTrim99

DTrim99 commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

PR Review: Add Oregon state supplementation for 2026

PR #10166 (author: hua7450, head 0fdaef588f, merge-base 2e9eea7e6e). 20 files (+826/−4), 3 commits.

Summary

The PR adds Oregon's state-administered supplement, which Oregon pays as Oregon Supplemental Income Program Medical (OSIPM) special-needs payments:

  • Parameters under gov.states.or.odhs.ssp:
    • in_home_amount: $22 a month from 2016-01-01 (OAR 461-155-0575(2))
    • room_and_board: $773 a month from 2026-01-01 (OAR 461-155-0270)
    • reduced_va_pension: $90 from 2024-10-01 (OAR 461-155-0700(1)(b))
    • excluded_income_sources: interest_income and dividend_income from 2018-04-01 (OAR 461-145-0030(4), 461-145-0108(1)(a))
    • The OSIPM one-person adjusted income standard is read from the federal SSI individual rate ($994).
  • Variables (Person, MONTH):
    • or_ssp_category is an input-only enum with 11 approved special-need categories and NONE.
    • or_ssp_countable_income is SSI plus every positive SSI earned and unearned source, minus the excluded sources.
    • or_ssp (defined_for = StateCode.OR) selects one path by category:
      • the $22 in-home supplement
      • the SSI-couple community-care payment, including the spouse's excess income
      • standard minus income for the interim-disability, naturalization, SSI-restoration and VA-restoration paths
      • room and board minus income for suspended SSI
      • spousal diversion
      • room and board minus available income for temporary absence and incapacity
      • an approved initial-placement amount capped at $773
      • day proration of all of the above
    • Input helpers: or_ssp_days_eligible, or_ssp_available_room_board_income (defaults to countable income), or_ssp_spousal_diversion_difference and or_ssp_approved_initial_room_board.
    • or_ssp_excluding_in_home_supplement feeds SNAP and HUD.
  • Aggregates and registry:
    • or_ssp is added to household_state_benefits (all four year blocks) and spm_unit_benefits.
    • or_ssp_excluding_in_home_supplement is added to SNAP and HUD unearned income.
    • A programs.yaml entry (partial, verified_years: "2026").
  • Tests: 33 YAML cases, 26 in or_ssp.yaml and 7 in integration.yaml.

Most of the 2026 policy content is right:

  • Amounts. $22, $773, $90 and the $994 / $1,491 standards match the 2026 rules and ODHS transmittal OEP-PT-25-045.
  • Formulas. Each modeled path matches the text of OAR 461-155-0575, 0630(2)–(4) and 0700(1)–(3).
  • Administration. Oregon administers the supplement itself. It isn't among the 12 states in SSA's January 2026 federally administered chart, and SSA's Oregon description says "state administered in local offices".
  • The standard. The OSIPM one-person standard has equaled the SSI federal benefit rate in every version of OAR 461-155-0250 since 2014.
  • Proration is unrounded, as OAR 461-160-0070(4)(b) and the ODHS manual require.
  • Tests and CI. All 33 expectations check by hand and pass at the head. CI is green and the branch merges cleanly with main.

Four should-fix items remain:

  1. The axiom: needed line isn't valid for a staff PR that adds a program.
  2. Three parameter descriptions don't follow the house template.
  3. The nursing-facility personal-incidentals payment in OAR 461-155-0250(4)(c) is neither modeled nor listed as excluded.
  4. The SNAP wiring counts special-needs payments that Oregon's own SNAP rule excludes.

Critical (must fix)

None.

Should address

1. axiom: needed isn't valid here, and this PR adds a program.

  • Where: the last line of the PR body, axiom: needed.
  • The rule. main's CLAUDE.md, "Axiom Parity (required for policy changes)", lists the accepted forms: encoded-correct, encoded, queued or n/a: <reason>. needed is reserved for external contributors who can't complete the Axiom work, and the author is PolicyEngine staff.
    • CONTRIBUTING.md#axiom-parity: "That covers a new program, a parameter or threshold update, an eligibility rule and a bug fix." This PR adds a new program, and none of the n/a grounds applies.
  • Nothing to point to yet.
    • On rulespec-us main, us-or/ holds only policies/cms/, policies/income_tax/, statutes/315/ and statutes/316/.
    • Issue searches for "Oregon supplemental", "OSIPM", "461-155", "Oregon SSP", "Oregon state supplement" and "us-or" find no SSP issue.
    • The only Oregon hit, MO Pension and SS or SSD Deduction #1463, is a Montana-led Medicaid issue. It cites OAR 461-155-0250(3) only for the aged, blind and disabled Medicaid income limit, not for the special-needs payments.
  • Precedent:
  • Fix: file a dispatch-ready pe-parity issue on the Add AMT parameters for 2020-2023 #1467 / DC CDCC #1708 model. Then add a line such as axiom: ORS 411.706; OAR 461-155-0250, -0270, -0575, -0630, -0700 TheAxiomFoundation/rulespec-us#NNNN queued. The issue needs:
    • Module paths:

      • us-or/statutes/411/706.yaml, with the ORS 411.704(1) definition of assistance. This follows the layout of us-or/statutes/315/264.yaml.
      • us-or/regulations/oar-461/461-155-0575.yaml, -0630.yaml, -0700.yaml, -0270.yaml and -0250.yaml (sections (3) and (4))
      • 461-145-0030.yaml (4), 461-145-0108.yaml (1)(a) and 461-160-0070.yaml
    • Verbatim law, quoted under Verified correct.

    • Required outputs (Person, monthly):

      • the $22 amount, with a Judgment: SSI is the only countable income AND the person receives in-home or State Plan Personal Care services
      • the couple community-care formula with the excess-income transfer
      • the four 0700(1) "standard minus countable income" payments and the 0700(1)(d) diversion add-on
      • the $773 standard and the room-and-board payments
      • unrounded proration
      • the 0250(4)(c) nursing-facility payment standard, once it is modeled (Should 3)
    • Companion tests from the same sources:

      Case Payment
      In-home, SSI only 22
      SSI couple in community-based care, no other income 994 − 1,491 / 2 = 248.50 each
      Leaving a nursing facility with $30 SSI 964
      Reduced VA pension of $90 904
      Suspended SSI, no income 773
      SSI restoration for 16 of 31 days 964 × 16 / 31 = 497.55, unrounded
      Nursing-facility resident with $30 SSI (if modeled) 49.07

2. Three parameter descriptions don't follow the house template.

  • Where:
    • parameters/gov/states/or/odhs/ssp/in_home_amount.yaml:1: "Oregon provides this monthly reimbursement to SSI-only recipients with authorized in-home care."
    • .../reduced_va_pension.yaml:1: "Oregon permits the restoration supplement for recipients leaving a nursing facility with a Veterans benefit no larger than this amount."
    • .../room_and_board.yaml:1: "Oregon uses this monthly room and board standard for OSIPM special needs payments."
  • The template: "one sentence, spell the program out fully (no acronyms), [State] [verb] ... under the [Full Program Name] program."
    • None of the three has the "under the ... program" clause.
    • Two use acronyms ("SSI", "OSIPM").
    • The fourth new file, excluded_income_sources.yaml, already follows the template: "Oregon excludes these income sources from countable income under the State Supplemental Payment program."
    • The sibling SSP parameters on main do as well. For example, ga/dhs/ssp/amount.yaml: "Georgia provides this amount as the monthly supplement under the State Supplementary Payment program."
  • Fix:
    • in_home_amount.yaml: "Oregon provides this amount as the monthly in-home supplement under the State Supplemental Payment program."
    • reduced_va_pension.yaml: "Oregon limits the nursing-facility restoration payment to recipients whose reduced Veterans pension is at most this amount under the State Supplemental Payment program."
    • room_and_board.yaml: "Oregon sets this amount as the monthly community-based care room and board standard under the State Supplemental Payment program."

3. The nursing-facility personal-incidentals payment (OAR 461-155-0250(4)(c)) is neither modeled nor listed as excluded.

  • Where:
    • or_ssp.py:58-84 has no path for a resident of a Medicaid nursing facility.
    • The programs.yaml notes (lines 1099-1101) say only "Other special needs and historical mandatory supplements are not modeled". This payment is neither. It is the OSIPM payment standard itself.
    • The PR body doesn't mention it.
  • The rule. OAR 461-155-0250, effective 1-01-26, PDF p. 1:
    • "(4) In the OSIPM (except ... OSIPM-EPD), an individual receiving Medicaid services in a nursing facility or an Intermediate Care Facility-Intellectually Disabled (ICF-ID) is allowed the following amounts for clothing and personal incidentals: (a) For an individual who receives a Veterans (VA) pension based on unreimbursed medical expenses (UME), $90 is allowed. (b) For all other individuals, $81.28 is allowed."
    • "(c) For an individual identified in subsection (b) of this section with countable income (including any SSI) that is less than $79.07, the payment standard is equal to the difference between the individual's countable income (including any SSI) and $79.07."
  • It has applied in every year the model covers. The rule history shows the same (b)/(c) pair in every version from 7-01-14 on, with one figure used in both places:
    • $60 (2014–2016), $60.18 (2017), $61.38 (2018), $63.10 (2019), $64.11 (2020), $64.94 (2021), $68.77 (2022), $74.75 (2023), $77.14 (2024) and $79.07 (2025)
    • The 1-01-14 version allowed "$30" and had no (c).
  • 2026 uses two different figures. The rule moved (b) to $81.28 but left $79.07 in (c). OEP-PT-25-045, PDF p. 8: "Nursing Facility PIF: The PIF for NF and ... ICF-IID residents who are not receiving VA aid and attendance benefits is increasing to $81.28."
  • It is a cash benefit, not a liability allowance.
  • Probe at the head (2026-01): an aged SSI-only resident with ssi_lives_in_medical_treatment_facility and ssi_medicaid_pays_majority_of_care gets SSI 30 and or_ssp 0.
    • The rule as published gives 79.07 − 30 = 49.07.
    • If (c) tracks (b), it gives 81.28 − 30 = 51.28.
  • Why it matters beyond one household.
    • SSI recipients are assumed eligible for OSIPM (OAR 461-135-0010), so this payment applies automatically to every SSI-only resident of an Oregon Medicaid nursing facility.
    • It would also be the PR's only path that works in microsimulation. Every other path needs the input-only or_ssp_category.
  • Fix: model it:
    • Add nursing_facility_payment_standard.yaml with 2026-01-01: 79.07, cited to 0250(4)(c) #page=1, with a comment that (b) prints $81.28.
    • Add a path to or_ssp for ssi_federal_living_arrangement == MEDICAL_TREATMENT_FACILITY with SSI receipt, paying max_(standard − or_ssp_countable_income, 0).
    • Add tests: SSI-only resident gives 49.07; a resident whose countable income is at or above the standard gives 0.
    • If you defer it instead, name it in the programs.yaml notes and the PR body. That makes it a documented deferral.

4. The SNAP wiring counts special-needs payments that Oregon's SNAP rule excludes.

  • Where:
    • parameters/gov/usda/snap/income/sources/unearned.yaml:50 adds or_ssp_excluding_in_home_supplement.
    • The NOTE at or_ssp_excluding_in_home_supplement.py:20-23 acknowledges the conflict and follows 7 CFR 273.9(c)(5) instead.
  • Oregon's rule. OAR 461-145-0410(7), PDF p. 2:
    • "Benefits from the General Assistance (GA), Oregon Supplemental Income Program (OSIP) (except OSIPM-Independent Choices Program), REF, ... TANF, and Tribal TANF programs are treated as follows: ... (c) In the SNAP program: ..."
    • "(D) Ongoing special needs payments for laundry allowances, special diet or meal allowance, restaurant meals, accommodation allowances, and telephone allowances are treated as unearned income. All other special needs payments are excluded as reimbursements."
  • Every path the PR models is an excluded special need:
    • 461-155-0575 is "Special Need; In-home Supplement", 0630 is "Special Need; Community-Based Care", and 0700 is "Special Need; Personal Incidentals and Room and Board Allowances".
    • The OPEN's special-needs list (PDF p. 569) names all of them.
    • None is among the five counted types.
  • The federal rules don't clearly require counting.
    • 7 CFR 273.9(c)(1)(i)(F) (LII) excludes public-assistance vendor payments for "emergency and special assistance" that are "provided over and above the normal PA grant".
    • The room-and-board special needs can be paid straight to the facility (0630(2)(b); OPEN PDF p. 570).
    • The batch checklist counts an SSP in SNAP only "where the state counts it".
  • Probe at the head: integration Case 6's couple in 2026.
    • With the payment counted, SNAP unearned income is 23,856 and snap is 306 a year.
    • With it excluded, SNAP unearned income is 18,132 and snap is 1,914 a year.
    • So the household loses $1,608 of SNAP.
  • Fix:
    • Remove or_ssp_excluding_in_home_supplement from the SNAP list and keep it in HUD.
    • Rewrite the NOTE to cite 461-145-0410(7)(c)(D).
    • Change integration Case 6 (integration.yaml:135-136) to snap_unearned_income: 18_132 (12 × (1,200 + 311)).
    • If you keep the federal reading, the PR needs a sourced argument that Oregon's rule doesn't control. A NOTE isn't enough.

Suggestions

  1. Amounts before 2026 (deferral documented in the PR body: "Parameter backfilling does not establish verified historical coverage", Oregon SSP 2017, 2018, 2019 #9042).
    • The leak. room_and_board.yaml has only 2026-01-01: 773, so $773 carries back to 2015. Probe at the head, suspended-SSI recipient with no income: or_ssp is 773 in 2015-01, 2018-01, 2022-01 and 2025-01.
    • What Oregon paid. The 0270 history shows:
      • $570 (1-01-15), $571 (1-01-17), $583 (1-01-18), $599 (1-01-19), $608 (1-01-20) and $617 (1-01-21)
      • $654 (1-01-22), $711 (1-01-23), $733 (1-01-24) and $752 (1-01-25)
    • Rows that are already right:
      • $22 in-home: the rule has been "Effective 1-01-16".
      • The $994-linked standard: every 0250 version matches the federal benefit rate, from 733 (2015) to 967 (2025).
      • $90 VA: it appears in every version.
    • reduced_va_pension's 2024-10-01 date isn't supported. The 0700 history shows "$90" in (1)(b) from the 1-01-20 version on, and 0250(4)(a) has had it since 1-01-14. Backward extrapolation means this has no numeric effect.
    • Fix: widen Oregon SSP 2017, 2018, 2019 #9042 ("Oregon SSP 2017, 2018, 2019") to cover 2015–2025, the room-and-board history and the nursing-facility figures listed in Should 3. Date reduced_va_pension to 2014-01-01.
  2. The Texas rebate reform's copy of spm_unit_benefits now omits or_ssp.
    • Where: reforms/states/tx/rebate/tx_rebate.py redefines spm_unit_benefits nationwide with a hard-coded list that lacks or_ssp. It already lacks ca_state_supplement.
    • Probe at the head (2027): an Oregon couple who both receive SSI and community-based care (integration Case 1).
      • spm_unit_benefits is 24,824.01 at baseline and 18,693.01 under the reform, a drop of exactly the 2 × 3,065.50 or_ssp.
      • spm_unit_net_income falls by the same amount.
      • household_net_income is unchanged at 26,126.01.
    • Fix: insert "or_ssp", # Oregon benefits after "fl_oss", at line 65, as spm_unit_benefits.py does. Add ca_state_supplement while there, consistent with Add Wyoming state supplementation for 2026 #10174.
  3. Pin the remaining readings and assert the aggregates.
    • Unmarried community-care recipient. Probe: SSI 994 and or_ssp 0. That is right, since 0630(3) covers only "Spouses who each receive" SSI. Only the enum label says so, though.
    • A couple SSA pays as two individuals, for example in separate facilities, with 994 each: the formula gives 0. That is correct but untested.
    • Aggregates. No case asserts household_state_benefits or spm_unit_benefits, so removing or_ssp from either list would pass every test.
    • Fix: add the two cases to or_ssp.yaml. Add household_state_benefits: 264 to integration Case 5.
  4. References and citations.
    • Domain. All rule links use the Azure storage host odhsssprulesprdwu1st01.blob.core.windows.net. ODHS's own links, and main's Oregon Medicaid parameters, use https://ch461rules.odhs.oregon.gov/rules/.... Switch to the canonical host.
    • Anchors. Single-page rule PDFs (0575, 0270, 461-160-0070) are linked without #page=1.
    • Proration authority. OAR 461-160-0070 names "the GA, OSIP, REF, SNAP, and TANF programs", not OSIPM. ODHS applies the same text to OSIPM payments in the OPEN's Medical Related Payments section (PDF p. 583: "The prorated benefit is not rounded"). Add that page to or_ssp.py and or_ssp_days_eligible.py.
    • Manual edition. The OPEN is revised often. Add a # DHS 2818 (10/2026) comment next to its page-583 link in or_ssp_excluding_in_home_supplement.py.
    • Statutory basis. or_ssp.py cites no statute. ORS 411.706(1) ("shall provide assistance according to the rules of the Department of Human Services and on the basis of need") and 411.704(1)(b) ("Special need allowances for one-time or ongoing needs") are the basis.
    • OSIPM standard (optional). The OSIPM standard is read from gov.ssa.ssi.amount.individual. That is correct (see Verified correct) and matches main's uses_ssi_federal_benefit_rate treatment of Oregon. A short state parameter, or a reference to 461-155-0250(3) on that line, would make the state rule visible.
  5. Polish.
    • Blank lines. The PR adds a stray blank line before metadata: in household_state_benefits.yaml:412 and hud/annual_income/sources/unearned.yaml:33. Neither relates to Oregon.
    • Case count. The PR body says "29 source-based YAML cases". The PR has 33 (26 + 7).

Verified correct

  • Statute. ORS 411.706(1): "The Oregon Supplemental Income Program shall provide assistance according to the rules of the Department of Human Services and on the basis of need, taking into account the income and resources available to the applicant or recipient."
    • ORS 411.704(1): "'Assistance' means: (a) Cash payments or noncash benefits provided under ORS 411.706 ... or (b) Special need allowances for one-time or ongoing needs."
  • SSA's description. January 2011, Oregon:
    • "Mandatory Minimum Supplementation: No recipients."
    • "Administration: State Department of Human Services ... (state administered in local offices)."
    • "Scope of coverage: State-administered payments provided to some SSI recipients or to an individual who would be eligible for SSI except for income. Individuals meeting requirements for specific special need item receive supplementation."
    • "Spousal facility allowance: Spouses who each receive SSI and services in a community-based care facility are eligible for a payment that equals the difference between the OSIPM standard for a one-person need group and the individual's total countable income."
    • POMS SI 01415.058 A (January 2026) lists 12 federally administered states, and Oregon isn't one. So state administration, with no SSA rounding or $1 floor, is right for 2026.
  • The standard. OAR 461-155-0250(3), PDF p. 1: "AB/AD/OAA ... 994.00 ... 1,491.00".
    • The history gives the one-person figure as 733 (2015), 735 (2017), 750 (2018), 771 (2019), 783 (2020), 794 (2021), 841 (2022), 914 (2023), 943 (2024) and 967 (2025). Each equals the SSI federal benefit rate, so standard = federal.individual (or_ssp.py:24-26) is right in every year.
    • OEP-PT-25-045, PDF p. 7 repeats "994.00 / 1491.00" and "CBC Room and Board: $773.00". The parameter's #page=7 anchor shows the value.
  • In-home supplement. OAR 461-155-0575 (effective 1-01-16):
    • "(a) The individual must receive SSI as his or her only source of countable ... income. (b) The individual must receive home and community-based care ... in-home services or State Plan Personal Care Services".
    • "(2) An individual eligible under section (1) of this rule receives a $22 monthly payment. The payment is considered reimbursement for uncovered assistance needs."
    • The OPEN (p. 583) adds: "all eligible individuals will receive this amount ... so do not impact other program benefits."
    • in_home = IN_HOME & receives_ssi & (income == ssi) implements it. Excluding it from SNAP and HUD is supported by 461-145-0410(7)(c)(D) and by 24 CFR 5.609(b)(19).
  • Community-based care. OAR 461-155-0630:
    • Initial placement. (2)(a): "Payment for room and board may be authorized during the month of admission at the initial placement, limited to the approved rate". The cap is $773.
    • Temporary absence. (2)(b)(A)(iv): "does not have sufficient income to pay room and board after contributing available income to the liability". This is the or_ssp_available_room_board_income override.
    • Couples. (3), PDF p. 2: "the difference between the OSIPM standard for a one-person need group ... and the individual's total countable ... income. If one spouse ... has income above the OSIPM standard, the excess income is applied to the countable income of the other spouse." That is couple_payment = max_(standard − income − spouse_excess, 0).
    • Incapacity. (4)(d), PDF p. 3: "The payment is the difference between the countable income and the room and board standard".
  • Transitional allowances. OAR 461-155-0700:
    • (1)(a)(B), (1)(b)(B) and (1)(c)(B) each pay "the difference between the countable income of the individual and the OSIPM program adjusted income standard". (1)(b) applies to a person "limited to a maximum SSI payment of $30 or to a maximum Veterans benefit payment of $90", which gives the ssi <= medical_facility and veterans <= reduced_va_pension gates.
    • (1)(d)(B): "the amount calculated under paragraph (A) ... plus the difference between the OSIPM program adjusted income standard and the individual's countable income".
    • (2)(c), PDF p. 3: "the difference between the countable income of the individual and the OSIPM Room and Board Standard"; and (2)(d): "If SSI is reinstated ... the individual is no longer eligible". That gives ~receives_ssi.
    • (3): "The payment amount is prorated in the first month".
  • "Countable" before deductions. OAR 461-001-0000: "(3) 'Adjusted income' means the amount determined by subtracting income deductions from countable ... income"; and (19), PDF p. 5: "'Countable' means that an available asset ... is not excluded". So the PR is right to apply no $20 or $65 deductions (Case 8: 994 − 100 = 894).
  • Interest and dividends. OAR 461-145-0030(4), PDF p. 2: "In the OSIP, OSIPM, and QMB programs, interest and dividends earned on funds in a bank account are excluded as income."
    • 461-145-0108(1)(a) (effective 4-01-18) excludes dividends and interest on securities. That fits the 2018-04-01 date.
  • Proration. OAR 461-160-0070(2)–(3) divides by the days in the month, and (4)(b) says "the prorated benefit is not rounded".
  • No double count and no circularity.
    • Every path nets SSI inside or_ssp_countable_income, so ssi + or_ssp equals the standard (for example, 30 + 964 = 994).
    • or_ssp isn't in the SSI income sources.
  • HUD. Counting the non-in-home payments matches the batch convention. 24 CFR 5.609(b)(19) supports excluding the in-home supplement.
  • Code:
    • Vectorization. select, where, max_, min_ and clip throughout. The source loop runs over parameter names, not arrays, and floors each source so a loss can't offset another.
    • Policy values all come from parameters. period.days is calendar arithmetic.
    • Entities and periods are right: Person / MONTH, YEAR flows divided by 12, and annual totals that sum the months (integration Cases 5 and 6).
    • Callers. or_ssp appears only in the lists this PR edits, including all four household_state_benefits blocks (2023–2026), so the integrity guard passes. It is missing only from tx_rebate.py (Suggestion 2).
    • SNAP reference. The consolidation follows main's one-entry-per-document rule, as in the siblings.
    • Anchors. The page anchors for 0030 (p. 2), 0108 (p. 1), 0250 (p. 1), 0630 (p. 1), 0700 (pp. 1 and 2), 461-001-0000 (pp. 1 and 5), 461-145-0410 (p. 2) and OEP-PT-25-045 (p. 7) each open the cited text. The LII #c_5 anchor resolves.
  • Hand checks: all 33 expectations. The 2026 federal rates are $994 for an individual and $1,491 for a couple.
    • or_ssp.yaml:
      • Case 1: no category gives 0.
      • Case 2: income 994 equals SSI, so 22.
      • Case 3: $500 of Social Security gives SSI 514 and income 1,014, so 0.
      • Case 4: $652.17 of wages gives SSI 994 − 283.58 = 710.42, and income isn't SSI alone, so 0.
      • Case 5: $10 of interest is excluded, so 22.
      • Case 6: no SSI gives 0.
      • Cases 7 and 12: 994.
      • Case 8: 994 − 100 = 894.
      • Case 9: 994 − 30 = 964.
      • Case 10: SSI 994 is above $30, so 0.
      • Case 11: 1,080 / 12 = 90, so 994 − 90 = 904.
      • Case 13: 773.
      • Case 14: 0.
      • Case 15: 964 × 16 / 31 = 497.548.
      • Case 16: 994 × 14 / 28 = 497.
      • Case 17: 0.
      • Case 18: 100 + (994 − 800) = 294.
      • Case 19: 100 + 0 = 100.
      • Case 20: 773 − 200 = 573.
      • Case 21: 773.
      • Case 22: 500.
      • Case 23: min(900, 773) = 773.
      • Case 24: WA gives 0.
      • Case 25: reported receipt with income 0 = SSI 0 gives 22.
      • Case 26: 0.
    • integration.yaml:
      • Case 1: 994 − 745.50 = 248.50 each.
      • Case 2: couple SSI is 1,491 − 1,180 = 311, or 155.50 each. Countable income is [1,355.50, 155.50]. The excess is 361.50, so 994 − 155.50 − 361.50 = 477, and or_ssp is [0, 477].
      • Cases 3 and 4: [0, 0].
      • Case 5: 22 × 12 = 264. SNAP and HUD unearned income are both 11,928.
      • Case 6: SSI 1,866 each and or_ssp [0, 5,724]. SNAP unearned income is 12 × 1,988 = 23,856. HUD is [16,266, 7,590].
      • Case 7: SSI 514, so countable and available income are 1,014, and 773 − 1,014 < 0 gives 0.
  • Changelog: changelog.d/or-ssp-2026.added.md is top-level, typed added, and accurate.
  • Registry:
    • The programs.yaml entry sits under ssi_state_supplement.state_implementations with the WA/MO fields.
    • partial fits the unmodeled special needs. parameter_prefix resolves.

Batch checks

  1. Axiom line: invalid (needed). rulespec-us has no Oregon SSP module or issue; MO Pension and SS or SSD Deduction #1463 covers only the 0250(3) Medicaid income limit (Should 1).
  2. Parameter descriptions: in_home_amount.yaml, reduced_va_pension.yaml and room_and_board.yaml are off-template (Should 2). excluded_income_sources.yaml follows the template.
  3. Backdating:
    • The $773 room-and-board standard leaks into 2015–2025, where the 0270 history shows $570–$752.
    • The $22, the $90 and the federal-benefit-rate-linked standard are right back to at least 2016.
    • The nursing-facility payment is absent in every year (Should 3).
    • This is a documented deferral (Oregon SSP 2017, 2018, 2019 #9042), so Suggestion 1.
  4. tx_rebate.py copy: it omits or_ssp. The probe shows spm_unit_benefits down $6,131 for an Oregon couple in community-based care in 2027 (Suggestion 2).
  5. Aggregate wiring:
    • All four household_state_benefits blocks, spm_unit_benefits, HUD, SNAP and programs.yaml are present.
    • There is no double count with ssi.
    • SNAP counts payments that OAR 461-145-0410(7)(c)(D) excludes (Should 4).
  6. Income attribution:
    • Countable income is person-level: SSI plus gross sources, with interest and dividends excluded.
    • The 0630(3) spousal excess transfer is pinned by integration Cases 1–4.
    • The unmarried and separate-claim readings are correct but unpinned (Suggestion 3).
    • The nursing-facility arrangement is unmodeled (Should 3).
  7. Sibling conflicts:
  8. CI: all 26 checks pass on head 0fdaef588f, with no failing job.
  9. State law first:
    • Read: ORS 411.704 and 411.706; OAR 461-155-0250, 0270, 0575, 0630 and 0700; 461-160-0070; 461-145-0030, 0108 and 0410; 461-001-0000; the 0250, 0270 and 0700 histories; OEP-PT-25-045; the OPEN DHS 2818 (10/2026); SSA's 2011 Oregon description; and POMS SI 01415.058 A.
    • Every 2026 amount, the state administration and the effective dates check out.
    • All 33 expectations check by hand.

Axiom line assessment

Invalid (Should 1).

CI status

All 26 checks pass (gh pr checks 10166). Three "skipping" entries belong to the superseded run 38358263620.

  • The run. Run 38367921823 (pull_request, 2026-10-13 08:14 UTC) on head 0fdaef588f, conclusion success.
  • Main since then. In the files this PR depends on, main has changed only unemployment_compensation → total_unemployment_compensation in the HUD, SNAP and SSI lists, spm_unit_benefits.py and tx_rebate.py, plus three programs.yaml lines. or_ssp_countable_income reads the SSI source list at run time, so it picks up the rename after merge.
  • Local run. The two new test files at the head with policyengine-core 3.33.2: 33 passed.
  • Partner tests. The PR touches no partner test files, and the Household API Partners job passes.

Branch status

Verdict: REQUEST_CHANGES

@DTrim99 DTrim99 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 2026 amounts ($22, $773, $90, $994/$1,491) match OAR 461-155-0250/0270/0575/0700 and OEP-PT-25-045, the formulas match the rules, and all 33 cases check by hand. Four should items (see the comment above): (1) 'axiom: needed' isn't valid for staff, and rulespec-us has no OR SSP module, so file a pe-parity issue and add a queued line; (2) three descriptions are off the template; (3) the nursing-facility personal-incidentals payment (OAR 461-155-0250(4)(c)) is neither modeled nor listed as excluded (an SSI-only NF resident should get 49.07, not 0); (4) SNAP counts or_ssp_excluding_in_home_supplement, but OAR 461-145-0410(7)(c)(D) excludes all these special needs from SNAP (integration Case 6 SNAP is 306 instead of 1,914 a year).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants