From 8ee352801fd3b66c2e0bbb627a39d769f458f33e Mon Sep 17 00:00:00 2001 From: Ziming Date: Wed, 21 Oct 2026 17:25:10 -0400 Subject: [PATCH 1/4] Use the SSI rate as West Virginia's Medicaid aged/disabled income limit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit West Virginia's SSI-Related/Non-Cash Assistance group (IMM § 23.11.4) covers aged, blind, and disabled people whose countable income is within the SSI Maximum Payment level (Chapter 4 Appendix A: $994 / $1,491 in 2026), not 75% of the poverty guideline. Income equal to the level qualifies, following § 4.14.3 Step 5 and SSI's "not more than" test. Part of #9734 Co-Authored-By: Claude Opus 5.5 --- ...medicaid-abd-wv-ssi-rate-standard.fixed.md | 1 + .../income/limit/couple.yaml | 2 - .../income/limit/individual.yaml | 2 - .../limit/requires_income_below_limit.yaml | 4 ++ .../limit/uses_ssi_federal_benefit_rate.yaml | 6 +- ...al_senior_or_disabled_income_eligible.yaml | 65 +++++++++++++++++++ ...dicaid_abd_ssi_rate_standard_properties.py | 18 +++-- 7 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md diff --git a/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md b/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md new file mode 100644 index 00000000000..6f5b26b5929 --- /dev/null +++ b/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md @@ -0,0 +1 @@ +Use the SSI federal benefit rate, not 75% of the poverty guideline, as the Medicaid income limit for aged, blind, and disabled people who do not receive SSI in West Virginia. diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml index 0eb1c1e8aaa..db9f8465784 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml @@ -108,8 +108,6 @@ VT: 2021-01-01: 0.80 VA: 2018-01-01: 0.80 -WV: - 2018-01-01: 0.75 WI: 2018-01-01: 0.83 2021-01-01: 1.00 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml index 489de5e9165..ffa3c429df5 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml @@ -108,8 +108,6 @@ VT: 2021-01-01: 0.80 VA: 2018-01-01: 0.80 -WV: - 2018-01-01: 0.75 WI: 2018-01-01: 0.83 2021-01-01: 1.00 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml index f89e1442506..6b4935b2953 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml @@ -22,6 +22,10 @@ metadata: href: https://www.law.cornell.edu/regulations/colorado/10-CCR-2505-10-8.100_v2 - title: Iowa Administrative Code 441-75.1(17) (persons who meet the income guidelines of SSI but are not receiving cash assistance) href: https://www.law.cornell.edu/regulations/iowa/Iowa-Admin-Code-r-441-75-1 + - title: West Virginia Income Maintenance Manual § 4.14.3 Step 5 - SSI-Related income eligibility ("equal to or less than the appropriate SSI Maximum Payment Level") + href: https://bfa.wv.gov/media/40005/download?inline#page=662 + - title: West Virginia Income Maintenance Manual (archived) § 10.23.C Step 5 - SSI-Related income eligibility (rev. 5/13) + href: https://www.wvdhhr.org/bcf/policy/imm/new_manual/immanual/manual_pdf_files/chapter_10/ch10_23.pdf#page=4 - title: 42 U.S. Code § 1382(a)(1)(A) and (2)(A) - SSI eligible individual (income "at a rate of not more than" the benefit rate) href: https://www.law.cornell.edu/uscode/text/42/1382#a - title: SSA POMS SI 02005.001.C.3 - Retrospective Monthly Accounting Computation, the Federal eligibility test ("If the CI is equal to or less than the FBR ... the individual, based on income, is eligible") diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml index 27ccbd3980b..5726136bb78 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml @@ -36,6 +36,10 @@ metadata: href: https://app.leg.wa.gov/wac/default.aspx?cite=182-512-0010 - title: Washington Administrative Code 182-512-0100(2)(a) - SSI-related categorically needy medical eligibility href: https://app.leg.wa.gov/wac/default.aspx?cite=182-512-0100 + - title: "West Virginia Income Maintenance Manual, Chapter 4 Appendix A (SSI Max), § 23.9 (SSI Related/Non-Cash Assistance, optional categorically needy) and § 23.11.4 SSI-Related/Non-Cash Assistance #page 405,1859,1889" + href: https://bfa.wv.gov/media/40005/download?inline#page=405 + - title: West Virginia Income Maintenance Manual (archived), § 16.7.H SSI-Related/Non-Cash Assistance (rev. 10/13) + href: https://www.wvdhhr.org/bcf/policy/imm/new_manual/immanual/manual_pdf_files/chapter_16/ch16_7.pdf#page=8 AK: 2018-01-01: false @@ -136,6 +140,6 @@ WA: WI: 2018-01-01: false WV: - 2018-01-01: false + 2018-01-01: true WY: 2018-01-01: false diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml index dfa96b82c42..5a4054c7207 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml @@ -631,3 +631,68 @@ state_code: IA output: is_optional_senior_or_disabled_income_eligible: [true, true] + +# West Virginia's SSI-Related/Non-Cash Assistance group (IMM § 23.11.4) +# tests countable income against the SSI Maximum Payment level in Chapter 4, +# Appendix A: $994 a month ($11,928 a year) for one person and $1,491 a +# month ($17,892 a year) for two in 2026. The group section reads "under" +# that level and applies the § 4.14 method, whose Step 5 reads: "If the net +# countable monthly income is equal to or less than the appropriate SSI +# Maximum Payment Level, the assistance group (AG) is eligible" (§ 4.14.3). +# The model follows Step 5 and SSI's "not more than" test, as for Colorado +# and Iowa. +- name: Income exactly at West Virginia's individual standard is eligible + period: 2026 + input: + people: + person1: + medicaid_optional_senior_or_disabled_countable_income: 11_928 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: WV + output: + is_optional_senior_or_disabled_income_eligible: [true] + +# $11,929 is over the SSI standard, although it is under 75% of the 2026 +# poverty guideline ($11,970), the limit West Virginia had before. +- name: Income one dollar over West Virginia's individual standard is ineligible + period: 2026 + input: + people: + person1: + medicaid_optional_senior_or_disabled_countable_income: 11_929 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: WV + output: + is_optional_senior_or_disabled_income_eligible: [false] + +- name: Joint income exactly at West Virginia's couple standard is eligible + period: 2026 + input: + people: + person1: + medicaid_optional_senior_or_disabled_countable_income: 8_946 + person2: + medicaid_optional_senior_or_disabled_countable_income: 8_946 + tax_units: + tax_unit: + members: [person1, person2] + tax_unit_is_joint: true + marital_units: + marital_unit1: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: WV + output: + is_optional_senior_or_disabled_income_eligible: [true, true] diff --git a/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py b/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py index f9f38924c16..7abd057868c 100644 --- a/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py +++ b/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py @@ -1,11 +1,11 @@ """Properties of the Medicaid income standard for aged, blind, and disabled people who do not receive SSI, in states that set it at the SSI rate. -Seven states set that standard at the SSI federal benefit rate, a monthly +Eight states set that standard at the SSI federal benefit rate, a monthly dollar amount for an individual or a couple, not a share of the poverty guideline. They are flagged in the parameter `gov.hhs.medicaid.eligibility.categories.senior_or_disabled.income.limit.uses_ssi_federal_benefit_rate`. -Six of them have not elected the poverty-level group of 42 U.S.C. 1396a(m) +Seven of them have not elected the poverty-level group of 42 U.S.C. 1396a(m) (Montana's state plan marks the group of 42 CFR 435.210 instead); Louisiana has elected that group and pegs its level to the same rate. Montana's manual (ABD 008) is the model case: its standards "are the benefit amounts paid by @@ -18,13 +18,13 @@ The states' rules differ on income exactly at the standard. Oregon's excludes it: an individual "must have adjusted income (see OAR 461-001-0000) below the standard in this section" (OAR 461-155-0250(3)). -The other six include it. Oregon is flagged in +The other seven include it. Oregon is flagged in `gov.hhs.medicaid.eligibility.categories.senior_or_disabled.income.limit.requires_income_below_limit`. The state sets and comparisons below are written from those rules, not read from the parameters, so the first two tests check the parameters against them. Each later test evaluates a grid of households in one -vectorized simulation and checks, for every one of the seven states and +vectorized simulation and checks, for every one of the eight states and every year from 2018 to 2026: - the limit equals twelve times the rate SSA published for that year, for an @@ -71,11 +71,11 @@ ] # States whose own rules set the standard at the SSI rate (cited in # uses_ssi_federal_benefit_rate.yaml). -SSI_RATE_STATES = sorted(["CO", "IA", "LA", "MT", "OH", "OR", "WA"]) +SSI_RATE_STATES = sorted(["CO", "IA", "LA", "MT", "OH", "OR", "WA", "WV"]) # States whose rules require income below the standard rather than at or # below it. Oregon: "must have adjusted income (see OAR 461-001-0000) below # the standard in this section" (OAR 461-155-0250(3); every version since -# 1-01-14 says "below", in section (4) until April 2017). The other six +# 1-01-14 says "below", in section (4) until April 2017). The other seven # include the standard: Montana "equal to or less than these income # standards" (ABD 008); Louisiana "income equal to or less than the federal # benefit rate (FBR)" (LAC 50:III.2305(B)); Ohio "countable income ... which @@ -86,7 +86,11 @@ # and SSI covers income "at a rate of not more than" the benefit rate (42 # U.S.C. 1382(a)(1)(A) and (2)(A)): "If the CI is equal to or less than the # FBR ... the individual, based on income, is eligible" (POMS SI -# 02005.001.C.3). +# 02005.001.C.3); West Virginia's group (IMM § 23.11.4, "under" the SSI +# Maximum Payment level) applies the § 4.14 method, whose Step 5 reads "If +# the net countable monthly income is equal to or less than the appropriate +# SSI Maximum Payment Level, the assistance group (AG) is eligible" (IMM +# § 4.14.3). BELOW_ONLY_STATES = ["OR"] # Annual dollars around the standard: far below, one month's dollar below, # exactly at, one dollar above, and well above. From 3518db8e4991ead0677cd8553a5bbbdd8b0ce6a8 Mon Sep 17 00:00:00 2001 From: Ziming Date: Thu, 22 Oct 2026 11:36:57 -0400 Subject: [PATCH 2/4] Use the SSI rate as North Dakota's Medicaid aged/disabled income limit N.D.A.C. 75-02-02.1-40(1)(a)(2) sets the income level for categorically needy aged, blind, or disabled recipients at the level "which establishes supplemental security income eligibility" (same text in the February 2017 edition), so the limit is the SSI individual or couple rate, not 75% of the poverty guideline. North Dakota is a 209(b) state, and the 209(b) SSI-recipient income test reads the same limit. Recipient liability is net income remaining after the level (75-02-02.1-41.1), so income equal to the level qualifies. Part of #9734 Co-Authored-By: Claude Opus 5.5 --- ...medicaid-abd-wv-ssi-rate-standard.fixed.md | 2 +- .../income/limit/couple.yaml | 2 -- .../income/limit/individual.yaml | 2 -- .../limit/requires_income_below_limit.yaml | 2 ++ .../limit/uses_ssi_federal_benefit_rate.yaml | 6 +++- ...ecipient_income_eligible_for_medicaid.yaml | 31 +++++++++++++++++++ ...al_senior_or_disabled_income_eligible.yaml | 21 +++++++++++++ ...dicaid_abd_ssi_rate_standard_properties.py | 23 +++++++++----- 8 files changed, 75 insertions(+), 14 deletions(-) diff --git a/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md b/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md index 6f5b26b5929..51ae53eb992 100644 --- a/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md +++ b/changelog.d/medicaid-abd-wv-ssi-rate-standard.fixed.md @@ -1 +1 @@ -Use the SSI federal benefit rate, not 75% of the poverty guideline, as the Medicaid income limit for aged, blind, and disabled people who do not receive SSI in West Virginia. +Use the SSI federal benefit rate, not 75% of the poverty guideline, as the Medicaid aged, blind, and disabled income limit in West Virginia and North Dakota. diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml index db9f8465784..7e0c2a190c3 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml @@ -85,8 +85,6 @@ NY: 2018-01-01: 0.82 NC: 2018-01-01: 1.00 -ND: - 2018-01-01: 0.75 OK: 2018-01-01: 1.00 PA: diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml index ffa3c429df5..46c61240f02 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml @@ -85,8 +85,6 @@ NY: 2018-01-01: 0.82 NC: 2018-01-01: 1.00 -ND: - 2018-01-01: 0.75 OK: 2018-01-01: 1.00 PA: diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml index 6b4935b2953..617ab2747aa 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml @@ -22,6 +22,8 @@ metadata: href: https://www.law.cornell.edu/regulations/colorado/10-CCR-2505-10-8.100_v2 - title: Iowa Administrative Code 441-75.1(17) (persons who meet the income guidelines of SSI but are not receiving cash assistance) href: https://www.law.cornell.edu/regulations/iowa/Iowa-Admin-Code-r-441-75-1 + - title: "North Dakota Administrative Code 75-02-02.1-40(1)(a)(2) (the income level \"which establishes supplemental security income eligibility\") and 75-02-02.1-41.1 (recipient liability is net income \"remaining after\" the Medicaid income level) #page 89,93" + href: https://www.ndlegis.gov/information/acdata/pdf/75-02-02.1.pdf#page=89 - title: West Virginia Income Maintenance Manual § 4.14.3 Step 5 - SSI-Related income eligibility ("equal to or less than the appropriate SSI Maximum Payment Level") href: https://bfa.wv.gov/media/40005/download?inline#page=662 - title: West Virginia Income Maintenance Manual (archived) § 10.23.C Step 5 - SSI-Related income eligibility (rev. 5/13) diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml index 5726136bb78..ee4ac8b5f37 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/uses_ssi_federal_benefit_rate.yaml @@ -26,6 +26,10 @@ metadata: href: https://dphhs.mt.gov/assets/hcsd/mamanual/ABD200July012016.pdf#page=1 - title: Montana Medicaid State Plan, Attachment 3.1-F, page 7 (TN 24-0002, effective July 1, 2024) href: https://www.medicaid.gov/sites/default/files/2024-05/MT-24-0002.pdf#page=10 + - title: North Dakota Administrative Code 75-02-02.1-40(1)(a)(2) - Income levels (categorically needy aged, blind, or disabled) + href: https://www.ndlegis.gov/information/acdata/pdf/75-02-02.1.pdf#page=89 + - title: North Dakota Non-ACA Medicaid Policy Manual 510-05-85-40 - Income Levels + href: https://www.nd.gov/dhs/policymanuals/51005/510_05_85_40.htm - title: Ohio Administrative Code 5160:1-3-02.4 - Medicaid coverage for the categorically needy href: https://codes.ohio.gov/ohio-administrative-code/rule-5160:1-3-02.4 - title: Ohio Administrative Code 5160:1-3-03.5 - Medicaid application of income standards @@ -98,7 +102,7 @@ MT: NC: 2018-01-01: false ND: - 2018-01-01: false + 2018-01-01: true NE: 2018-01-01: false NH: diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml index dd728b65cfc..7a01fc21ded 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml @@ -161,3 +161,34 @@ # 22,000 - 400 = 21,600, within the 21,648 blind couple standard # (ceil(21,640 / 12) x 12) but over the 18,396 aged/disabled standard. is_209b_ssi_recipient_income_eligible_for_medicaid: [true, true] + +# North Dakota tests SSI recipients against the income level "which +# establishes supplemental security income eligibility" (N.D.A.C. +# 75-02-02.1-40(1)(a)(2)): the SSI couple rate, $1,491 a month ($17,892 a +# year) in 2026, not 75% of the two-person guideline ($16,230). +- name: Case 10, North Dakota SSI couple under the SSI couple rate qualifies without spenddown. + period: 2026 + input: + people: + person1: + age: 70 + medicaid_optional_senior_or_disabled_countable_income: 8_400 + medicaid_medically_needy_medical_expenses: 0 + person2: + age: 68 + medicaid_optional_senior_or_disabled_countable_income: 8_400 + medicaid_medically_needy_medical_expenses: 0 + tax_units: + tax_unit: + members: [person1, person2] + tax_unit_is_joint: true + marital_units: + marital_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: ND + output: + # 16,800 combined ($1,400 a month) is under the 17,892 couple standard. + is_209b_ssi_recipient_income_eligible_for_medicaid: [true, true] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml index 5a4054c7207..eed9a1321b7 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_optional_senior_or_disabled_income_eligible.yaml @@ -696,3 +696,24 @@ state_code: WV output: is_optional_senior_or_disabled_income_eligible: [true, true] + +# North Dakota's income level for categorically needy aged, blind, or +# disabled recipients "is that which establishes supplemental security +# income eligibility" (N.D.A.C. 75-02-02.1-40(1)(a)(2)): $994 a month +# ($11,928 a year) for one person in 2026. $996 a month is over it, +# although it is under 75% of the 2026 poverty guideline ($11,970). +- name: North Dakota income between the SSI rate and 75% of poverty is ineligible + period: 2026 + input: + people: + person1: + medicaid_optional_senior_or_disabled_countable_income: 11_952 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: ND + output: + is_optional_senior_or_disabled_income_eligible: [false] diff --git a/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py b/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py index 7abd057868c..99960f834b1 100644 --- a/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py +++ b/policyengine_us/tests/unit/test_medicaid_abd_ssi_rate_standard_properties.py @@ -1,13 +1,17 @@ """Properties of the Medicaid income standard for aged, blind, and disabled people who do not receive SSI, in states that set it at the SSI rate. -Eight states set that standard at the SSI federal benefit rate, a monthly +Nine states set that standard at the SSI federal benefit rate, a monthly dollar amount for an individual or a couple, not a share of the poverty guideline. They are flagged in the parameter `gov.hhs.medicaid.eligibility.categories.senior_or_disabled.income.limit.uses_ssi_federal_benefit_rate`. -Seven of them have not elected the poverty-level group of 42 U.S.C. 1396a(m) +Eight of them have not elected the poverty-level group of 42 U.S.C. 1396a(m) (Montana's state plan marks the group of 42 CFR 435.210 instead); Louisiana -has elected that group and pegs its level to the same rate. Montana's manual +has elected that group and pegs its level to the same rate. North Dakota, a +section 209(b) state, sets the level for its categorically needy aged, +blind, or disabled recipients at "that which establishes supplemental +security income eligibility" (N.D.A.C. 75-02-02.1-40(1)(a)(2)), and the +model's 209(b) SSI-recipient income test reads the same limit. Montana's manual (ABD 008) is the model case: its standards "are the benefit amounts paid by the Social Security Administration to Supplemental Security Income (SSI) cash recipients", applicants "with monthly countable income equal to or @@ -18,13 +22,13 @@ The states' rules differ on income exactly at the standard. Oregon's excludes it: an individual "must have adjusted income (see OAR 461-001-0000) below the standard in this section" (OAR 461-155-0250(3)). -The other seven include it. Oregon is flagged in +The other eight include it. Oregon is flagged in `gov.hhs.medicaid.eligibility.categories.senior_or_disabled.income.limit.requires_income_below_limit`. The state sets and comparisons below are written from those rules, not read from the parameters, so the first two tests check the parameters against them. Each later test evaluates a grid of households in one -vectorized simulation and checks, for every one of the eight states and +vectorized simulation and checks, for every one of the nine states and every year from 2018 to 2026: - the limit equals twelve times the rate SSA published for that year, for an @@ -71,11 +75,11 @@ ] # States whose own rules set the standard at the SSI rate (cited in # uses_ssi_federal_benefit_rate.yaml). -SSI_RATE_STATES = sorted(["CO", "IA", "LA", "MT", "OH", "OR", "WA", "WV"]) +SSI_RATE_STATES = sorted(["CO", "IA", "LA", "MT", "ND", "OH", "OR", "WA", "WV"]) # States whose rules require income below the standard rather than at or # below it. Oregon: "must have adjusted income (see OAR 461-001-0000) below # the standard in this section" (OAR 461-155-0250(3); every version since -# 1-01-14 says "below", in section (4) until April 2017). The other seven +# 1-01-14 says "below", in section (4) until April 2017). The other eight # include the standard: Montana "equal to or less than these income # standards" (ABD 008); Louisiana "income equal to or less than the federal # benefit rate (FBR)" (LAC 50:III.2305(B)); Ohio "countable income ... which @@ -90,7 +94,10 @@ # Maximum Payment level) applies the § 4.14 method, whose Step 5 reads "If # the net countable monthly income is equal to or less than the appropriate # SSI Maximum Payment Level, the assistance group (AG) is eligible" (IMM -# § 4.14.3). +# § 4.14.3); North Dakota uses the level "which establishes supplemental +# security income eligibility" and counts as recipient liability only net +# income "remaining after" that level (N.D.A.C. 75-02-02.1-40(1)(a)(2), +# 75-02-02.1-41.1). BELOW_ONLY_STATES = ["OR"] # Annual dollars around the standard: far below, one month's dollar below, # exactly at, one dollar above, and well above. From 4e8bfcd2322c63a94cd8148c61d79b08b7bfb4e5 Mon Sep 17 00:00:00 2001 From: Ziming Date: Thu, 22 Oct 2026 11:37:43 -0400 Subject: [PATCH 3/4] Move the North Dakota SSI couple case to the 209(b) recipient tests The case now runs through is_209b_ssi_recipient_for_medicaid with SSI receipt, and no longer appends to the file that #10378 also extends. Co-Authored-By: Claude Opus 5.5 --- .../is_209b_ssi_recipient_for_medicaid.yaml | 37 +++++++++++++++++++ ...ecipient_income_eligible_for_medicaid.yaml | 31 ---------------- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_for_medicaid.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_for_medicaid.yaml index f2781fc7aa2..9ced49446da 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_for_medicaid.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_for_medicaid.yaml @@ -186,3 +186,40 @@ is_optional_senior_or_disabled_asset_eligible: true output: is_209b_ssi_recipient_for_medicaid: true + +# North Dakota tests SSI recipients against the income level "which +# establishes supplemental security income eligibility" (N.D.A.C. +# 75-02-02.1-40(1)(a)(2)): the SSI couple rate, $1,491 a month ($17,892 a +# year) in 2026, not 75% of the two-person guideline ($16,230). This couple +# has $1,400 a month of combined countable income, so they receive $91 a +# month of SSI between them. +- name: Case 18, North Dakota SSI couple under the SSI couple rate qualifies without spenddown. + period: 2026 + input: + people: + person1: + age: 70 + ssi: 546 + medicaid_optional_senior_or_disabled_countable_income: 8_400 + medicaid_medically_needy_medical_expenses: 0 + is_optional_senior_or_disabled_asset_eligible: true + person2: + age: 68 + ssi: 546 + medicaid_optional_senior_or_disabled_countable_income: 8_400 + medicaid_medically_needy_medical_expenses: 0 + is_optional_senior_or_disabled_asset_eligible: true + tax_units: + tax_unit: + members: [person1, person2] + tax_unit_is_joint: true + marital_units: + marital_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: ND + output: + # 16,800 combined is under the 17,892 couple standard. + is_209b_ssi_recipient_for_medicaid: [true, true] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml index 7a01fc21ded..dd728b65cfc 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/is_209b_ssi_recipient_income_eligible_for_medicaid.yaml @@ -161,34 +161,3 @@ # 22,000 - 400 = 21,600, within the 21,648 blind couple standard # (ceil(21,640 / 12) x 12) but over the 18,396 aged/disabled standard. is_209b_ssi_recipient_income_eligible_for_medicaid: [true, true] - -# North Dakota tests SSI recipients against the income level "which -# establishes supplemental security income eligibility" (N.D.A.C. -# 75-02-02.1-40(1)(a)(2)): the SSI couple rate, $1,491 a month ($17,892 a -# year) in 2026, not 75% of the two-person guideline ($16,230). -- name: Case 10, North Dakota SSI couple under the SSI couple rate qualifies without spenddown. - period: 2026 - input: - people: - person1: - age: 70 - medicaid_optional_senior_or_disabled_countable_income: 8_400 - medicaid_medically_needy_medical_expenses: 0 - person2: - age: 68 - medicaid_optional_senior_or_disabled_countable_income: 8_400 - medicaid_medically_needy_medical_expenses: 0 - tax_units: - tax_unit: - members: [person1, person2] - tax_unit_is_joint: true - marital_units: - marital_unit: - members: [person1, person2] - households: - household: - members: [person1, person2] - state_code: ND - output: - # 16,800 combined ($1,400 a month) is under the 17,892 couple standard. - is_209b_ssi_recipient_income_eligible_for_medicaid: [true, true] From 2cd7a27d7ba5c1d0e935870f8d8d1e8a7f375f22 Mon Sep 17 00:00:00 2001 From: Ziming Date: Mon, 26 Oct 2026 16:31:11 -0400 Subject: [PATCH 4/4] Record West Virginia's "under" wording as a source-conflict candidate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IMM § 23.11.4 says countable income must be "under" the SSI Maximum Payment level, while SSI's income test (42 U.S.C. 1382(a)), which the optional group of 1902(a)(10)(A)(ii)(I) adopts, and the manual's own § 4.14.3 Step 5 admit income equal to it. The code follows the statute; the candidate is unreviewed. Co-Authored-By: Claude Opus 5.5 --- source_conflicts/candidates.yaml | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/source_conflicts/candidates.yaml b/source_conflicts/candidates.yaml index ab0faa5b4ec..66596f5b4aa 100644 --- a/source_conflicts/candidates.yaml +++ b/source_conflicts/candidates.yaml @@ -7264,6 +7264,44 @@ candidates: threshold and federal-method conditions by year. Code not yet on main: gov/states/wv/tax/income/subtractions/wv_claim_of_right_subtraction.yaml, policyengine_us/variables/gov/states/wv/tax/income/subtractions/wv_subtractions.py, wv_claim_of_right_subtraction, gov.states.wv.tax.income.subtractions.claim_of_right.threshold.' +- id: us-wv:medicaid-ssi-related-non-cash-income-at-standard + program: medicaid + years: + from: 2018 + type: calendar + question: Does West Virginia's SSI-Related/Non-Cash Assistance group cover countable income exactly equal to the + SSI Maximum Payment level? + sources: + - kind: statute + citation: 42 U.S.C. 1396a(a)(10)(A)(ii)(I); 42 U.S.C. 1382(a)(1)(A) and (2)(A) (income "at a rate of not more than" + the benefit rate) + url: https://www.govinfo.gov/content/pkg/USCODE-2023-title42/html/USCODE-2023-title42-chap7-subchapXVI-partA-sec1382.htm + - kind: regulation + citation: 42 CFR 435.210(b) + url: https://www.ecfr.gov/current/title-42/section-435.210 + - kind: manual + citation: West Virginia Income Maintenance Manual § 23.11.4 (consolidated PDF built 2026-10-05, PDF p.1889) + url: https://bfa.wv.gov/media/40005/download?inline#page=1889 + - kind: manual + citation: West Virginia Income Maintenance Manual § 4.14.3 Step 5 (PDF p.662) + url: https://bfa.wv.gov/media/40005/download?inline#page=662 + readings: + statute: The optional group covers people who meet SSI's income requirement, which admits income at or below + the benefit rate. + other: Section 23.11.4 requires countable income "under" the SSI Maximum Payment level; the § 4.14 method it + applies (Step 5) makes income "equal to or less than" the level eligible. + example: An aged West Virginian with countable income of exactly $994 a month in 2026 qualifies under the statute + and Step 5 but not under § 23.11.4's wording. + pe_us: + follows: statute + code: + - policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/requires_income_below_limit.yaml + prs: + - https://github.com/PolicyEngine/policyengine-us/pull/10373 + state: unreviewed + note: 'PE-US keeps WV out of requires_income_below_limit, so income equal to the SSI rate qualifies. This assumes + the group is the 42 CFR 435.210 group of section 1902(a)(10)(A)(ii)(I); West Virginia''s state plan page for the + group was not checked. The archived 2013 manual pairs the same two wordings (§ 16.7.H and § 10.23.C).' - id: us-wv:senior-modification-excluded-line-range program: income-tax years: