Repository navigation
Conversation
… in MSP Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A spouse who is aged, blind or disabled but not eligible for SSI is an ineligible spouse (20 CFR 416.1801(c), 416.1160(d)), so child allocations and the rate difference in 416.1163 decide whether their income counts. A person tested alone now gets the one-person guideline, month by month. Illinois gives one $25 when only one spouse is on Medicare (PM 15-04-03-a). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Apply SSI's spouse rules to Medicare Savings Programs when only one spouse is on MedicareSummaryThe PR replaces the marital-unit sums in One rule is missing. SSI deeming can never leave a person better off than their own income would (20 CFR 416.1163(e)(2)). With the new one-person guideline, deeming now raises tiers: from QI to SLMB in the PR's own Case 32, and from no tier to QI for a person with up to about $2,218 of countable income and a spouse who earns just over $497. Mutation runs also show that three new terms are unpinned. One question about the eligible-couple row needs to be recorded and ruled on. Critical (must fix)1. Deeming a spouse's income can raise the person's tier, which SSI methodology forbids ( 20 CFR 416.1163(e)(2) (eCFR): "Your SSI benefit under the deeming rules cannot be higher than it would be if deeming did not apply. Therefore, your benefit is the lesser of the amount computed under the rules in paragraph (d)(2) of this section or the amount remaining after we subtract only your own countable income from an individual's Federal benefit rate." POMS SI 01320.400 (link) says the same: the couple-computation payment "is compared to the amount the individual is due based on their own income in the budget month; the lesser amount is the payment due." 42 U.S.C. 1396d(p)(1)(B) brings that methodology into the MSPs. Texas, the state in the PR's examples, builds it into its MSP spouse-to-spouse test as a pretest (MEPD Handbook Appendix XXIX, Rev. 26-2): "Person must first be eligible based on their own income in the pretest." It continues: "If eligible on individual pretest for QMB but not eligible for QMB in the special deeming eligibility test, re-budget for SLMB or QI-1 if applicable. The minimum income requirement for SLMB or QI-1 does not apply when the applicant is ineligible due to deeming." The PR tests a deemed person only on the combined income against the two-person guideline, and never against their own income and the one-person guideline. Before this PR every married person used the two-person guideline, so the cliff couldn't arise. Now it can, and the PR body says so ("a dollar of spouse income can also raise the tier"):
Fix: when the spouse's income is deemed (the deeming row, not a combined couple), make the person's tier the less generous of two results. The first is the tier from their own countable income against the one-person limits, which Should address1. Two new guards in the eligible-couple test are unpinned ( I ran mutations against
2. Child allocations from the spouse's earned income are unpinned ( 20 CFR 416.1163(b)(3): "We first deduct the allocations from your ineligible spouse's unearned income. If your ineligible spouse does not have enough unearned income to cover the allocations we deduct the balance from your ineligible spouse's earned income." Replacing 3. The eligible-couple row for a couple with only one spouse on Medicare reads sources that disagree, and this reading isn't recorded ( The PR combines an eligible SSI couple's income, and uses the two-person guideline, even when only one spouse is on Medicare. It reads "eligible" in 20 CFR 416.1801(c) as eligible for SSI. Two sources read the couple standard differently:
Under either reading, Case 26 (TX) tests A alone: $1,380 against the one-person guideline, so SLMB. The PR gives QMB on the two-person guideline, and its own comment in that case says so. The ruled candidate Suggestions
Verified correct
Axiom line assessment
CI statusAll 34 checks pass at head Branch statusThe branch is 87 commits behind main and 4 ahead, two of them merges. Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes: 1 critical (deeming a spouse's income can raise a person's MSP tier, which 20 CFR 416.1163(e)(2), POMS SI 01320.400 and the Texas MEPD pretest forbid; e.g. own income $2,080 alone gives no tier but a spouse earning $500 gives QI; take the less generous of the own-income one-person tier and the deemed two-person tier), 3 should (two eligible-couple guards and the child allocation are unpinned; an unrecorded source conflict on combining income when only one spouse is on Medicare). The #10632 prerequisite holds. Full report in the comment above.
Fixes #10628
What and why
On main,
msp_countable_incomecombines spouses' income only when both are on Medicare, and deems income only from a spouse who is not aged, blind or disabled (ABD). An ABD spouse not yet on Medicare fits neither branch, so none of their income counts, whilemsp_fpgstill returns the two-person guideline.42 USC 1396d(p)(1)(B) measures income "as determined under section 1382a of this title for purposes of the supplemental security income program". This PR applies SSI's spouse rules when only one spouse is on Medicare. The new variable
msp_tests_as_couple(Person, month) decides whether a person tests as a couple, andmsp_countable_incomeandmsp_fpgboth read it. The new helper module_msp_spouse_income.pyholds their shared spouse calculations.msp_fpgis now MONTH-defined and returns the monthly amount, because a facility stay can change the guideline within a year. The PR adds no parameters.The first matching row applies, separately for each person, whether or not that person is on Medicare or ABD:
ssi_couple_computation_applies, anduncapped_ssi > 0for both spousesssi_claim_is_jointwithoutssi_couple_computation_appliesSpouse A is 68 and on Medicare in Texas in 2026. Amounts are monthly. QMB, SLMB and QI limits are $1,803.33, $2,164 and $2,434.50 for two people, and $1,330, $1,596 and $1,795.50 for one. On main, each of these couples uses the two-person guideline.
The "before" values in the first two rows come from the run on main in #10628, and the others from reading main's code.
Some couples now test on one person's income and guideline, which lowers their limits, as in rows 4 and 5. At the rate difference, a dollar of spouse income can also raise the tier. With A at $1,680, a spouse at $497 gives $1,660 on one-person limits (QI), and a spouse at $498 gives $2,158 on two-person limits (SLMB), because the income rises by $498 and the 120% limit rises by $568.
A spouse in a facility stays separate unless both spouses are on Medicare. In that case the model still tests them together, against 20 CFR 416.414(b)(3): $2,480 and the two-person guideline for spouses with $1,000 and $1,500.
The spouse now comes from
_ssi_spouse_index. Couples on Medicare with declared marital units keep their results. When a situation omits marital units, a child's wages no longer join a couple's combined income: spouses on Medicare with $1,000 and $500 and a teen with wages get $1,480, the two-person guideline and QMB.Source conflicts:
us:msp-eligible-spouse-ssi-definition). 42 USC 1382c(b) defines an eligible spouse as "an aged, blind, or disabled individual who is the husband or wife of another aged, blind, or disabled individual", and (f)(1) deems income from a spouse who "is not an eligible spouse". 20 CFR 416.1801(c) defines an eligible spouse as a person "Who is eligible for SSI", 20 CFR 416.1160(d) defines an ineligible spouse as someone who "is not eligible for SSI benefits", and POMS SI 00501.154 A.1 applies couple computation rules if "each is eligible for benefits". The model follows the regulations for these programs. The statute's reading would give $2,480 and no tier in row 3, and $2,130 and SLMB in row 4. Ruled by the project lead, 2026-11-02.us-il:msp-exemption-applicant-without-income). PM 15-04-03-a says: "If the person applying for or receiving AABD Medical has no income other than SSI or contributions, and another person included in the standard has income, deduct one $25 exemption". 89 Ill. Adm. Code 120.335(a)(1) exempts "the first $25.00 of a client's earned or unearned income other than SSI income, or contributions from a spouse or other individual" and is silent on a spouse's income. PM 06-12-01-c says: "A client is eligible for no more than one income exemption for their own income". The model follows PM 15-04-03-a: one $25 when only one spouse is on Medicare, including a spouse with no income of their own, and one $25 each, capped at each spouse's income, when both are. A 68-year-old with no income and a disabled spouse with $1,825 counts $1,800 and gets QMB, where the SSI $20 would leave $1,805 and SLMB. Ruled by the project lead, 2026-11-02.Related PRs and issues:
msp_countable_income.yamlCase 28. With this PR that household gives $2,480 and no tier, whether or not that PR has merged. A combined check of this head with that PR's head passed all 62 values inmsp_countable_income.yaml.msp_fpgno longer readsspm_unit_is_married, so an unmarried person with declared marital units in a married couple's SPM unit gets the one-person guideline. Its asset half remains:msp_asset_eligiblestill reads that flag, so a person tested alone on income still faces the couple's combined resources and couple limit.is_ssi_ineligible_spouseandssi_couple_computation_appliesstill classify by ABD status, and that issue names non-takeup and immigration bars but not income above the couple rate.msp_tests_as_couplereadsssi_couple_computation_appliesandssi_claim_is_joint, so a change there can change the eligible-couple and facility rows.Limits:
axesrun on that household gives the same $2,064.17 and two-person guideline, because_ssi_spouse_indexrules out a parent and claimed child only when the simulation has one marital unit. On main, by code trace, this household and the one above give $1,680 and one-person.ssi_marital_earned_incomesums the whole marital unit, souncapped_ssicounts the child._ssi_spouse_indexaccepts the head and spouse that tax roles infer, and those roles treat the next-oldest adult as the spouse. A parent, 70, with $1,700 and an adult child, 40, with $30,000 of wages gets $2,897.50 and two-person, against $1,680 and one-person with declared units. A widow, 92, living with a couple, 50 and 48, pairs with the 50-year-old. Two unrelated people on Medicare combine. On main, by code trace, these adults pair too.ssi_claim_is_jointneeds a head or spouse. The deeming row has no such check, so a spouse's income above the rate difference counts._ssi_spouse_indexnow runs for each month inmsp_countable_incomeandmsp_tests_as_couple. Microsimulation time was not measured.Test plan
msp_countable_income.yamlCases 21-33 andmsp_fpg.yamlCases 3-4, with expected values worked by hand from the sources above. They cover each row of the first table, allocations for ineligible children, both sides of the $497 rate difference, Illinois's exemption on the deemed and eligible-couple paths, a spouse entering a facility mid-year, a mixed-status couple (Case 28) and a parent and minor with omitted marital units (Case 30).msp_tests_as_couplehas no test file of its own;msp_fpgfollows it one to one, so those assertions pin it.msp_countable_income.yamlCase 15 person2 goes from $1,205 to $1,792.50, and Case 20 person2 from $790.83 to $1,780.83. Each now has the other spouse's income deemed. Neither is on Medicare, so no tier changes.msp_fpg.yamlCase 2 now has two people on Medicare in a marital unit, becausemsp_fpgno longer readsspm_unit_is_married.integration.yamlchanges comments only.source_conflicts/candidates.yamlwithstate: ruled. The# Source conflictmarkers wait for the register entries on rulespec-usmain.make format(ruff format on the changed variables)changelog.d/Test suites were not run locally; CI validates. Values were checked by hand and in one process per case.
axiom: TheAxiomFoundation/rulespec-us#2010 queued
🤖 Generated with Claude Code