Repository navigation
Turn off the Medicaid optional aged/disabled pathway in 14 states that cover only SSI recipients - #10361
Turn off the Medicaid optional aged/disabled pathway in 14 states that cover only SSI recipients#10361hua7450 wants to merge 13 commits into
Conversation
…SSI recipients Add gov.hhs.medicaid.eligibility.categories.senior_or_disabled.covers_non_ssi_recipients, false for AL, DE, GA, KS, KY, MD, MS, NV, NM, SD, TN, TX and WY, and require it in is_optional_senior_or_disabled_for_medicaid. The 209(b) SSI-recipient path is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
N.D. Admin. Code 75-02-02.1-05 covers aged, blind and disabled people as categorically needy only if they receive SSI; those who do not are medically needy under (3)(e). The 209(b) SSI-recipient path does not read the gated variable, so North Dakota's SSI recipients are unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…thway Medicaid categories ignore immigration status, and emergency Medicaid needs a category. In the states that cover only SSI recipients, noncitizens cannot receive SSI, so the gate would have removed their emergency Medicaid. Texas MEPD A-2200 covers aliens who meet all SSI criteria except citizenship. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Add a case for an undocumented aged Alabaman who keeps the pathway and qualifies for emergency Medicaid. - Cite 42 U.S.C. 1396b(v)(2)(B) and 42 CFR 435.406(b) for the exception. - Mississippi covered people who do not receive SSI before 2006; date the earlier true value from the fiscal year 1997 annual report. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add 42 U.S.C. 1396b(v) and 42 CFR 435.406(b) to the pathway variable's references, since the immigration exception rests on them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In states that cover aged, blind or disabled people only if they receive SSI, the pathway now reaches only noncitizens who fail the Medicaid immigration test. 42 U.S.C. 1396b(v)(2)(B) waives SSI receipt alone, so their income limit is the SSI federal benefit rate, at or below it. - Add Case 7 (permanent resident in the five-year bar, $12 over the SSI rate) and Case 8 (a couple exactly at the SSI couple rate). - Make the SSI-rate property tests aware of covers_non_ssi_recipients. - Cite 1396b(v), 1382(a) and 42 CFR 440.255(c). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cases 7 and 8 set only the pathway's countable income. With no SSI income, the model paid the full SSI rate and classified the residents as SSI recipients. Social Security that puts SSI countable income at or above the SSI rate keeps them off SSI, as the cases intend. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PavelMakarchuk
left a comment
There was a problem hiding this comment.
Program Review
PR #10361, "Turn off the Medicaid optional aged/disabled pathway in 14 states that cover only SSI recipients" (hua7450). Round 1, full review.
IDs: C = critical, SA = should address, G = suggestion.
Paths: P = policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/covers_non_ssi_recipients.yaml, E = policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_for_medicaid.py, L = policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.py, U = policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py, Y1 = policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_for_medicaid.yaml, PF = policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/federal/cash/ssi/federal.yaml. Line numbers refer to the reviewed head. PDF links use file page numbers.
Source Documents
- Reviewed head SHA: b078376
- Mode: full
- Scope: 8 files, 386 insertions and 9 deletions against the merge base
9ee14cdb43. - Federal: 42 CFR 435.121(a)(1), 435.210, 435.230(c), 435.406(b), 440.255(c); 42 U.S.C. 1396a(m), 1396b(v)(2)(B), 1382(a)(1)(A); 8 U.S.C. 1612(a)(2)(B); POMS SI 02005.020 D.2 and SI 01715.010.
- KFF: June 2024 report, Appendix Tables 1, 5, 6 and 7 (caption numbers read in each chart); 2019 survey (2018 data), Appendix Table 1. Links are in C2.
- PDF: KS SPA KS-25-0019 (pages 22-23, 23 as image); N.D. Admin. Code 75-02-02.1 (pages 10, 11, 89 as images); MD coverage-group guide (pages 12, 14-15); Miss. Code 43-13-115(11) in 2024 HB 464 (page 5); MS Appendix A-4-c (page 3), Section 101.02 (pages 5, 11), FY 1997 report (page 8); NV MAM B-300 (pages 6-7, 14-15); Tenn. 1200-13-20 (pages 73-74); Wyo. ch. 18 (pages 7-8); WV IMM (page 1889).
- Web: Ala. Admin. Code r. 560-X-25-.03; DE DSSM 17000; GA PAMMS 2101, 2111; 907 KAR 20:005; 8.200.400.10 NMAC; ARSD 67:46:01:02; TX MEPD A-2000, A-2100, A-2200, A-3000, D-8500; WY EOM M1005, M1005B, M1005F.
- Repository:
CLAUDE.md:170-181(partner contract tests); the Household API Partners CI log at this head. - Year: target 2026.
Ucovers 2018-2026.
Branch Status
- 9 ahead and 21 behind
main; MERGEABLE. CI ran on the merge withmain(976b409f), so the 21 commits change no finding. - Stacked #10386 (hua7450) already merged this branch, shares all 8 files and depends on this PR. Its review attributes the same Texas partner failure to this PR, so C1 is resolved here. After this PR is squash-merged, merge
maininto #10386 again and keep the immigration exception for every aged, blind or disabled person. T1 (SA1) stays valid there. - #10378 edits the same lines of
LandU: keep both sides. #10373 sharesU(G7). Draft #10394 editsL's reference tuple andis_couple(G6). #10240 and #10374 are ordering dependencies.
What the PR gets right
- The 14 states are right. Each primary source covers aged, blind or disabled people in the community only if they receive SSI, plus narrow groups (Pickle, DAC, DWB, state supplement, institutional, waiver). KFF 2024 and KFF 2018 agree. Keeping West Virginia true is right (IMM 23.11.4).
- The emergency exception is right in law (42 CFR 435.406(b); 42 U.S.C. 1396b(v)(2)(B); TX A-2200). It works per person: in a mixed-status Alabama couple, the citizen loses the pathway and the undocumented spouse keeps emergency Medicaid.
- North Dakota's new limit is right: 75-02-02.1-40(1)(a)(2) sets the ABD level at SSI's (#page=89).
- The code is clean: no hard-coded values, vectorized,
ruffclean, no new cycle.Pfollows its siblings. - The body predicted the partner failure and all five changed pins, and the PR does not edit
PF.
Critical (Must Fix)
C1. CI fails on a partner contract case. This is a partner-facing API change. The model change itself is correct.
- Where: the Household API Partners check;
PF:236-296, casessi_earned_income_at_breakeven_ineligible (federal). The model change isP:148-149(TX: 2018-01-01: false), read atE:28-30andL:62-64. - Evidence: CI reads
medicaid@2026: 0.0 differs from 13708.5. Locally,PFpasses 14 of 14 at the merge base and fails this case at the head; with only Texas set back to true, it passes 14 of 14. It is not the Montana test, which passes at this head. - The household: a citizen aged 65 in Dallas County, Texas, with $24,876 of wages. SSI countable income equals the SSI rate, so
ssiis 0. The case's comment (PF:285-288) credits Medicaid to "TX's optional senior-or-disabled pathway". At the head:
| Output | Contract pin | Head |
|---|---|---|
medicaid |
13,708.50 | 0 |
is_medicaid_eligible |
true | false |
is_aca_ptc_eligible |
false | true |
aca_ptc, premium_tax_credit |
0 | 18,344.29 |
CI stops at the first mismatch, so it shows only medicaid. The other seven pins do not change.
- The new value is correct. TX MEPD A-2000 has no mandatory group for this person. A-3000 says HHSC "only provides benefits" to its listed optional groups, and none covers a community resident who does not receive SSI. POMS SI 02005.020 D.2 says "eligible but not payable" status "does not qualify automatically for Medicaid".
- Why critical: CI fails because of this PR.
- Fix (process, not code). No ready-to-paste edit of
PFis given.- Do not rewrite the expected values in
PFjust to make CI pass (CLAUDE.md:172). - Before anyone edits
PF, the author flags the partner-facing change for the team (@PavelMakarchuk and @MaxGhenis). A team member must be notified, and the API partner must be notified. The body describes the change but does not say that anyone has been told. - Then the edit goes through the repo's partner-test gate (
CLAUDE.md:174-181) on this PR. - For the partner: the new credit follows from the case's inputs
is_medicare_eligible: falseandis_aca_eshi_eligible: false. A real 65-year-old with enough work quarters would have premium-free Part A and no credit. That is the case's input choice, not an effect of this PR.
- Do not rewrite the expected values in
C2. P cites KFF's June 2024 "Appendix Table 1", which is a different table.
- Where:
P:13-14, and the body's "Sources" paragraph. - Evidence: in the June 2024 report, Appendix Table 1 is "Selected Policies for Enrollment as of June 2024". The pathway table is Appendix Table 5: its 100% FPL column is "No" for all 14 states and WV. Table 6 gives their SSI-level limits. The order is the same in Wayback captures from 2024-07-19 and 2025-05-21. "Appendix Table 1" is the pathway table's number in KFF's 2019 survey (2018 data).
- Why critical: an incorrect citation; Table 1 has nothing on pathways. The value is right.
- Fix (loads on a package copy at the head; TX stays false, WV true). Replace
P:13-14. The second entry is optional and closes G3:
- title: KFF, Medicaid Eligibility and Enrollment Policies for Seniors and People with Disabilities (Non-MAGI) During the Unwinding (June 2024), Appendix Tables 5 and 6
href: https://www.kff.org/report-section/medicaid-eligibility-and-enrollment-policies-for-seniors-and-people-with-disabilities-non-magi-during-the-unwinding-appendix/
- title: "KFF, Medicaid Financial Eligibility for Seniors and People with Disabilities: Findings from a 50-State Survey (June 2019, 2018 data), Appendix Table 1"
href: https://www.kff.org/report-section/medicaid-financial-eligibility-for-seniors-and-people-with-disabilities-findings-from-a-50-state-survey-appendix-tables/Make the same change in the body.
Should Address
SA1. No test pins 11 of the 14 flags, West Virginia's flag or North Dakota's new limit.
- Where:
P:57-164. Only AL, MD, ND and PA have a case that reads the flag.Upins the two analogous lists but not this one. - Evidence: one mutant sets the 10 untested false states back to true, sets WV false, keeps MS true through 2026 and keeps 0.75 of the guideline for ND. It passes the 30 changed YAML cases,
U(81),gov/hhs/medicaid(703) and 29 other baseline files with Medicaid-dependent outputs in these states (385). Only the partner case catches Texas. - Why should address: missing edge cases for variables that already have tests. ND's limit moves eligibility both ways (G1).
- Fix (run at the head:
Uwith T1, 108 passed; T1 fails on every flag and limit mutant). Append toU:
# States whose rules cover aged, blind, or disabled people as categorically
# needy only if they receive SSI (cited in covers_non_ssi_recipients.yaml).
SSI_ONLY_STATES = sorted(
["AL", "DE", "GA", "KS", "KY", "MD", "MS", "ND", "NM", "NV", "SD", "TN", "TX", "WY"]
)
@pytest.mark.parametrize("year", YEARS)
def test_ssi_only_states_match_their_rules(year):
flags = SYSTEM.parameters(
f"{year}-01-01"
).gov.hhs.medicaid.eligibility.categories.senior_or_disabled.covers_non_ssi_recipients
assert sorted(state for state in STATES if not flags[state]) == SSI_ONLY_STATES
@pytest.mark.parametrize("couple", [False, True])
@pytest.mark.parametrize("year", YEARS)
def test_ssi_only_states_use_the_ssi_rate(year, couple):
simulation = unit_simulation(year, SSI_ONLY_STATES, couple)
limit = simulation.calculate(
"medicaid_optional_senior_or_disabled_income_limit", year
)
individual, couple_rate = SSA_MONTHLY_RATES[year]
np.testing.assert_array_equal(limit, 12 * (couple_rate if couple else individual))SA2. No case tests what the emergency exception keys on.
- Where:
E:27-30. The exception keys on failing the Medicaid immigration test.Y1Cases 6-8 all fail it, so no case separates it from "any noncitizen". - Evidence: a mutant that keeps the pathway for every noncitizen passes the 30 changed cases,
emergency_medicaid(56),Uandgov/hhs/medicaid. - Law: a permanent resident past the five-year bar without 40 quarters gets no SSI (8 U.S.C. 1612(a)(2)(B)) and is outside 42 CFR 435.406(b). The body says these people lose the pathway; no test shows it.
- Why should address: a missing edge case.
- Fix (run at the head: 1 passed; it fails on the mutant). Append to
Y1after line 151. It stays valid after #10240 (countable income $10,560):
# A permanent resident ten years after entry is past the five-year bar, so
# passes the Medicaid immigration test, but with no qualifying quarters fails
# SSI's noncitizen test (8 U.S.C. 1612(a)(2)(B)) and gets no SSI. Alabama has
# no group for aged people who do not receive SSI, and the emergency Medicaid
# exception does not reach someone who passes the Medicaid immigration test.
- name: Case 9, Alabaman permanent resident past the five-year bar without 40 quarters does not keep the pathway.
period: 2026
input:
age: 70
state_code: AL
immigration_status: LEGAL_PERMANENT_RESIDENT
years_since_us_entry: 10
ssi_qualifying_quarters_earnings: 0
social_security_retirement: 10_800
output:
is_medicaid_immigration_status_eligible: true
ssi: 0
is_optional_senior_or_disabled_income_eligible: true
is_optional_senior_or_disabled_for_medicaid: false
medicaid_category: NONE
is_medicaid_eligible: false
is_emergency_medicaid_eligible: falseSuggestions
G1. North Dakota's 209(b) recipients change in both directions, but the body lists them under "Unchanged".
- Where:
L:54-64(the citation is only in the comment atL:58-59); the body's "Unchanged" and "$42 a year". - Evidence: a 2026 ND probe with
receives_ssitrue. A couple with $17,000 of pathway income: limit $16,230 to $17,892,is_ssi_recipient_for_medicaidfalse to true. A single person with $11,950: limit $11,970 to $11,928, true to false. - Why a suggestion: both directions follow 75-02-02.1-40(1)(a)(2); only the documentation is short.
- Fix (a reference string; not run): add at the end of
L's reference tuple (skip if #10373 merges first with this citation):
"https://www.ndlegis.gov/information/acdata/pdf/75-02-02.1.pdf#page=89",In the body, move these recipients to "What changes": "In 2026 their individual limit falls from $11,970 to $11,928 and their couple limit rises from $16,230 to $17,892." Next to "$42 a year", add that the couple limit rises by $1,662 for the people it still reaches.
G2. Two sibling descriptions are now stale.
- Where:
income/limit/individual.yaml:1andincome/limit/couple.yaml:1, inP's folder. - Evidence: both say SSI-rate states "are listed in uses_ssi_federal_benefit_rate and omitted here". The 14 states now use the SSI rate through
covers_non_ssi_recipients, and their 0.75 entries apply only if a reform sets the flag to true. - Fix (text only), in
individual.yaml; use "a couple" incouple.yaml:
description: Maximum countable income limit for an individual to qualify for Medicaid under the optional senior or disabled pathway, as percent of Federal Poverty Line. States whose limit is the SSI federal benefit rate are listed in uses_ssi_federal_benefit_rate and omitted here; states where covers_non_ssi_recipients is false also use that rate, and their values here apply only if that flag is true.G3. Six states' early years rest on KFF only.
- Where:
P:78-79(GA),P:90-91(KS),P:98-99(MD),P:128-129(NV),P:148-149(TX),P:163-164(WY). - Evidence: the primary sources start later (KS 2025-07-01, GA 2023-11, MD 2025-04, NV 2025-03, TX 2022-09-01, WY chapter 18 2025-05-23). KFF 2018 and 2024 both say "No", so the value is not in doubt.
- Fix: the optional second entry in C2. A KS source before 2025-07-01 would be better.
G4. P's description is broader than the law.
- Where:
P:1. - Evidence: all 14 states cover some non-recipients as categorically needy: Pickle, DAC, DWB, state-supplement-only (DE 17800 MAT, MD S01) and NM Cat. 074(b). "Under the ... pathway" limits the scope, so the text is not wrong.
- Fix (text only):
description: The state covers the optional Medicaid group for aged, blind, or disabled people who meet SSI's income and resource requirements without receiving SSI (42 CFR 435.210), or the poverty-level aged and disabled group (42 U.S.C. 1396a(m)), if this is true.G5. The West Virginia anchor will move.
- Where:
P:55-56, and the body's WV links. - Evidence: the URL serves the current IMM; 23.11.4 is on file page 1889 of the October 5, 2026 build.
- Fix (text only):
- title: West Virginia Income Maintenance Manual 23.11.4 - SSI-Related/Non-Cash Assistance (October 5, 2026 edition)
href: https://bfa.wv.gov/media/40005/download?inline#page=1889G6. The merge-order list omits draft #10394.
- Evidence: #10394 adds a WV URL to
L's reference tuple and a WVis_coupleoverride aboveL:29. - Fix (body): "#10394 (draft) edits the reference tuple and the
is_coupleline ofmedicaid_optional_senior_or_disabled_income_limit.py. Keep both sides."
G7. The covers mask in U does nothing in this PR.
- Where:
U:197-204andU:231-238. All seven grid states are true; the mask matters once #10373 adds ND. - Fix (comment only), replace
U:197-198:
# States without a group for people who do not receive SSI give the
# pathway to nobody in this citizen grid. All seven states here have the
# group; the mask matters once North Dakota joins the grid (#10373).G8. The microsimulation effect is large and is not in the body.
- Evidence: 2026, certified default dataset (
populace_us_2024.h5), head against the pre-PR model. 699k people loseis_medicaid_eligiblein the 14 states (TX 289k, TN 110k, AL 93k); 180k move to medically needy. Medicaid falls by $22.88bn; the ACA PTC rises by $0.52bn. 695k of the 699k do not take up SSI, and only 4.4k reported Medicaid at the CPS interview. - Why a suggestion: no biased default was found, and the change moves the model toward the reported data. The base is 158 records, so the state split is noisy.
- Fix: replace "The microsimulation impact was not run" with these numbers and their dependence on SSI take-up.
G9. The Case 6 comment implies an income test that does not bind yet.
- Where:
Y1:63-64. At the head, the pathway counts no income for this person: $9,600 and $60,000 of wages give the same result. - Fix (comment only), replace
Y1:63-64:
# In Alabama that leaves SSI's income test. Wages of $800 a month ($9,600 a
# year) are under the SSI rate ($11,928) before any disregard. Until #10240
# merges, the pathway counts no income for this person; Cases 7 and 8 test it.G10. covers_group has two meanings.
- Where:
E:28-30(flag or failed immigration test) andL:63(the bare flag). - Fix (a rename; not run): rename it in
Etoin_covered_group(E:28,E:36). Aftermake format,E:36reads:
return (
in_covered_group & is_senior_or_disabled & income_eligible & asset_eligible
)Investigated and cleared
- Body, "Unchanged". SSI recipients stay
SSI_RECIPIENTand Medicaid-eligible (probe in AL, KS, NV, TX and MS, 2018, 2022, 2026). The flag is false in exactly the 14 states. Countable income, disregards and asset limits are not in the diff. Among SSI recipients, only ND's 209(b) recipients move (G1). - Body, "$42 a year". Correct for an individual in 2026. The couple limit moves the other way (G1).
- Body, "CI hasn't run on this draft". Stale: the PR is no longer a draft, CI ran (1 fail, 32 pass), and the five pins "traced ... (not run)" now match a run.
- Montana Hypothesis test. Not involved; all six Python shards pass.
- KFF completeness. Of KFF 2024's 23 "No" states, the other 9 are covered by #9735, #10378 and #10373.
- Dates. Values backfill to 2015, so
MS: 1996-07-01: trueis inert and no mid-year boundary needs a test. - Readers.
medicaid_groupkeeps exception noncitizens at NONE. Opening the Healthier Mississippi Waiver agrees with 43-13-115(11). Medically needy effects match KFF 2024 Appendix Table 7. - Changelog. Top-level
.fixed.md, named after the branch. axiom:line (process note, not counted). rulespec-us#1927 is open, labeledpe-parity, and names this PR.
Out of scope / follow-up
- Exception group assets. SSI's income test but the state's asset test (DE $4,000 before 2024, ND $3,000). Very small effect.
- #10240. Until it merges, people who fail SSI's noncitizen test have pathway income 0.
- #10374. Until it merges, about 2k North Dakotans who leave the pathway get no category.
- Not modeled. DE MAT and NM Cat. 074(b) could join GA and NV under "Not changed here". NV and NM medically needy
-inflimits are pre-existing.
Validation Summary
| Check | Result |
|---|---|
| CI | 1 fail (Household API Partners, C1), 32 pass |
| Local tests | Changed YAML 30/30; U 81/81; gov/hhs/medicaid 703; ruff clean |
| Partner tests | None edited. PF 13 pass, 1 fail (C1). Healthcare and cash_health 78/78 |
| References | 26 checked; 1 does not corroborate (C2); WV anchor (G5) |
| Regulatory | 14 states, WV, emergency exception, ND limit correct |
| Mutation | 15 mutants: 8 killed; 7 survive, all killed by T1 or T2 |
| Proposed tests | U + T1 108/108; T2 1/1 |
| Microsimulation | 699k lose eligibility; −$22.88bn Medicaid (G8) |
| Branch | 9 ahead / 21 behind; MERGEABLE; #10386 stacked |
| Other reviews | None |
Review Severity: REQUEST_CHANGES
C1, C2, SA1 and SA2 are open; under Pavel's criteria any open C or SA item means REQUEST_CHANGES.
Next Steps
To auto-fix issues: run the fix-pr workflow for this PR.
- C1 is not an auto-fix item. Do not edit
PF. The author flags the change for @PavelMakarchuk and @MaxGhenis, a team member and the API partner are notified, and then the edit goes through the gate (CLAUDE.md:174-181). - Retitle the KFF reference at
P:13-14and in the body (C2). - Append T1 to
U(SA1) and Case 9 toY1(SA2). - Take the suggestions that you agree with.
- Run
make format, thenU,Y1andgov/hhs/medicaid. - Update the body: the CI sentence, ND (G1), #10394 (G6), microsimulation (G8).
- After this PR merges, merge
maininto #10386 again.
- C2/G3: cite KFF June 2024 Appendix Tables 5 and 6 and the 2019 survey's Appendix Table 1 instead of the 2024 Appendix Table 1. - SA1: property tests pin the 14 states' flags (and so West Virginia's) and their SSI-rate limit, including North Dakota's. - SA2: Case 9, a permanent resident past the five-year bar without 40 quarters, passes the Medicaid immigration test and loses the pathway. - G1: cite N.D. Admin. Code 75-02-02.1-40 in the limit's references. - G2, G4, G5, G7, G9: clarify descriptions, the WV edition and comments. - G10: rename covers_group to in_covered_group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, @PavelMakarchuk. All items are addressed at 45d7868 except C1, which waits for @hua7450's partner-test decision. The branch also merges
Noted as follow-ups, not in this PR:
Merge order is in the body:
TheAxiomFoundation/rulespec-us#1927 is updated to this head. |
Brings in main's CI fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
At the earned-income break-even the person gets $0 SSI, so is not an SSI recipient. Texas has no optional Medicaid group for aged, blind or disabled people who do not receive SSI (MEPD A-3000), so Medicaid is $0 and the premium tax credit applies at 158% FPL ($18,344.29). Approved by Ziming Hua (@hua7450) through the partner-test gate on 2026-10-27. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Partner-test gate: I answered the three questions from
This comment records my approval of the edit in
The other pins are unchanged. Model change and law
|
Part of #9734 (step 1, the states that cover only SSI recipients). #9735 fixed the seven states whose standard is the SSI rate.
What changes
is_optional_senior_or_disabled_for_medicaidcovers aged, blind and disabled people who don't receive SSI, up to the state'ssenior_or_disabled.income.limit. That limit is 0.75 of the poverty guideline in 14 states whose rules have no such group. They cover aged, blind and disabled people as categorically needy only if they receive SSI (or a state supplement): Alabama, Delaware, Georgia, Kansas, Kentucky, Maryland, Mississippi, Nevada, New Mexico, North Dakota, South Dakota, Tennessee, Texas and Wyoming.gov.hhs.medicaid.eligibility.categories.senior_or_disabled.covers_non_ssi_recipients, by state. It is false for the 14 states and true elsewhere.senior_or_disabledparameters.income/andassets/.is_optional_senior_or_disabled_for_medicaidnow requires the flag for people who pass the Medicaid immigration test.medicaid_categoryignores immigration status, and emergency Medicaid (is_emergency_medicaid_eligible) needs a category. Without this exception, undocumented aged or disabled people in the 14 states would lose emergency Medicaid.medicaid_optional_senior_or_disabled_income_limituses the SSI rate wherevercovers_non_ssi_recipientsis false, andrequires_income_below_limitstays false.medicaid_optional_senior_or_disabled_countable_incomecounts no income until Count income of aged, blind, or disabled people who fail SSI's noncitizen test #10240 merges, so they qualify at any income until then, as on main.is_209b_ssi_recipient_income_eligible_for_medicaidreads the same limit, so theirs becomes the SSI rate too. That is North Dakota's level (N.D.A.C. 75-02-02.1-40(1)(a)(2), page 89), the change Use the SSI rate as the Medicaid aged/disabled income limit in West Virginia and North Dakota #10373 makes. In 2026 their individual limit falls from $11,970 to $11,928 and their couple limit rises from $16,230 to $17,892, so eligibility moves both ways (for example, a couple with $17,000 now qualifies; a single person with $11,950 no longer does).This removes Medicaid from SSI-eligible people who don't take up SSI in these 14 states, so microsimulation results change. Noncitizens there who pass Medicaid's immigration test but fail SSI's (for example, a permanent resident past the five-year bar without 40 quarters) lose the pathway the same way. It also closes the band between the SSI rate and 0.75 of the guideline ($42 a year in 2026). For the people the pathway still reaches in these states (noncitizens kept for emergency Medicaid, and North Dakota's 209(b) recipients), the couple limit rises by $1,662, from $16,230 to $17,892. People in that band can get Medicaid only through medically needy coverage, where the state has it and they spend down to its limit.
Unchanged:
is_209b_ssi_recipient_income_eligible_for_medicaid, which readsis_optional_senior_or_disabled_income_eligible, not the gated variable, so the flag doesn't gate them (their limit changes; see above). None of the other 13 states is a 209(b) state.is_ssi_recipient_for_medicaid(ssi > 0orreceives_ssi) still covers them.West Virginia is not included
Issue 9734 lists West Virginia as covering only SSI recipients, but its current Income Maintenance Manual has the group:
So West Virginia stays true and keeps today's 0.75 limit here. #10373 sets West Virginia's limit to the SSI rate with an at-or-below test (42 U.S.C. 1382(a)(1)(A); IMM § 4.14.3 Step 5), recording § 23.11.4's "under" as a source-conflict candidate.
Sources
Each was read on 2026-10-21.
The parameter also cites 42 CFR 435.210, 42 U.S.C. 1396a(m), KFF's June 2024 report (Appendix Tables 5 and 6: the poverty-level column is
Nofor all 14 states and West Virginia, and Table 6 gives their SSI-level limits), and KFF's 2019 survey of 2018 data (Appendix Table 1), which also saysNoand supports the years before the state sources' current editions.Readers checked
medicaid_categoryMEDICALLY_NEEDYorNONE.is_medically_needy_for_medicaidnot_in_other_pathwaysums thecoveredcategories, so the pathway no longer blocks medically needy coverage. The effect differs by state:• GA, KS, KY and MD have finite medically needy limits for aged and disabled people in the model, so people there can now spend down to them.
• ND's medically needy group is switched off in the model today. #10374 switches it on (83% of the guideline, then 90% from 2024-01-01), so until then North Dakotans who leave the pathway get no category.
• NV and NM have the medically needy flags on but
-inflimits, so nobody qualifies.• AL, DE, MS, SD, TN, TX and WY have no aged or disabled medically needy group.
Medically needy parameters are unchanged; the KS limit is being fixed under #10357 and #10358.
medicaid_groupMEDICALLY_NEEDYstayAGED_DISABLED.ms_hmw_other_coverage_ineligible(Healthier Mississippi Waiver)is_209b_ssi_recipient_for_medicaidis_qi_eligiblereadsis_medicaid_eligible, but QI starts at 120% of the guideline, above everyone affected. No other MSP variable reads the pathway.is_medicaid_eligible/medicaid_enrolledreadersTests
is_optional_senior_or_disabled_for_medicaid.yamlmedicaid_categoryisNONE.SENIOR_OR_DISABLED.medicaid_categoryisSENIOR_OR_DISABLED,is_medicaid_eligibleis false andis_emergency_medicaid_eligibleis true. The wages are under the $11,928 limit before any disregard, so the case holds after Count income of aged, blind, or disabled people who fail SSI's noncitizen test #10240 too.NONEand no emergency Medicaid despite an emergency condition.SENIOR_OR_DISABLED); emergency Medicaid only for the spouse with an emergency condition.NONE, no emergency Medicaid. This separates "fails the Medicaid immigration test" from "any noncitizen".tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py:test_ssi_only_states_match_their_rulespins the 14 false flags (and so West Virginia's true one) for 2018 to 2026, andtest_ssi_only_states_use_the_ssi_ratepins their SSI-rate limit, including North Dakota's, for an individual and a couple. The SSI-rate property tests also readcovers_non_ssi_recipients.test_no_medicaid_without_ssi_above_the_ssi_rateexpects the pathway only where the state covers the group, andtest_unflagged_states_keep_their_share_of_the_poverty_guidelineskips the 14 states, which now use the SSI rate.medicaid_category.yamlSSI_RECIPIENT.MEDICALLY_NEEDY(limit $350 a month).ms/dom/hmw/integration.yaml, Case 7: renamed. The old name said the person was "eligible under standard optional ABD Medicaid", which Mississippi no longer has in the model. The person receives SSI, so the case now also assertsis_ssi_recipient_for_medicaid: true; its other expected values are unchanged.gov/hhs/medicaid(batched): all passed. This includesemergency_medicaid/integration.yamlCase 20, an undocumented disabled Texan with an emergency, which failed before the immigration exception.tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py,tests/core/test_ssi_state_supplement_medicaid_dependency.py,test_parameter_files.pyandtests/code_health: 537 passed, 1 skipped (run before the immigration exception).cash/ssi/federal.yaml: 13 passed, plus the expected failure below (medicaid@20260.0 vs 13,708.5).Partner test impact
partners/analytics_coverage/edge_cases/federal/cash/ssi/federal.yaml, casessi_earned_income_at_breakeven_ineligible (federal), changes. It is a 65-year-old citizen in Dallas County, Texas, with $24,876 of wages. SSI countable income equals the SSI rate ($11,928), sossiis 0. Its comment attributes the Medicaid to "TX's optional senior-or-disabled pathway", the $42 band above. Texas covers only SSI recipients (MEPD A-2000), and its optional groups are institutional, waiver and buy-in groups (MEPD A-3000), so the person has no Medicaid after this PR.Partner-facing change, approved. This changes what the API returns to a partner. @hua7450 approved the edit through the partner-test gate in
CLAUDE.mdon 2026-10-27: yes to editing the file, a team member has been told, and the API partner has been told (recorded in a PR comment).b5e2f0256cupdates the case's five changed pins and its comments.Before the edit, CI failed on this case with
medicaid@2026: 0.0 differs from 13708.5; the runner stops at a case's first mismatch, so it showed onlymedicaid. The five pins that change (a reviewer's run reproduced them, and a run at4f631a56a6gave the same values):medicaidis_medicaid_eligibleis_aca_ptc_eligibleaca_ptcpremium_tax_creditThe premium tax credit:
aca_magi_fraction). That is between 1.00 and 4.00, and the case setsis_medicare_eligibleandis_aca_eshi_eligiblefalse, so with Medicaid goneis_aca_ptc_eligibleis true.premium_tax_credittakes the same amount.is_medicare_eligible: falseandis_aca_eshi_eligible: false. A real 65-year-old with enough work quarters would have premium-free Part A and no credit.Unchanged pins:
ssi_countable_income11,928,ssi0,is_ssi_eligibletrue,is_ssi_agedtrue,msp0,msp_eligiblefalse andchip0.Merge order
tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py. Use the SSI rate as the Medicaid aged/disabled income limit in West Virginia and North Dakota #10373's property test needs the covers-aware check added here: merged without it,test_no_medicaid_without_ssi_above_the_ssi_ratefails for North Dakota in every year. Use the SSI rate as the Medicaid aged/disabled income limit in West Virginia and North Dakota #10373 also changes North Dakota's limit for exception-group noncitizens and 209(b) recipients; after this PR both already use the SSI rate, so the value doesn't change.is_optional_senior_or_disabled_for_medicaid.py(references and thein_covered_grouprename) and its YAML (Cases 6 to 9) since. It needs this head merged in. When resolving, keep the immigration exception for every aged, blind or disabled person, not only Arkansas's aged-only group. After this PR is squash-merged, merging main into Limit Arkansas's Medicaid aged, blind and disabled pathway to aged people, and apply Maine's savings exclusion and couple disregard #10386 conflicts again in those two files.medicaid_optional_senior_or_disabled_income_limit.py(the end of the reference tuple, theuses_ssi_rateline and the finalselect) and of the property test. Keep both sides: this PR'ssets_ssi_rate | ~covers_groupand Use state dollar standards for the Medicaid aged, blind and disabled income limit in AK, ID, NH, VT and WI #10378's state-standard branch.is_coupleline ofmedicaid_optional_senior_or_disabled_income_limit.py. Keep both sides.Not changed here
populace_us_2024.h5, this PR against the pre-PR model; I did not rerun it): 699k people loseis_medicaid_eligiblein the 14 states (Texas 289k, Tennessee 110k, Alabama 93k), and 180k of them move to medically needy coverage. Medicaid falls by $22.88bn and the ACA premium tax credit rises by $0.52bn. 695k of the 699k don't take up SSI in the model, so the size depends on SSI take-up; only 4.4k of them reported Medicaid in the CPS. The base is 158 records, so the state split is noisy.axiom: TheAxiomFoundation/rulespec-us#1927 queued
🤖 Generated with Claude Code