Repository navigation
Add Ohio state supplementation for 2026 - #10164
Conversation
- Registry placement and comments, SNAP reference title, shorter programs.yaml note - Rule-level OAC references; document the one-spouse resource-standard reading - Guard the daily-rate ceiling against float error on exact-cent amounts - State-neutral wording in the shared Medicaid helper documentation (same as UT) - Add interest/dividend, couple pooling and exact-cent partial-month cases; realistic Case 3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Counting oh_rss as HUD income made Medicaid enrollment, rent-related tax deductions and HUD income circular, so the shared SSP Medicaid helper had to run a full-population branch in every year and the microsimulation job ran out of time and memory. RSS recipients live in licensed residential care, so RSS stays out of HUD income, and the helper and its core test return to main's version (only the docstring wording differs). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the days-of-placement formula input with a zero-default partial-month input, cite ORC 5119.41 and document that the rules pay non-recipients, add NOTEs for the couple standard, resources, federal SSI gaps and the Medicaid gate, update parameter metadata and the registry entry, and pin the readings with new cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Add Ohio state supplementation for 2026PR #10164 (author: hua7450, head SummaryThe PR adds Ohio's Residential State Supplement (RSS):
The 2026 policy content is right:
No critical items remain. One should-fix item remains:
Four suggestions:
Critical (must fix)None. Should address1. The Medicaid condition misses Ohio's group for people who receive only the state supplement, so RSS is $0 for candidates with no SSI unless Medicaid is entered.
Suggestions1. Encode the $1,100 fee in force before July 2023 (deferral documented in the PR body).
2. A prorated first month can round the daily amount up one cent too many.
3. Two couple readings.
4. Polish.
Verified correct
Axiom line assessmentValid:
CI statusAll 27 checks pass (
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes for 1 should item; details in the report above. The 2026 amounts ($1,600 fee + $200 PNA = $1,800), the (E)(4) income rules, exclusions, resources and (G)(6) proration check out against OAC 5122-36-05, MEPL 175 and ORC 5119.41. rulespec-us#1836 is valid, the NH-sibling bug doesn't occur here, and CI is green. Should 1: the Medicaid gate misses Ohio's 42 CFR 435.232 group, people who receive only the state supplement (SPA 15-015, Att. 2.2-A pp. 15–16). With Medicaid computed, a candidate with SSDI of $1,635.90 or Social Security of $1,100 gets RSS 0, though they get $184.10 or $720 when Medicaid is entered. Fix: accept is_ssi_eligible for certified non-SSI candidates, or document the limit where users will see it. Four suggestions are in the report: the pre-7/2023 $1,100 fee, a one-cent float32 proration rounding, pinning the Case 13 reading, and programs.yaml notes.
…ounding - Meet the RSS Medicaid condition through the 42 CFR 435.232 group (SPA 15-015) for candidates who meet SSI's other criteria but whose income is too high. - Allow a thousandth of a cent before rounding the daily amount up. - Pin the one-spouse income standard and the computed-Medicaid couple. - Start the minimum age on 2017-07-15 and note microsimulation in programs.yaml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The new source-conflict guard (#10287) registers statute conflicts only; this NOTE compares a regulation with another regulation or a handbook. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. This round's changes are in dc0950b, with Should 1, the Medicaid group for people who receive only RSS: fixed with remedy (a).
Suggestion 1, the $1,100 fee before July 2023: not taken. The batch keeps earlier years out of scope, and the body notes the $1,100 fee. Suggestion 2, float32 proration: fixed. The daily amount now allows a thousandth of a cent before rounding up. New Case 22 (Social Security of 17,249.52 a year, 16 days) gives 197.44. With the old 1e-8 it gives 197.60 and fails. Suggestion 3:
Suggestion 4: the Branch note, main's statute-first rule (#10287): the CI: both red jobs come from one test, 37 Ohio RSS cases pass locally (22 in |
PR Review (round 2): Add Ohio state supplementation for 2026PR #10164 (author: hua7450). This round reviews head
SummaryZiming fixed the round-1 should item with remedy (a) as I proposed it. He also fixed every suggestion except one documented deferral, which I accept.
Merge resolutions. All three hand-resolved blocks keep both sides.
The wage lesson (NH #10156 round 3, OK #10165) finds nothing here.
Other checks.
Every new expectation checks by hand (4 cases, 12 outputs). CI and branch.
Prior findings status
New findingsCritical (must fix)None. Should addressNone. Suggestions1. Record why RSS may use SSI's wage count, so the batch's wage finding isn't applied here by mistake (optional).
2. Ohio HEAP, which arrived with the latest merge, counts SSI but not RSS. Record the choice and refresh the PR body (optional).
Verified
Axiom line assessmentValid:
CI status25 pass, 2 fail, 0 pending (
Branch status
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Round 2: Should 1 is fixed. RSS now meets the Medicaid condition through the 42 CFR 435.232 group (Case 21 gives 184.10), and suggestions 2-4 are fixed too. All three hand-resolved merge blocks keep every sibling's line and add Ohio's once. The two red checks are the known FL/SD LIHEAP ratchet failure from before #10334, so merge main and re-run. Two optional suggestions. Full report in the comment above.
Each sibling SSP PR adds its line to the same unsorted lists, so the entries now sit at different anchors and the PRs merge without conflicts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What and why
Ohio's Residential State Supplement (RSS) was missing from PolicyEngine-US. Add
oh_rssfor 2026 under ORC 5119.41, OAC 5160:1-5-01 and OAC Chapter 5122-36. RSS is a monthly cash payment to Medicaid-eligible aged, blind or disabled adults who need a protective level of care and live in an approved residential care setting (5160:1-5-01(A), (C)).Who administers it: Ohio. The Department of Behavioral Health runs the program and decides the non-financial criteria; the rules still call it OhioMHAS (ORC 5119.41(A); 5122-36-01(A); 5160:1-5-01(I)(1)). The county department of job and family services or the Department of Medicaid decides income and resources (ORC 5119.41(D)). The program is paid from the General Assembly's appropriation (ORC 5119.41(C); 5122-36-03(F)(2)). SSA doesn't pay RSS, so the shared helper for SSA-administered supplements (SSA rounding and its $1 minimum) isn't used. The folder is
oh/dbhbecause ORC 5119.41, as amended by HB 96 (effective September 30, 2025), names the Department of Behavioral Health.2026 levels, unchanged since July 1, 2023 (5122-36-05(B)-(C); 5160:1-5-01(B)(2); MEPL 175):
The model derives the $1,800 from the two parameters rather than storing it separately.
Payment: the $1,800 income standard less countable income (5160:1-5-01(G)(1)). Countable income equal to or above the standard makes the person ineligible ((E)(4)(b)). There is no federal $1 minimum.
Countable income: income is treated as for aged, blind or disabled Medicaid, except that SSI counts as income and there is no deeming (5160:1-5-01(E)(4)(a), (c)).
First month: a placement that starts after the first day is prorated. The daily amount and the prorated total are each rounded up to the next cent (5160:1-5-01(G)(5)-(6)).
Couples (5160:1-5-01(E)(2)-(3)):
oh_rss_certified; 5160:1-3-05.20(E)(4)).COLA: none. The rules fix the dollar amounts, so a rise in SSI lowers RSS by the same amount. A 2027 case shows $771 = $1,800 − $1,029.
Who qualifies, each month.
oh_rss_eligibleholds the first three rows, andoh_rssapplies the income and resource tests:medicaid_enrolled_for_ssi_state_supplement(computed Medicaid eligibility and take-up; a yearly value), or Ohio's group for people who receive only a state supplement and "would be eligible for SSI except for the level of their income":is_ssi_eligiblewithuncapped_ssiat or below 0is_ssi_aged_blind_disabledandminimum_age(18 from July 15, 2017)oh_rss_certified, which also covers a state-approved temporary institutional stay under 5160:1-5-01(H)oh_rss_countable_income; a payment of $0 at or above the standardssi_countable_resourcesdefined_for = StateCode.OHSource conflicts (each has a code NOTE and is listed in the Axiom conflicts comment):
oh_rss_countable_income; integration Cases 1 and 8).oh_rss; integration Case 13). The reading decides the result only when Medicaid is entered: computed Medicaid and the SSI resource test both combine the couple's resources (integration Case 14).oh_rss_countable_income; integration Case 15).oh_rss; integration Cases 3 and 13).Inputs:
oh_rss_certified(monthly, default false) records Ohio's approval of the placement and level of care.oh_rss_partial_month_days(monthly, default 0) records the days from the move-in day through the end of a first month. At 0 the month is paid in full. The variable has a formula returning 0, so an entry for one month doesn't carry into later months (integration Case 11).medicaid_enrolledis entered as false. If you entermedicaid_enrolled, enter it for every person: an entry for one person sets everyone else to false. This is documented onoh_rss_eligible.RSS is added to
household_state_benefits(all four year blocks),spm_unit_benefitsand SNAP unearned income. It isn't counted as HUD income. RSS is paid to the person (5122-36-04(A)(7)), but recipients live in licensed residential care (5122-36-02(A)(5)), and counting it would make its Medicaid condition circular through rent-related tax deductions (NOTE onoh_rss). No other Ohio program is wired. Ohio CCAP is the only other Ohio program onmainthat reads SSI, and it excludes SSI (5180:2-16-03(I)(1)).Files:
Shared files:
household_state_benefits.yamlgains one Ohio entry per year block.income/sources/unearned.yaml,spm_unit_benefits.pyandprograms.yamleach gain one Ohio entry.medicaid_enrolled_for_ssi_state_supplement.pykeeps main's code; only its docstring changes, from naming Indiana and Kansas to "state supplements that require Medicaid enrollment". The text is the same as in Add Utah state supplementation for 2026 #10170.minimum_payment.yamlare unchanged.References
Additional section and page citations are included alongside the parameters and formulas.
Coverage limits
The registry marks Ohio as partial, verified for 2026. The $1,600, $200 and $1,800 were checked against 5122-36-05 and MEPL 175 in October 2026.
Not modeled:
oh_rss_certified.Microsimulation and model limits:
oh_rss_certified, so RSS is 0 in microsimulation and reaches household calculations only (code NOTE and the registry notes).oh_rss_eligibletests that group itself (NOTE onoh_rss_eligible;oh_rss.yamlCase 21). The shared Medicaid model is unchanged.The amounts start July 1, 2023. Earlier years use parameter backfilling and are unverified historical estimates (MEPL 175 lists a $1,100 fee before then); no historical coverage is claimed.
Related: #10226 tracks the reform copies of
spm_unit_benefits(such as the Texas rebate's), which this PR leaves unchanged.Test plan
oh_rss.yaml, 15 inintegration.yaml) pass locally on this branch merged withmainat 1f678c7. They cover:household_state_benefits,spm_unit_benefits, SNAP and HUD income, and the 2027 SSI rate.ruff formatandruff checkon the Ohio RSS files, andgit diff --check.changelog.d/.axiom: ORC 5119.41; OAC 5160:1-5-01, 5122-36-02(A), 5122-36-05(B)-(C), 5160:1-3-03.2, 5160:1-3-05.1(B)(9); MEPL 175 TheAxiomFoundation/rulespec-us#1836 queued