From 2173631a882520735621c7d14b21dbab89853a16 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 30 Jul 2026 23:17:24 -0400 Subject: [PATCH 1/7] Add Medicaid LTSS financial eligibility chassis --- .../financial/de/csra/state_minimum.yaml | 11 +++ .../de/income/general_disregard.yaml | 13 +++ .../financial/de/resources/couple.yaml | 13 +++ .../financial/de/resources/individual.yaml | 13 +++ .../de/special_income_limit/couple.yaml | 13 +++ .../de/special_income_limit/individual.yaml | 13 +++ .../financial/federal/csra/maximum.yaml | 11 +++ .../financial/federal/csra/minimum.yaml | 11 +++ .../federal/home_equity/maximum.yaml | 11 +++ .../federal/home_equity/minimum.yaml | 11 +++ .../financial/federal/mmmna/maximum.yaml | 11 +++ .../financial/federal/mmmna/minimum.yaml | 11 +++ .../federal/mmmna/shelter_threshold_rate.yaml | 11 +++ .../financial/federal/resources/couple.yaml | 11 +++ .../federal/resources/individual.yaml | 11 +++ .../federal/special_income_limit/maximum.yaml | 11 +++ .../financial/federal/ssi_fbr/couple.yaml | 11 +++ .../financial/federal/ssi_fbr/individual.yaml | 11 +++ .../financial/tx/csra/state_minimum.yaml | 11 +++ .../financial/tx/home_equity/limit.yaml | 11 +++ .../financial/tx/resources/couple.yaml | 11 +++ .../financial/tx/resources/individual.yaml | 11 +++ .../tx/special_income_limit/couple.yaml | 11 +++ .../tx/special_income_limit/individual.yaml | 11 +++ .../financial/wa/csra/state_minimum.yaml | 11 +++ .../financial/wa/home_equity/limit.yaml | 11 +++ .../wa/medically_needy/income_level.yaml | 11 +++ .../financial/wa/resources/individual.yaml | 11 +++ .../wa/special_income_limit/individual.yaml | 11 +++ .../financial/wa/waivers/copes/enabled.yaml | 11 +++ .../wa/waivers/new_freedom/enabled.yaml | 11 +++ .../financial/wa/waivers/rsw/enabled.yaml | 11 +++ ...icaid_ltss_financial_threshold_eligible.py | 28 ++++++ .../is_medicaid_ltss_income_eligible.py | 91 +++++++++++++++++++ .../medicaid_ltss_assistance_unit_size.py | 16 ++++ ...ss_community_spouse_countable_resources.py | 18 ++++ ..._ltss_community_spouse_shelter_expenses.py | 16 ++++ .../financial/medicaid_ltss_cost_of_care.py | 22 +++++ .../medicaid_ltss_countable_resources.py | 22 +++++ ...resources_at_first_institutionalization.py | 19 ++++ .../medicaid_ltss_csra_resource_eligible.py | 87 ++++++++++++++++++ .../medicaid_ltss_financial_pathway.py | 79 ++++++++++++++++ .../medicaid_ltss_has_community_spouse.py | 15 +++ .../medicaid_ltss_home_encumbrances.py | 17 ++++ .../medicaid_ltss_home_equity_eligible.py | 64 +++++++++++++ ...dicaid_ltss_home_equity_hardship_waiver.py | 15 +++ .../medicaid_ltss_home_market_value.py | 17 ++++ ...ome_occupied_by_blind_or_disabled_child.py | 16 ++++ ...id_ltss_home_occupied_by_child_under_21.py | 15 +++ .../medicaid_ltss_home_occupied_by_spouse.py | 15 +++ .../medicaid_ltss_home_ownership_share.py | 16 ++++ .../medicaid_ltss_medically_needy_expenses.py | 22 +++++ .../financial/medicaid_ltss_mmmna.py | 45 +++++++++ .../medicaid_ltss_needs_based_income.py | 20 ++++ .../medicaid_ltss_qit_adjusted_income.py | 22 +++++ .../financial/medicaid_ltss_setting.py | 26 ++++++ .../financial/medicaid_ltss_waiver.py | 30 ++++++ 57 files changed, 1115 insertions(+) create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_assistance_unit_size.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_countable_resources.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_shelter_expenses.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_cost_of_care.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_countable_resources.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_couple_countable_resources_at_first_institutionalization.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_has_community_spouse.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_encumbrances.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_hardship_waiver.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_market_value.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_blind_or_disabled_child.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_child_under_21.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_spouse.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_ownership_share.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_medically_needy_expenses.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_needs_based_income.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_setting.py create mode 100644 policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml new file mode 100644 index 00000000000..24ba770f1e6 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml @@ -0,0 +1,11 @@ +description: Delaware uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 25_000 + +metadata: + unit: currency-USD + period: month + label: Delaware minimum Medicaid LTSS community spouse resource allowance + reference: + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml new file mode 100644 index 00000000000..d7c5cab22ee --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml @@ -0,0 +1,13 @@ +description: Delaware disregards up to this amount of monthly general income when applying the Medicaid LTSS special income limit. +values: + 2026-01-01: 20 + +metadata: + unit: currency-USD + period: month + label: Delaware Medicaid LTSS general income disregard + reference: + - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml new file mode 100644 index 00000000000..6de58cb4b34 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml @@ -0,0 +1,13 @@ +description: Delaware limits countable resources to this amount for a couple using the Medicaid LTSS financial screen. +values: + 2026-01-01: 3_000 + +metadata: + unit: currency-USD + period: month + label: Delaware Medicaid LTSS resource limit for a couple + reference: + - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml new file mode 100644 index 00000000000..e6fc806aa7b --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml @@ -0,0 +1,13 @@ +description: Delaware limits countable resources to this amount for an individual using the Medicaid LTSS financial screen. +values: + 2026-01-01: 2_000 + +metadata: + unit: currency-USD + period: month + label: Delaware Medicaid LTSS resource limit for an individual + reference: + - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml new file mode 100644 index 00000000000..61cc3149af9 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml @@ -0,0 +1,13 @@ +description: Delaware limits monthly income before its applicable general disregard to this amount for a couple using the Medicaid LTSS special income pathway. +values: + 2026-01-01: 3_727.50 + +metadata: + unit: currency-USD + period: month + label: Delaware Medicaid LTSS special income limit for a couple + reference: + - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml new file mode 100644 index 00000000000..8728334b764 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml @@ -0,0 +1,13 @@ +description: Delaware limits monthly income before its applicable general disregard to this amount for an individual using the Medicaid LTSS special income pathway. +values: + 2026-01-01: 2_485 + +metadata: + unit: currency-USD + period: month + label: Delaware Medicaid LTSS special income limit for an individual + reference: + - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf + - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml new file mode 100644 index 00000000000..457ba158cb0 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml @@ -0,0 +1,11 @@ +description: The federal maximum community spouse resource allowance for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 162_660 + +metadata: + unit: currency-USD + period: month + label: Federal maximum Medicaid LTSS community spouse resource allowance + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml new file mode 100644 index 00000000000..ba0c34fb8f9 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml @@ -0,0 +1,11 @@ +description: The federal minimum community spouse resource allowance for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 32_532 + +metadata: + unit: currency-USD + period: month + label: Federal minimum Medicaid LTSS community spouse resource allowance + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml new file mode 100644 index 00000000000..5c1b238fcb0 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml @@ -0,0 +1,11 @@ +description: The federal maximum state home equity limit for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 1_130_000 + +metadata: + unit: currency-USD + period: month + label: Federal maximum Medicaid LTSS home equity limit + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml new file mode 100644 index 00000000000..0aff7b8c326 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml @@ -0,0 +1,11 @@ +description: The federal minimum state home equity limit for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 752_000 + +metadata: + unit: currency-USD + period: month + label: Federal minimum Medicaid LTSS home equity limit + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml new file mode 100644 index 00000000000..f9e2df5c4a1 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml @@ -0,0 +1,11 @@ +description: The federal maximum monthly maintenance needs allowance for a community spouse. +values: + 2026-01-01: 4_066.50 + +metadata: + unit: currency-USD + period: month + label: Federal maximum Medicaid LTSS monthly maintenance needs allowance + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml new file mode 100644 index 00000000000..6120ed808d0 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml @@ -0,0 +1,11 @@ +description: The federal minimum monthly maintenance needs allowance for a community spouse in the contiguous states and District of Columbia. +values: + 2026-07-01: 2_705 + +metadata: + unit: currency-USD + period: month + label: Federal minimum Medicaid LTSS monthly maintenance needs allowance + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml new file mode 100644 index 00000000000..63f0355ae07 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml @@ -0,0 +1,11 @@ +description: The share of the minimum monthly maintenance needs allowance used as the community spouse excess shelter expense threshold. +values: + 2026-07-01: 0.30 + +metadata: + unit: /1 + period: month + label: Medicaid LTSS community spouse shelter expense threshold rate + reference: + - title: 42 USC 1396r-5 - Treatment of income and resources for certain institutionalized spouses + href: https://www.law.cornell.edu/uscode/text/42/1396r-5 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml new file mode 100644 index 00000000000..ae177cfefd6 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml @@ -0,0 +1,11 @@ +description: The federal Supplemental Security Income resource standard for a couple used in the Medicaid LTSS financial chassis. +values: + 2026-01-01: 3_000 + +metadata: + unit: currency-USD + period: month + label: Federal Medicaid LTSS resource standard for a couple + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml new file mode 100644 index 00000000000..286799a4568 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml @@ -0,0 +1,11 @@ +description: The federal Supplemental Security Income resource standard for an individual used in the Medicaid LTSS financial chassis. +values: + 2026-01-01: 2_000 + +metadata: + unit: currency-USD + period: month + label: Federal Medicaid LTSS resource standard for an individual + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml new file mode 100644 index 00000000000..036bdae49d4 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml @@ -0,0 +1,11 @@ +description: The federal maximum monthly special income level for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 2_982 + +metadata: + unit: currency-USD + period: month + label: Federal maximum Medicaid LTSS special income level + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml new file mode 100644 index 00000000000..ef56fd8f430 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml @@ -0,0 +1,11 @@ +description: The federal monthly Supplemental Security Income benefit rate for an eligible couple used in the Medicaid LTSS financial chassis. +values: + 2026-01-01: 1_491 + +metadata: + unit: currency-USD + period: month + label: Federal Medicaid LTSS SSI benefit rate for a couple + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml new file mode 100644 index 00000000000..74b41cd3875 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml @@ -0,0 +1,11 @@ +description: The federal monthly Supplemental Security Income benefit rate for an eligible individual used in the Medicaid LTSS financial chassis. +values: + 2026-01-01: 994 + +metadata: + unit: currency-USD + period: month + label: Federal Medicaid LTSS SSI benefit rate for an individual + reference: + - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml new file mode 100644 index 00000000000..126a4c45c75 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml @@ -0,0 +1,11 @@ +description: Texas uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 32_532 + +metadata: + unit: currency-USD + period: month + label: Texas minimum Medicaid LTSS community spouse resource allowance + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml new file mode 100644 index 00000000000..392a27f0346 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml @@ -0,0 +1,11 @@ +description: Texas limits home equity to this amount for Medicaid LTSS financial eligibility unless an exception applies. +values: + 2026-01-01: 752_000 + +metadata: + unit: currency-USD + period: month + label: Texas Medicaid LTSS home equity limit + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml new file mode 100644 index 00000000000..8f73c02bfe2 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml @@ -0,0 +1,11 @@ +description: Texas limits countable resources to this amount for a couple using the Medicaid LTSS financial screen. +values: + 2026-01-01: 3_000 + +metadata: + unit: currency-USD + period: month + label: Texas Medicaid LTSS resource limit for a couple + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml new file mode 100644 index 00000000000..ce2114b5496 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml @@ -0,0 +1,11 @@ +description: Texas limits countable resources to this amount for an individual using the Medicaid LTSS financial screen. +values: + 2026-01-01: 2_000 + +metadata: + unit: currency-USD + period: month + label: Texas Medicaid LTSS resource limit for an individual + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml new file mode 100644 index 00000000000..9333a3f154e --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml @@ -0,0 +1,11 @@ +description: Texas limits monthly income to this amount for a couple using the Medicaid LTSS special income pathway. +values: + 2026-01-01: 5_964 + +metadata: + unit: currency-USD + period: month + label: Texas Medicaid LTSS special income limit for a couple + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml new file mode 100644 index 00000000000..63da01823ea --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml @@ -0,0 +1,11 @@ +description: Texas limits monthly income to this amount for an individual using the Medicaid LTSS special income pathway. +values: + 2026-01-01: 2_982 + +metadata: + unit: currency-USD + period: month + label: Texas Medicaid LTSS special income limit for an individual + reference: + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml new file mode 100644 index 00000000000..4a42c07e146 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml @@ -0,0 +1,11 @@ +description: Washington uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +values: + 2026-01-01: 72_529 + +metadata: + unit: currency-USD + period: month + label: Washington minimum Medicaid LTSS community spouse resource allowance + reference: + - title: Washington Apple Health Income and Resource Standards, January 1, 2026 + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml new file mode 100644 index 00000000000..f9043549bab --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml @@ -0,0 +1,11 @@ +description: Washington limits home equity to this amount for Medicaid LTSS financial eligibility unless an exception applies. +values: + 2026-01-01: 1_130_000 + +metadata: + unit: currency-USD + period: month + label: Washington Medicaid LTSS home equity limit + reference: + - title: Washington Apple Health Income and Resource Standards, January 1, 2026 + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml new file mode 100644 index 00000000000..ff24723a8db --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml @@ -0,0 +1,11 @@ +description: Washington uses this monthly income level for a single person in the institutional medically needy pathway. +values: + 2026-01-01: 994 + +metadata: + unit: currency-USD + period: month + label: Washington institutional medically needy income level for a single person + reference: + - title: Washington Apple Health Income and Resource Standards, January 1, 2026 + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml new file mode 100644 index 00000000000..88b908e2eca --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml @@ -0,0 +1,11 @@ +description: Washington limits countable resources to this amount for an individual using the Medicaid LTSS financial screen. +values: + 2026-01-01: 2_000 + +metadata: + unit: currency-USD + period: month + label: Washington Medicaid LTSS resource limit for an individual + reference: + - title: Washington Apple Health Income and Resource Standards, January 1, 2026 + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml new file mode 100644 index 00000000000..1c817a72154 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml @@ -0,0 +1,11 @@ +description: Washington limits monthly income to this amount for an individual using the Medicaid LTSS special income pathway. +values: + 2026-01-01: 2_982 + +metadata: + unit: currency-USD + period: month + label: Washington Medicaid LTSS special income limit for an individual + reference: + - title: Washington Apple Health Income and Resource Standards, January 1, 2026 + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml new file mode 100644 index 00000000000..e91598a3c11 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml @@ -0,0 +1,11 @@ +description: Washington models COPES as a named Home and Community Services Medicaid HCBS waiver for the LTSS financial screen. +values: + 2026-01-01: true + +metadata: + unit: bool + period: month + label: Washington Medicaid LTSS COPES waiver enabled + reference: + - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services + href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml new file mode 100644 index 00000000000..3a3de9ea2d4 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml @@ -0,0 +1,11 @@ +description: Washington models New Freedom as a named Home and Community Services Medicaid HCBS waiver for the LTSS financial screen. +values: + 2026-01-01: true + +metadata: + unit: bool + period: month + label: Washington Medicaid LTSS New Freedom waiver enabled + reference: + - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services + href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml new file mode 100644 index 00000000000..296823f5f09 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml @@ -0,0 +1,11 @@ +description: Washington models RSW as a named Home and Community Services Medicaid HCBS waiver for the LTSS financial screen. +values: + 2026-01-01: true + +metadata: + unit: bool + period: month + label: Washington Medicaid LTSS RSW waiver enabled + reference: + - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services + href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.py new file mode 100644 index 00000000000..89f34df447e --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.py @@ -0,0 +1,28 @@ +from policyengine_us.model_api import * + + +class is_medicaid_ltss_financial_threshold_eligible(Variable): + value_type = bool + entity = Person + label = "Meets modeled Medicaid LTSS financial thresholds" + definition_period = MONTH + documentation = ( + "is_medicaid_ltss_financial_threshold_eligible models selected state " + "and waiver financial thresholds only. It does not determine actual " + "Medicaid LTSS eligibility, service entitlement, or benefit amount." + ) + reference = ( + "https://www.law.cornell.edu/cfr/text/42/435.236", + "https://www.law.cornell.edu/uscode/text/42/1396p", + "https://www.law.cornell.edu/uscode/text/42/1396r-5", + ) + + def formula_2026_01_01(person, period, parameters): + pathway = person("medicaid_ltss_financial_pathway", period) + pathways = pathway.possible_values + return ( + (pathway != pathways.UNMODELED) + & person("is_medicaid_ltss_income_eligible", period) + & person("medicaid_ltss_csra_resource_eligible", period) + & person("medicaid_ltss_home_equity_eligible", period) + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py new file mode 100644 index 00000000000..3cd1b10210f --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py @@ -0,0 +1,91 @@ +from policyengine_us.model_api import * + + +class is_medicaid_ltss_income_eligible(Variable): + value_type = bool + entity = Person + label = "Meets modeled Medicaid LTSS income threshold" + definition_period = MONTH + documentation = ( + "Tests only the income threshold for the selected modeled Medicaid " + "LTSS financial pathway. QIT-adjusted income and Washington medically " + "needy expenses and cost of care are trusted inputs; this variable " + "does not validate a trust, expense, service, or facility rate. The " + "Washington institutional branch models the WAC 182-513-1395(4) " + "payment threshold; it does not model the separate three- or " + "six-month spenddown process in subsection (5)." + ) + reference = ( + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/f-6800-qualified-income-trust", + "https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508", + ) + + def formula_2026_01_01(person, period, parameters): + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + state = person.household("state_code", period) + states = state.possible_values + setting = person("medicaid_ltss_setting", period) + settings = setting.possible_values + pathway = person("medicaid_ltss_financial_pathway", period) + pathways = pathway.possible_values + assistance_unit_size = person("medicaid_ltss_assistance_unit_size", period) + income = person("medicaid_ltss_qit_adjusted_income", period) + + special_income_limit = select( + [ + (state == states.TX) & (assistance_unit_size == 1), + (state == states.TX) & (assistance_unit_size == 2), + (state == states.DE) & (assistance_unit_size == 1), + (state == states.DE) & (assistance_unit_size == 2), + (state == states.WA) & (assistance_unit_size == 1), + ], + [ + p.tx.special_income_limit.individual, + p.tx.special_income_limit.couple, + p.de.special_income_limit.individual, + p.de.special_income_limit.couple, + p.wa.special_income_limit.individual, + ], + default=0, + ) + + needs_based_income = min_( + person("medicaid_ltss_needs_based_income", period), + income, + ) + non_needs_based_income = max_(income - needs_based_income, 0) + delaware_disregard = min_( + non_needs_based_income, + p.de.income.general_disregard, + ) + income_after_disregard = where( + state == states.DE, + max_(income - delaware_disregard, 0), + income, + ) + special_income_eligible = income_after_disregard <= special_income_limit + + medically_needy_expenses = person( + "medicaid_ltss_medically_needy_expenses", period + ) + cost_of_care = person("medicaid_ltss_cost_of_care", period) + washington_institutional_mn_eligible = (setting == settings.INSTITUTIONAL) & ( + max_(income - medically_needy_expenses, 0) <= cost_of_care + ) + washington_hcbs_mn_eligible = (setting == settings.HCBS) & ( + max_( + income - medically_needy_expenses - cost_of_care, + 0, + ) + <= p.wa.medically_needy.income_level + ) + + return ((pathway == pathways.SPECIAL_INCOME) & special_income_eligible) | ( + (pathway == pathways.INSTITUTIONAL_MEDICALLY_NEEDY) + & (state == states.WA) + & (washington_institutional_mn_eligible | washington_hcbs_mn_eligible) + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_assistance_unit_size.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_assistance_unit_size.py new file mode 100644 index 00000000000..7bae076b926 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_assistance_unit_size.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_assistance_unit_size(Variable): + value_type = int + entity = Person + label = "Medicaid LTSS assistance unit size" + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit size of the assistance unit used by the Medicaid LTSS " + "financial threshold screen. It is not inferred from a tax unit, " + "household, or marital unit. Zero is unsupported and therefore " + "fail-closed." + ) + reference = "https://www.law.cornell.edu/cfr/text/42/435.601" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_countable_resources.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_countable_resources.py new file mode 100644 index 00000000000..e7ff04d8b62 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_countable_resources.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_community_spouse_countable_resources(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS community spouse countable resources" + unit = USD + quantity_type = STOCK + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted current comprehensive LTSS countable resources allocated to " + "the community spouse after applicable ownership and exclusion " + "rules. Court orders, fair-hearing adjustments, and legal ownership " + "determinations are not modeled." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396r-5" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_shelter_expenses.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_shelter_expenses.py new file mode 100644 index 00000000000..af4d8ae1d7b --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_community_spouse_shelter_expenses.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_community_spouse_shelter_expenses(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS community spouse shelter expenses" + unit = USD + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted monthly shelter expenses of the community spouse that are " + "allowable for the minimum monthly maintenance needs allowance. The " + "model does not determine which housing or utility costs qualify." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396r-5" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_cost_of_care.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_cost_of_care.py new file mode 100644 index 00000000000..5d167fc17e4 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_cost_of_care.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_cost_of_care(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS cost of care" + unit = USD + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit Washington medically needy threshold input. For a medical " + "institution it is the applicable state-contracted daily rate " + "multiplied by covered days; for a named HCS waiver it is the " + "applicable average monthly state nursing-facility rate. It is " + "trusted rather than derived and does not represent a Medicaid " + "benefit amount or patient liability." + ) + reference = ( + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508", + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_countable_resources.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_countable_resources.py new file mode 100644 index 00000000000..5c0e9994ce0 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_countable_resources.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_countable_resources(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS countable resources" + unit = USD + quantity_type = STOCK + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted comprehensive LTSS countable-resource input for the " + "applicant or applicant assistance unit after applicable state " + "exclusions, disregards, and ownership rules. When the applicant has " + "a community spouse, this input excludes resources allocated to that " + "spouse, which are supplied separately. It is not calculated from " + "PolicyEngine's narrower SSI asset inputs. The user must perform the " + "resource inventory and legal classification before supplying this " + "value." + ) + reference = "https://www.law.cornell.edu/cfr/text/42/435.601" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_couple_countable_resources_at_first_institutionalization.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_couple_countable_resources_at_first_institutionalization.py new file mode 100644 index 00000000000..a0c08115554 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_couple_countable_resources_at_first_institutionalization.py @@ -0,0 +1,19 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_couple_countable_resources_at_first_institutionalization(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS couple countable resources at first institutionalization" + unit = USD + quantity_type = STOCK + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted historical snapshot of the couple's total countable " + "resources at the beginning of the first continuous period of " + "institutionalization. The same snapshot should be supplied in each " + "modeled month. The model does not reconstruct or adjudicate the " + "snapshot." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396r-5" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py new file mode 100644 index 00000000000..5481866e8f7 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py @@ -0,0 +1,87 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_csra_resource_eligible(Variable): + value_type = bool + entity = Person + label = "Meets modeled Medicaid LTSS resource threshold after CSRA" + definition_period = MONTH + documentation = ( + "Tests trusted comprehensive LTSS countable-resource inputs. For an " + "applicant with a community spouse, the initial CSRA is the greater " + "of the applicable state/federal floor or one-half of the couple's " + "snapshot resources, capped at the federal maximum. Court and fair-" + "hearing adjustments, resource-hardship overrides, and detailed " + "state asset exclusions are not modeled." + ) + reference = ( + "https://www.law.cornell.edu/uscode/text/42/1396r-5", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf", + ) + + def formula_2026_01_01(person, period, parameters): + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + state = person.household("state_code", period) + states = state.possible_values + pathway = person("medicaid_ltss_financial_pathway", period) + pathways = pathway.possible_values + assistance_unit_size = person("medicaid_ltss_assistance_unit_size", period) + resources = person("medicaid_ltss_countable_resources", period) + + resource_limit = select( + [ + (state == states.TX) & (assistance_unit_size == 1), + (state == states.TX) & (assistance_unit_size == 2), + (state == states.DE) & (assistance_unit_size == 1), + (state == states.DE) & (assistance_unit_size == 2), + (state == states.WA) & (assistance_unit_size == 1), + ], + [ + p.tx.resources.individual, + p.tx.resources.couple, + p.de.resources.individual, + p.de.resources.couple, + p.wa.resources.individual, + ], + default=0, + ) + no_community_spouse_eligible = resources <= resource_limit + + state_csra_minimum = select( + [ + state == states.TX, + state == states.DE, + state == states.WA, + ], + [ + max_(p.tx.csra.state_minimum, p.federal.csra.minimum), + max_(p.de.csra.state_minimum, p.federal.csra.minimum), + max_(p.wa.csra.state_minimum, p.federal.csra.minimum), + ], + default=0, + ) + snapshot_resources = person( + "medicaid_ltss_couple_countable_resources_at_first_institutionalization", + period, + ) + csra = min_( + max_(snapshot_resources / 2, state_csra_minimum), + p.federal.csra.maximum, + ) + current_couple_resources = resources + person( + "medicaid_ltss_community_spouse_countable_resources", + period, + ) + has_community_spouse = person("medicaid_ltss_has_community_spouse", period) + community_spouse_eligible = (assistance_unit_size == 1) & ( + current_couple_resources <= csra + resource_limit + ) + modeled_pathway = pathway != pathways.UNMODELED + + return modeled_pathway & where( + has_community_spouse, + community_spouse_eligible, + no_community_spouse_eligible, + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py new file mode 100644 index 00000000000..47fa0239f3c --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py @@ -0,0 +1,79 @@ +from policyengine_us.model_api import * + + +class MedicaidLTSSFinancialPathway(Enum): + UNMODELED = "Unmodeled" + SPECIAL_INCOME = "Special income" + INSTITUTIONAL_MEDICALLY_NEEDY = "Institutional medically needy" + + +class medicaid_ltss_financial_pathway(Variable): + value_type = Enum + possible_values = MedicaidLTSSFinancialPathway + default_value = MedicaidLTSSFinancialPathway.UNMODELED + entity = Person + label = "Medicaid LTSS financial pathway" + definition_period = MONTH + documentation = ( + "Identifies the modeled financial pathway for the opt-in Medicaid " + "long-term services and supports threshold screen. Institutional " + "pathways are modeled for Texas, Delaware, and Washington. HCBS " + "pathways are modeled only for Washington's source-named COPES, New " + "Freedom, and Residential Support waivers. All other states, settings, " + "waivers, and unsupported assistance-unit sizes are unmodeled." + ) + reference = ( + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395", + "https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs", + ) + + def formula_2026_01_01(person, period, parameters): + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + state = person.household("state_code", period) + states = state.possible_values + setting = person("medicaid_ltss_setting", period) + settings = setting.possible_values + waiver = person("medicaid_ltss_waiver", period) + waivers = waiver.possible_values + assistance_unit_size = person("medicaid_ltss_assistance_unit_size", period) + income = person("medicaid_ltss_qit_adjusted_income", period) + + institutional = (setting == settings.INSTITUTIONAL) & (waiver == waivers.NONE) + washington_hcbs = (setting == settings.HCBS) & ( + ((waiver == waivers.WA_COPES) & p.wa.waivers.copes.enabled) + | ((waiver == waivers.WA_NEW_FREEDOM) & p.wa.waivers.new_freedom.enabled) + | ((waiver == waivers.WA_RSW) & p.wa.waivers.rsw.enabled) + ) + + texas_or_delaware_institutional = ( + institutional + & ((state == states.TX) | (state == states.DE)) + & ((assistance_unit_size == 1) | (assistance_unit_size == 2)) + ) + washington_modeled_setting = ( + (state == states.WA) + & (institutional | washington_hcbs) + & (assistance_unit_size == 1) + ) + washington_special_income = washington_modeled_setting & ( + income <= p.wa.special_income_limit.individual + ) + washington_medically_needy = washington_modeled_setting & ( + income > p.wa.special_income_limit.individual + ) + + return select( + [ + texas_or_delaware_institutional, + washington_special_income, + washington_medically_needy, + ], + [ + MedicaidLTSSFinancialPathway.SPECIAL_INCOME, + MedicaidLTSSFinancialPathway.SPECIAL_INCOME, + MedicaidLTSSFinancialPathway.INSTITUTIONAL_MEDICALLY_NEEDY, + ], + default=MedicaidLTSSFinancialPathway.UNMODELED, + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_has_community_spouse.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_has_community_spouse.py new file mode 100644 index 00000000000..adc4c96fb3d --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_has_community_spouse.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_has_community_spouse(Variable): + value_type = bool + entity = Person + label = "Has a community spouse for Medicaid LTSS" + definition_period = MONTH + default_value = False + documentation = ( + "Explicit indication that the LTSS applicant has a community spouse " + "for spousal-impoverishment protections. It is not inferred from a " + "tax, household, or marital unit." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396r-5" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_encumbrances.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_encumbrances.py new file mode 100644 index 00000000000..a1195000747 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_encumbrances.py @@ -0,0 +1,17 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_encumbrances(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS home encumbrances" + unit = USD + quantity_type = STOCK + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit current enforceable debt secured by the home and deducted " + "from market value before applying the applicant's ownership share " + "in the Medicaid LTSS home-equity payment-bar calculation." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py new file mode 100644 index 00000000000..6a31d7dc243 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py @@ -0,0 +1,64 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_equity_eligible(Variable): + value_type = bool + entity = Person + label = "Meets modeled Medicaid LTSS home-equity threshold" + definition_period = MONTH + documentation = ( + "Models the separate LTSS home-equity payment bar from explicit home " + "value, encumbrance, fractional-ownership, resident-exception, and " + "hardship inputs. Texas and Washington have sourced 2026 caps. " + "Delaware remains unmodeled because the cited sources do not establish " + "a state-issued numeric 2026 cap." + ) + reference = ( + "https://www.law.cornell.edu/uscode/text/42/1396p", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf", + ) + + def formula_2026_01_01(person, period, parameters): + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + state = person.household("state_code", period) + states = state.possible_values + pathway = person("medicaid_ltss_financial_pathway", period) + pathways = pathway.possible_values + + home_equity_limit = select( + [state == states.TX, state == states.WA], + [p.tx.home_equity.limit, p.wa.home_equity.limit], + default=0, + ) + home_cap_is_modeled = (state == states.TX) | (state == states.WA) + home_value = person("medicaid_ltss_home_market_value", period) + encumbrances = person("medicaid_ltss_home_encumbrances", period) + ownership_share = person("medicaid_ltss_home_ownership_share", period) + valid_ownership_share = (ownership_share >= 0) & (ownership_share <= 1) + applicant_home_equity = max_(home_value - encumbrances, 0) * ownership_share + exception = ( + person("medicaid_ltss_home_occupied_by_spouse", period) + | person( + "medicaid_ltss_home_occupied_by_child_under_21", + period, + ) + | person( + "medicaid_ltss_home_occupied_by_blind_or_disabled_child", + period, + ) + | person( + "medicaid_ltss_home_equity_hardship_waiver", + period, + ) + ) + + return ( + (pathway != pathways.UNMODELED) + & valid_ownership_share + & ( + exception + | (home_cap_is_modeled & (applicant_home_equity <= home_equity_limit)) + ) + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_hardship_waiver.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_hardship_waiver.py new file mode 100644 index 00000000000..d494dcb3586 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_hardship_waiver.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_equity_hardship_waiver(Variable): + value_type = bool + entity = Person + label = "Medicaid LTSS home-equity hardship waiver" + definition_period = MONTH + default_value = False + documentation = ( + "Trusted indication that the administering agency has granted an " + "undue-hardship waiver of the Medicaid LTSS home-equity payment bar. " + "The model does not apply hardship criteria or adjudicate the waiver." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f_4" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_market_value.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_market_value.py new file mode 100644 index 00000000000..d2e1bbccb45 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_market_value.py @@ -0,0 +1,17 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_market_value(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS home market value" + unit = USD + quantity_type = STOCK + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit current market value of the home used in the separate " + "Medicaid LTSS home-equity payment-bar calculation. Home equity is " + "not treated as an ordinary countable resource by this input." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_blind_or_disabled_child.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_blind_or_disabled_child.py new file mode 100644 index 00000000000..73a56cf80e9 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_blind_or_disabled_child.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_occupied_by_blind_or_disabled_child(Variable): + value_type = bool + entity = Person + label = "Medicaid LTSS home occupied by blind or disabled child" + definition_period = MONTH + default_value = False + documentation = ( + "Explicit indication that the applicant's blind or disabled child " + "lawfully resides in the home for the Medicaid LTSS home-equity " + "exception. The model does not adjudicate disability, relationship, " + "or residence." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f_2" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_child_under_21.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_child_under_21.py new file mode 100644 index 00000000000..c7b64ab45af --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_child_under_21.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_occupied_by_child_under_21(Variable): + value_type = bool + entity = Person + label = "Medicaid LTSS home occupied by child under age 21" + definition_period = MONTH + default_value = False + documentation = ( + "Explicit indication that the applicant's child under age 21 " + "lawfully resides in the home for the Medicaid LTSS home-equity " + "exception. The model does not infer the relationship or residence." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f_2" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_spouse.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_spouse.py new file mode 100644 index 00000000000..7cafa295b19 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_occupied_by_spouse.py @@ -0,0 +1,15 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_occupied_by_spouse(Variable): + value_type = bool + entity = Person + label = "Medicaid LTSS home occupied by spouse" + definition_period = MONTH + default_value = False + documentation = ( + "Explicit indication that the applicant's spouse lawfully resides in " + "the home for the Medicaid LTSS home-equity exception. The model does " + "not infer residence from household membership." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f_2" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_ownership_share.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_ownership_share.py new file mode 100644 index 00000000000..11f6893f472 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_ownership_share.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_home_ownership_share(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS home ownership share" + unit = "/1" + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit fractional share of the home's equity owned by the LTSS " + "applicant, from zero to one. Zero is the safe default. The model does " + "not determine title, jointly owned shares, or legal ownership." + ) + reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_medically_needy_expenses.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_medically_needy_expenses.py new file mode 100644 index 00000000000..f8fee6bb58d --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_medically_needy_expenses.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_medically_needy_expenses(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS medically needy expenses" + unit = USD + definition_period = MONTH + default_value = 0 + documentation = ( + "Explicit monthly exclusions, post-eligibility deductions, and " + "incurred medical expenses used to derive Washington remaining or " + "net available income. This trusted input must already reflect the " + "applicable expense categories, ordering, and documentation; the " + "model does not adjudicate expenses or calculate a spenddown budget " + "period." + ) + reference = ( + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508", + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py new file mode 100644 index 00000000000..0bbea57e10c --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py @@ -0,0 +1,45 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_mmmna(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS minimum monthly maintenance needs allowance" + unit = USD + definition_period = MONTH + documentation = ( + "Calculates the federal MMMNA standard from the July 2026 minimum, " + "allowable community-spouse shelter expenses supplied as an explicit " + "input, and the federal maximum. It is a post-eligibility spousal " + "protection standard, not an applicant income-eligibility deduction. " + "The January-through-June 2026 minimum is left unmodeled." + ) + reference = ( + "https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf", + "https://www.law.cornell.edu/uscode/text/42/1396r-5", + ) + + def formula_2026_07_01(person, period, parameters): + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + pathway = person("medicaid_ltss_financial_pathway", period) + pathways = pathway.possible_values + has_community_spouse = person("medicaid_ltss_has_community_spouse", period) + shelter_expenses = person( + "medicaid_ltss_community_spouse_shelter_expenses", + period, + ) + + excess_shelter_expenses = max_( + shelter_expenses + - (p.federal.mmmna.minimum * p.federal.mmmna.shelter_threshold_rate), + 0, + ) + mmmna = min_( + p.federal.mmmna.minimum + excess_shelter_expenses, + p.federal.mmmna.maximum, + ) + return where( + (pathway != pathways.UNMODELED) & has_community_spouse, + mmmna, + 0, + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_needs_based_income.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_needs_based_income.py new file mode 100644 index 00000000000..77faf850fe9 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_needs_based_income.py @@ -0,0 +1,20 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_needs_based_income(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS needs-based income" + unit = USD + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted portion of QIT-adjusted income that comes from needs-based " + "sources. The Delaware general income disregard is not applied to " + "this portion. The model does not classify or allocate income " + "sources." + ) + reference = ( + "https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py new file mode 100644 index 00000000000..9d23cd68038 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class medicaid_ltss_qit_adjusted_income(Variable): + value_type = float + entity = Person + label = "Medicaid LTSS QIT-adjusted income" + unit = USD + definition_period = MONTH + default_value = 0 + documentation = ( + "Trusted monthly income input after any qualified income trust " + "treatment and applicant/spouse ownership allocation. The model does " + "not validate trust legality, irrevocability, funding, payback terms, " + "or which income was validly deposited. The user must perform those " + "determinations before supplying this value." + ) + reference = ( + "https://www.law.cornell.edu/uscode/text/42/1396p#d_4_B", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/f-6800-qualified-income-trust", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_setting.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_setting.py new file mode 100644 index 00000000000..2b131adedb4 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_setting.py @@ -0,0 +1,26 @@ +from policyengine_us.model_api import * + + +class MedicaidLTSSSetting(Enum): + UNKNOWN = "Unknown" + INSTITUTIONAL = "Institutional" + HCBS = "Home and community-based services" + + +class medicaid_ltss_setting(Variable): + value_type = Enum + possible_values = MedicaidLTSSSetting + default_value = MedicaidLTSSSetting.UNKNOWN + entity = Person + label = "Medicaid LTSS setting" + definition_period = MONTH + documentation = ( + "Explicit setting input for the opt-in Medicaid LTSS financial " + "threshold screen. UNKNOWN is fail-closed. This input does not " + "establish institutional level of care, functional eligibility, " + "service authorization, or receipt of services." + ) + reference = ( + "https://www.law.cornell.edu/cfr/text/42/435.236", + "https://www.law.cornell.edu/cfr/text/42/435.217", + ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py new file mode 100644 index 00000000000..34cb11f03dc --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py @@ -0,0 +1,30 @@ +from policyengine_us.model_api import * + + +class MedicaidLTSSWaiver(Enum): + NONE = "None" + WA_COPES = "Washington COPES" + WA_NEW_FREEDOM = "Washington New Freedom" + WA_RSW = "Washington Residential Support Waiver" + UNKNOWN = "Unknown" + + +class medicaid_ltss_waiver(Variable): + value_type = Enum + possible_values = MedicaidLTSSWaiver + default_value = MedicaidLTSSWaiver.NONE + entity = Person + label = "Medicaid LTSS waiver" + definition_period = MONTH + documentation = ( + "Explicit named-waiver input for the opt-in Medicaid LTSS financial " + "threshold screen. UNKNOWN and unsupported waiver selections are " + "unmodeled and fail closed; they never inherit a generic statewide " + "HCBS rule. This input does not establish waiver enrollment, a slot, " + "level of care, or service authorization." + ) + reference = ( + "https://www.law.cornell.edu/cfr/text/42/435.217", + "https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508", + ) From c4f7736e4f4be9c1f96f34b3fb103449d1305eff Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 30 Jul 2026 23:29:33 -0400 Subject: [PATCH 2/7] Test Medicaid LTSS financial eligibility screen --- ...aid_ltss_financial_threshold_eligible.yaml | 163 +++++++ .../is_medicaid_ltss_income_eligible.yaml | 440 ++++++++++++++++++ .../medicaid_ltss_csra_resource_eligible.yaml | 246 ++++++++++ .../medicaid_ltss_financial_pathway.yaml | 132 ++++++ .../medicaid_ltss_home_equity_eligible.yaml | 212 +++++++++ .../financial/medicaid_ltss_mmmna.yaml | 59 +++ 6 files changed, 1252 insertions(+) create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml new file mode 100644 index 00000000000..c383d17317a --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml @@ -0,0 +1,163 @@ +- name: MMMNA does not convert above-SIL applicant income into eligibility. + period: 2026-07 + absolute_error_margin: 0.01 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 3_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 0 + medicaid_ltss_community_spouse_shelter_expenses: 3_000 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + medicaid_ltss_mmmna: 4_066.50 + is_medicaid_ltss_income_eligible: false + is_medicaid_ltss_financial_threshold_eligible: false + +- name: Identical facts produce state-specific TX, DE, and WA home-equity results. + period: 2026-07 + input: + people: + texas: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_500 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_home_market_value: 800_000 + medicaid_ltss_home_ownership_share: 1 + delaware: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_500 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_home_market_value: 800_000 + medicaid_ltss_home_ownership_share: 1 + washington: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_500 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_home_market_value: 800_000 + medicaid_ltss_home_ownership_share: 1 + tax_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + marital_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + spm_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + households: + texas: + members: [texas] + state_code: + 2026: TX + delaware: + members: [delaware] + state_code: + 2026: DE + washington: + members: [washington] + state_code: + 2026: WA + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME] + is_medicaid_ltss_income_eligible: [true, true, true] + medicaid_ltss_csra_resource_eligible: [true, true, true] + medicaid_ltss_home_equity_eligible: [false, false, true] + is_medicaid_ltss_financial_threshold_eligible: [false, false, true] + +- name: Vectorized assistance units and explicit ownership inputs remain separate. + period: 2026-07 + input: + people: + single: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_home_market_value: 900_000 + medicaid_ltss_home_encumbrances: 200_000 + medicaid_ltss_home_ownership_share: 1 + couple: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 5_000 + medicaid_ltss_countable_resources: 3_000 + medicaid_ltss_home_market_value: 1_600_000 + medicaid_ltss_home_ownership_share: 0.5 + community_spouse: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_countable_resources: 50_000 + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 100_000 + medicaid_ltss_home_market_value: 1_500_000 + medicaid_ltss_home_ownership_share: 0.5 + tax_units: + single: + members: [single] + couple: + members: [couple] + community_spouse: + members: [community_spouse] + marital_units: + single: + members: [single] + couple: + members: [couple] + community_spouse: + members: [community_spouse] + spm_units: + single: + members: [single] + couple: + members: [couple] + community_spouse: + members: [community_spouse] + households: + single: + members: [single] + state_code: + 2026: TX + couple: + members: [couple] + state_code: + 2026: TX + community_spouse: + members: [community_spouse] + state_code: + 2026: TX + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME] + is_medicaid_ltss_income_eligible: [true, true, true] + medicaid_ltss_csra_resource_eligible: [true, true, true] + medicaid_ltss_home_equity_eligible: [true, false, true] + is_medicaid_ltss_financial_threshold_eligible: [true, false, true] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml new file mode 100644 index 00000000000..7bee7e22677 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml @@ -0,0 +1,440 @@ +- name: Case 1, Texas special income limit includes the exact monthly limit. + period: 2026-07 + input: + people: + below_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_981 + at_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + above_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_983 + couple_below_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 5_963 + couple_at_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 5_964 + couple_above_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 5_965 + tax_units: + tax_unit_below_limit: + members: [below_limit] + tax_unit_at_limit: + members: [at_limit] + tax_unit_above_limit: + members: [above_limit] + tax_unit_couple_below_limit: + members: [couple_below_limit] + tax_unit_couple_at_limit: + members: [couple_at_limit] + tax_unit_couple_above_limit: + members: [couple_above_limit] + marital_units: + marital_unit_below_limit: + members: [below_limit] + marital_unit_at_limit: + members: [at_limit] + marital_unit_above_limit: + members: [above_limit] + marital_unit_couple_below_limit: + members: [couple_below_limit] + marital_unit_couple_at_limit: + members: [couple_at_limit] + marital_unit_couple_above_limit: + members: [couple_above_limit] + spm_units: + spm_unit_below_limit: + members: [below_limit] + spm_unit_at_limit: + members: [at_limit] + spm_unit_above_limit: + members: [above_limit] + spm_unit_couple_below_limit: + members: [couple_below_limit] + spm_unit_couple_at_limit: + members: [couple_at_limit] + spm_unit_couple_above_limit: + members: [couple_above_limit] + households: + household_below_limit: + members: [below_limit] + state_code: + 2026: TX + household_at_limit: + members: [at_limit] + state_code: + 2026: TX + household_above_limit: + members: [above_limit] + state_code: + 2026: TX + household_couple_below_limit: + members: [couple_below_limit] + state_code: + 2026: TX + household_couple_at_limit: + members: [couple_at_limit] + state_code: + 2026: TX + household_couple_above_limit: + members: [couple_above_limit] + state_code: + 2026: TX + output: + is_medicaid_ltss_income_eligible: + [true, true, false, true, true, false] + +- name: Case 2, Texas valid QIT is sufficient when trusted adjusted income is at the limit. + period: 2026-07 + input: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + state_code: + 2026: TX + output: + is_medicaid_ltss_income_eligible: true + +- name: Case 3, Texas valid QIT is insufficient when trusted adjusted income remains above the limit. + period: 2026-07 + input: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_983 + state_code: + 2026: TX + output: + is_medicaid_ltss_income_eligible: false + +- name: Case 4, Delaware needs-based income receives no general disregard. + period: 2026-07 + input: + people: + below_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_484 + medicaid_ltss_needs_based_income: 2_484 + at_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_485 + medicaid_ltss_needs_based_income: 2_485 + above_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_486 + medicaid_ltss_needs_based_income: 2_486 + couple_below_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_727 + medicaid_ltss_needs_based_income: 3_727 + couple_at_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_727.50 + medicaid_ltss_needs_based_income: 3_727.50 + couple_above_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_728 + medicaid_ltss_needs_based_income: 3_728 + tax_units: + tax_unit_below_limit: + members: [below_limit] + tax_unit_at_limit: + members: [at_limit] + tax_unit_above_limit: + members: [above_limit] + tax_unit_couple_below_limit: + members: [couple_below_limit] + tax_unit_couple_at_limit: + members: [couple_at_limit] + tax_unit_couple_above_limit: + members: [couple_above_limit] + marital_units: + marital_unit_below_limit: + members: [below_limit] + marital_unit_at_limit: + members: [at_limit] + marital_unit_above_limit: + members: [above_limit] + marital_unit_couple_below_limit: + members: [couple_below_limit] + marital_unit_couple_at_limit: + members: [couple_at_limit] + marital_unit_couple_above_limit: + members: [couple_above_limit] + spm_units: + spm_unit_below_limit: + members: [below_limit] + spm_unit_at_limit: + members: [at_limit] + spm_unit_above_limit: + members: [above_limit] + spm_unit_couple_below_limit: + members: [couple_below_limit] + spm_unit_couple_at_limit: + members: [couple_at_limit] + spm_unit_couple_above_limit: + members: [couple_above_limit] + households: + household_below_limit: + members: [below_limit] + state_code: + 2026: DE + household_at_limit: + members: [at_limit] + state_code: + 2026: DE + household_above_limit: + members: [above_limit] + state_code: + 2026: DE + household_couple_below_limit: + members: [couple_below_limit] + state_code: + 2026: DE + household_couple_at_limit: + members: [couple_at_limit] + state_code: + 2026: DE + household_couple_above_limit: + members: [couple_above_limit] + state_code: + 2026: DE + output: + is_medicaid_ltss_income_eligible: + [true, true, false, true, true, false] + +- name: Case 5, Delaware applies the general disregard to ordinary income. + period: 2026-07 + input: + people: + below_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_504 + medicaid_ltss_needs_based_income: 0 + at_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_505 + medicaid_ltss_needs_based_income: 0 + above_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_506 + medicaid_ltss_needs_based_income: 0 + couple_below_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_747 + medicaid_ltss_needs_based_income: 0 + couple_at_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_747.50 + medicaid_ltss_needs_based_income: 0 + couple_above_limit_after_disregard: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_qit_adjusted_income: 3_748 + medicaid_ltss_needs_based_income: 0 + tax_units: + tax_unit_below_limit_after_disregard: + members: [below_limit_after_disregard] + tax_unit_at_limit_after_disregard: + members: [at_limit_after_disregard] + tax_unit_above_limit_after_disregard: + members: [above_limit_after_disregard] + tax_unit_couple_below_limit_after_disregard: + members: [couple_below_limit_after_disregard] + tax_unit_couple_at_limit_after_disregard: + members: [couple_at_limit_after_disregard] + tax_unit_couple_above_limit_after_disregard: + members: [couple_above_limit_after_disregard] + marital_units: + marital_unit_below_limit_after_disregard: + members: [below_limit_after_disregard] + marital_unit_at_limit_after_disregard: + members: [at_limit_after_disregard] + marital_unit_above_limit_after_disregard: + members: [above_limit_after_disregard] + marital_unit_couple_below_limit_after_disregard: + members: [couple_below_limit_after_disregard] + marital_unit_couple_at_limit_after_disregard: + members: [couple_at_limit_after_disregard] + marital_unit_couple_above_limit_after_disregard: + members: [couple_above_limit_after_disregard] + spm_units: + spm_unit_below_limit_after_disregard: + members: [below_limit_after_disregard] + spm_unit_at_limit_after_disregard: + members: [at_limit_after_disregard] + spm_unit_above_limit_after_disregard: + members: [above_limit_after_disregard] + spm_unit_couple_below_limit_after_disregard: + members: [couple_below_limit_after_disregard] + spm_unit_couple_at_limit_after_disregard: + members: [couple_at_limit_after_disregard] + spm_unit_couple_above_limit_after_disregard: + members: [couple_above_limit_after_disregard] + households: + household_below_limit_after_disregard: + members: [below_limit_after_disregard] + state_code: + 2026: DE + household_at_limit_after_disregard: + members: [at_limit_after_disregard] + state_code: + 2026: DE + household_above_limit_after_disregard: + members: [above_limit_after_disregard] + state_code: + 2026: DE + household_couple_below_limit_after_disregard: + members: [couple_below_limit_after_disregard] + state_code: + 2026: DE + household_couple_at_limit_after_disregard: + members: [couple_at_limit_after_disregard] + state_code: + 2026: DE + household_couple_above_limit_after_disregard: + members: [couple_above_limit_after_disregard] + state_code: + 2026: DE + output: + is_medicaid_ltss_income_eligible: + [true, true, false, true, true, false] + +- name: Case 6, Delaware does not disregard needs-based income above the limit. + period: 2026-07 + input: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_505 + medicaid_ltss_needs_based_income: 2_505 + state_code: + 2026: DE + output: + is_medicaid_ltss_income_eligible: false + +- name: Case 7, Washington switches to medically needy above the special income limit. + period: 2026-07 + input: + people: + below_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_981 + at_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + above_limit: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_983 + tax_units: + tax_unit_below_limit: + members: [below_limit] + tax_unit_at_limit: + members: [at_limit] + tax_unit_above_limit: + members: [above_limit] + marital_units: + marital_unit_below_limit: + members: [below_limit] + marital_unit_at_limit: + members: [at_limit] + marital_unit_above_limit: + members: [above_limit] + spm_units: + spm_unit_below_limit: + members: [below_limit] + spm_unit_at_limit: + members: [at_limit] + spm_unit_above_limit: + members: [above_limit] + households: + household_below_limit: + members: [below_limit] + state_code: + 2026: WA + household_at_limit: + members: [at_limit] + state_code: + 2026: WA + household_above_limit: + members: [above_limit] + state_code: + 2026: WA + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, INSTITUTIONAL_MEDICALLY_NEEDY] + is_medicaid_ltss_income_eligible: [true, true, false] + +- name: Case 8, Washington institutional medically needy income can equal cost of care. + period: 2026-07 + input: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 4_000 + medicaid_ltss_medically_needy_expenses: 500 + medicaid_ltss_cost_of_care: 3_500 + state_code: + 2026: WA + output: + is_medicaid_ltss_income_eligible: true + +- name: Case 9, Washington institutional medically needy income above cost of care fails. + period: 2026-07 + input: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 4_000 + medicaid_ltss_medically_needy_expenses: 500 + medicaid_ltss_cost_of_care: 3_499 + state_code: + 2026: WA + output: + is_medicaid_ltss_income_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml new file mode 100644 index 00000000000..8994ef1e694 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml @@ -0,0 +1,246 @@ +- name: Case 1, Texas individual resource limit includes the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 1_999 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_000 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_001 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: TX + at_household: + members: [at] + state_code: + 2026: TX + above_household: + members: [above] + state_code: + 2026: TX + output: + medicaid_ltss_csra_resource_eligible: [true, true, false] + +- name: Case 2, Texas couple resource limit includes the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 2_999 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_000 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_001 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: TX + at_household: + members: [at] + state_code: + 2026: TX + above_household: + members: [above] + state_code: + 2026: TX + output: + medicaid_ltss_csra_resource_eligible: [true, true, false] + +- name: Case 3, Delaware couple resource limit includes the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 2_999 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_000 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_001 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: DE + at_household: + members: [at] + state_code: + 2026: DE + above_household: + members: [above] + state_code: + 2026: DE + output: + medicaid_ltss_csra_resource_eligible: [true, true, false] + +- name: Case 4, Washington assistance unit of two is unmodeled and fails closed. + period: 2026-07 + input: + state_code: + 2026: WA + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 0 + output: + medicaid_ltss_financial_pathway: UNMODELED + medicaid_ltss_csra_resource_eligible: false + +- name: Case 5, the CSRA floor controls when half of snapshot resources is lower. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 60_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 32_532 + output: + medicaid_ltss_csra_resource_eligible: true + +- name: Case 6, half of snapshot resources controls between the CSRA bounds. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 100_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 50_000 + output: + medicaid_ltss_csra_resource_eligible: true + +- name: Case 7, the federal CSRA maximum controls when half of snapshot resources is higher. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 400_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 162_660 + output: + medicaid_ltss_csra_resource_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml new file mode 100644 index 00000000000..aafed5a7e82 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml @@ -0,0 +1,132 @@ +- name: Texas institutional assistance unit of one uses the special income pathway. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + +- name: Delaware institutional assistance unit of one uses the special income pathway. + period: 2026-07 + input: + state_code: + 2026: DE + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + +- name: Washington institutional income at the special income limit uses that pathway. + period: 2026-07 + input: + state_code: + 2026: WA + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + +- name: Washington institutional income above the special income limit uses medically needy. + period: 2026-07 + input: + state_code: + 2026: WA + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_983 + output: + medicaid_ltss_financial_pathway: INSTITUTIONAL_MEDICALLY_NEEDY + +- name: Washington COPES income at the special income limit uses that pathway. + period: 2026-07 + input: + state_code: + 2026: WA + medicaid_ltss_setting: HCBS + medicaid_ltss_waiver: WA_COPES + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + +- name: Washington named HCBS waivers vectorize across the income pathway boundary. + period: 2026-07 + input: + people: + new_freedom_applicant: + medicaid_ltss_setting: HCBS + medicaid_ltss_waiver: WA_NEW_FREEDOM + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_982 + rsw_applicant: + medicaid_ltss_setting: HCBS + medicaid_ltss_waiver: WA_RSW + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_983 + families: + new_freedom_family: + members: [new_freedom_applicant] + rsw_family: + members: [rsw_applicant] + marital_units: + new_freedom_marital_unit: + members: [new_freedom_applicant] + rsw_marital_unit: + members: [rsw_applicant] + tax_units: + new_freedom_tax_unit: + members: [new_freedom_applicant] + rsw_tax_unit: + members: [rsw_applicant] + spm_units: + new_freedom_spm_unit: + members: [new_freedom_applicant] + rsw_spm_unit: + members: [rsw_applicant] + households: + new_freedom_household: + members: [new_freedom_applicant] + state_code: + 2026: WA + rsw_household: + members: [rsw_applicant] + state_code: + 2026: WA + output: + medicaid_ltss_financial_pathway: + - SPECIAL_INCOME + - INSTITUTIONAL_MEDICALLY_NEEDY + +- name: Washington unknown HCBS waiver is unmodeled and fails every financial screen. + period: 2026-07 + input: + state_code: + 2026: WA + medicaid_ltss_setting: HCBS + medicaid_ltss_waiver: UNKNOWN + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_income_eligible: false + medicaid_ltss_csra_resource_eligible: false + medicaid_ltss_home_equity_eligible: false + is_medicaid_ltss_financial_threshold_eligible: false + +- name: Texas HCBS cannot use a Washington named waiver pathway. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: HCBS + medicaid_ltss_waiver: WA_COPES + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_financial_threshold_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml new file mode 100644 index 00000000000..5b9f64e07ea --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml @@ -0,0 +1,212 @@ +- name: Case 1, Texas home-equity cap includes the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 751_999 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: TX + at_household: + members: [at] + state_code: + 2026: TX + above_household: + members: [above] + state_code: + 2026: TX + output: + medicaid_ltss_home_equity_eligible: [true, true, false] + +- name: Case 2, Washington home-equity cap includes the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 1_129_999 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 1_130_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 1_130_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: WA + at_household: + members: [at] + state_code: + 2026: WA + above_household: + members: [above] + state_code: + 2026: WA + output: + medicaid_ltss_home_equity_eligible: [true, true, false] + +- name: Case 3, a resident spouse exception applies above the Texas cap. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + medicaid_ltss_home_occupied_by_spouse: true + output: + medicaid_ltss_home_equity_eligible: true + +- name: Case 4, a resident child under age 21 exception applies above the Texas cap. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + medicaid_ltss_home_occupied_by_child_under_21: true + output: + medicaid_ltss_home_equity_eligible: true + +- name: Case 5, a resident blind or disabled child exception applies above the Texas cap. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + medicaid_ltss_home_occupied_by_blind_or_disabled_child: true + output: + medicaid_ltss_home_equity_eligible: true + +- name: Case 6, a granted hardship waiver applies above the Texas cap. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + medicaid_ltss_home_equity_hardship_waiver: true + output: + medicaid_ltss_home_equity_eligible: true + +- name: Case 7, Delaware remains fail-closed without a modeled numeric home-equity cap. + period: 2026-07 + input: + state_code: + 2026: DE + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + medicaid_ltss_home_equity_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml new file mode 100644 index 00000000000..5c23ce6048c --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml @@ -0,0 +1,59 @@ +- name: Federal July 2026 MMMNA uses the base, shelter threshold, and maximum. + period: 2026-07 + absolute_error_margin: 0.01 + input: + people: + base: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 0 + shelter_threshold: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 811.50 + maximum: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 2_173 + tax_units: + base: + members: [base] + shelter_threshold: + members: [shelter_threshold] + maximum: + members: [maximum] + marital_units: + base: + members: [base] + shelter_threshold: + members: [shelter_threshold] + maximum: + members: [maximum] + spm_units: + base: + members: [base] + shelter_threshold: + members: [shelter_threshold] + maximum: + members: [maximum] + households: + base: + members: [base] + state_code: + 2026: TX + shelter_threshold: + members: [shelter_threshold] + state_code: + 2026: TX + maximum: + members: [maximum] + state_code: + 2026: TX + output: + medicaid_ltss_mmmna: [2_705, 2_705, 4_066.50] From c6b63e31a63a3ab32a3faecbf900830d39cc6486 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 30 Jul 2026 23:29:44 -0400 Subject: [PATCH 3/7] Add LTSS eligibility changelog fragment --- changelog.d/ltss-financial-eligibility.added.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/ltss-financial-eligibility.added.md diff --git a/changelog.d/ltss-financial-eligibility.added.md b/changelog.d/ltss-financial-eligibility.added.md new file mode 100644 index 00000000000..1e43eadfa4f --- /dev/null +++ b/changelog.d/ltss-financial-eligibility.added.md @@ -0,0 +1 @@ +Add an opt-in 2026 Medicaid LTSS financial-threshold screen for selected institutional and named-waiver pathways in Texas, Delaware, and Washington. From 733bb99ff25bd5583d435d623611c79c099d8329 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 30 Jul 2026 23:35:28 -0400 Subject: [PATCH 4/7] Complete LTSS resource boundary coverage --- .../medicaid_ltss_csra_resource_eligible.yaml | 143 ++++++++++++++++-- 1 file changed, 132 insertions(+), 11 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml index 8994ef1e694..8120f663032 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml @@ -124,7 +124,7 @@ output: medicaid_ltss_csra_resource_eligible: [true, true, false] -- name: Case 3, Delaware couple resource limit includes the exact boundary. +- name: Case 3, Delaware individual and couple resource limits include their exact boundaries. period: 2026-07 input: people: @@ -143,6 +143,21 @@ medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 3_001 + individual_below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 1_999 + individual_at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_000 + individual_above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_001 tax_units: below_tax_unit: members: [below] @@ -150,6 +165,12 @@ members: [at] above_tax_unit: members: [above] + individual_below_tax_unit: + members: [individual_below] + individual_at_tax_unit: + members: [individual_at] + individual_above_tax_unit: + members: [individual_above] families: below_family: members: [below] @@ -157,6 +178,12 @@ members: [at] above_family: members: [above] + individual_below_family: + members: [individual_below] + individual_at_family: + members: [individual_at] + individual_above_family: + members: [individual_above] spm_units: below_spm_unit: members: [below] @@ -164,6 +191,12 @@ members: [at] above_spm_unit: members: [above] + individual_below_spm_unit: + members: [individual_below] + individual_at_spm_unit: + members: [individual_at] + individual_above_spm_unit: + members: [individual_above] marital_units: below_marital_unit: members: [below] @@ -171,6 +204,12 @@ members: [at] above_marital_unit: members: [above] + individual_below_marital_unit: + members: [individual_below] + individual_at_marital_unit: + members: [individual_at] + individual_above_marital_unit: + members: [individual_above] households: below_household: members: [below] @@ -184,21 +223,103 @@ members: [above] state_code: 2026: DE + individual_below_household: + members: [individual_below] + state_code: + 2026: DE + individual_at_household: + members: [individual_at] + state_code: + 2026: DE + individual_above_household: + members: [individual_above] + state_code: + 2026: DE output: - medicaid_ltss_csra_resource_eligible: [true, true, false] + medicaid_ltss_csra_resource_eligible: + [true, true, false, true, true, false] -- name: Case 4, Washington assistance unit of two is unmodeled and fails closed. +- name: Case 4, Washington individual resource boundary is inclusive and assistance unit of two fails closed. period: 2026-07 input: - state_code: - 2026: WA - medicaid_ltss_setting: INSTITUTIONAL - medicaid_ltss_waiver: NONE - medicaid_ltss_assistance_unit_size: 2 - medicaid_ltss_countable_resources: 0 + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 1_999 + at: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_000 + above: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_countable_resources: 2_001 + unsupported_couple: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 0 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + unsupported_couple_tax_unit: + members: [unsupported_couple] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + unsupported_couple_family: + members: [unsupported_couple] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + unsupported_couple_spm_unit: + members: [unsupported_couple] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + unsupported_couple_marital_unit: + members: [unsupported_couple] + households: + below_household: + members: [below] + state_code: + 2026: WA + at_household: + members: [at] + state_code: + 2026: WA + above_household: + members: [above] + state_code: + 2026: WA + unsupported_couple_household: + members: [unsupported_couple] + state_code: + 2026: WA output: - medicaid_ltss_financial_pathway: UNMODELED - medicaid_ltss_csra_resource_eligible: false + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME, UNMODELED] + medicaid_ltss_csra_resource_eligible: [true, true, false, false] - name: Case 5, the CSRA floor controls when half of snapshot resources is lower. period: 2026-07 From 02a7c0b95d5a555bf84d0d1c08f12e046eec535e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 30 Jul 2026 23:39:02 -0400 Subject: [PATCH 5/7] Harden LTSS source and pathway coverage --- .../wa/medically_needy/income_level.yaml | 4 ++ .../financial/wa/resources/individual.yaml | 4 ++ .../wa/special_income_limit/individual.yaml | 4 ++ .../financial/wa/waivers/copes/enabled.yaml | 2 + .../wa/waivers/new_freedom/enabled.yaml | 2 + .../financial/wa/waivers/rsw/enabled.yaml | 2 + .../medicaid_ltss_csra_resource_eligible.yaml | 57 +++++++++++++++---- .../medicaid_ltss_financial_pathway.yaml | 5 +- 8 files changed, 69 insertions(+), 11 deletions(-) diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml index ff24723a8db..2b8db723ac4 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml @@ -9,3 +9,7 @@ metadata: reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml index 88b908e2eca..7364d2ee3e6 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml @@ -9,3 +9,7 @@ metadata: reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml index 1c817a72154..8ee274f6f59 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml @@ -9,3 +9,7 @@ metadata: reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml index e91598a3c11..4999614e36c 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml @@ -9,3 +9,5 @@ metadata: reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml index 3a3de9ea2d4..fa791e639d4 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml @@ -9,3 +9,5 @@ metadata: reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml index 296823f5f09..ac41ceba3ec 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml @@ -9,3 +9,5 @@ metadata: reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml index 8120f663032..7d02bb3a77f 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml @@ -354,14 +354,51 @@ - name: Case 7, the federal CSRA maximum controls when half of snapshot resources is higher. period: 2026-07 input: - state_code: - 2026: TX - medicaid_ltss_setting: INSTITUTIONAL - medicaid_ltss_waiver: NONE - medicaid_ltss_assistance_unit_size: 1 - medicaid_ltss_has_community_spouse: true - medicaid_ltss_couple_countable_resources_at_first_institutionalization: 400_000 - medicaid_ltss_countable_resources: 2_000 - medicaid_ltss_community_spouse_countable_resources: 162_660 + people: + at_maximum: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 400_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 162_660 + above_maximum: + medicaid_ltss_setting: INSTITUTIONAL + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 400_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 162_661 + tax_units: + at_maximum_tax_unit: + members: [at_maximum] + above_maximum_tax_unit: + members: [above_maximum] + families: + at_maximum_family: + members: [at_maximum] + above_maximum_family: + members: [above_maximum] + spm_units: + at_maximum_spm_unit: + members: [at_maximum] + above_maximum_spm_unit: + members: [above_maximum] + marital_units: + at_maximum_marital_unit: + members: [at_maximum] + above_maximum_marital_unit: + members: [above_maximum] + households: + at_maximum_household: + members: [at_maximum] + state_code: + 2026: TX + above_maximum_household: + members: [above_maximum] + state_code: + 2026: TX output: - medicaid_ltss_csra_resource_eligible: true + medicaid_ltss_csra_resource_eligible: [true, false] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml index aafed5a7e82..1a16d2021b2 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml @@ -69,7 +69,9 @@ medicaid_ltss_setting: HCBS medicaid_ltss_waiver: WA_RSW medicaid_ltss_assistance_unit_size: 1 - medicaid_ltss_qit_adjusted_income: 2_983 + medicaid_ltss_qit_adjusted_income: 4_000 + medicaid_ltss_medically_needy_expenses: 500 + medicaid_ltss_cost_of_care: 2_506 families: new_freedom_family: members: [new_freedom_applicant] @@ -103,6 +105,7 @@ medicaid_ltss_financial_pathway: - SPECIAL_INCOME - INSTITUTIONAL_MEDICALLY_NEEDY + is_medicaid_ltss_income_eligible: [true, true] - name: Washington unknown HCBS waiver is unmodeled and fails every financial screen. period: 2026-07 From e1ccdd5aa951423e2d35a626352fd8217d03bd15 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 19 Aug 2026 20:56:58 -0400 Subject: [PATCH 6/7] Address DTrim99 review: DE home-equity cap, state MMMNA regimes, ABD gate - Give Delaware the CPI-indexed federal-minimum home-equity cap (DSSM 20320.7.B/E) via a new long_term_care/home_equity/minimum_limit parameter; Texas reads the same minimum and Washington reads the existing tracked maximum-tier limit (WAC 182-513-1350(8)(c)). - Pass zero-equity applicants everywhere (42 USC 1396p(f)(1)(A)); unmodeled states pass at or below the federal minimum and fail closed above it. - Pay the Texas MMMNA as the flat federal maximum (Appendix XXXI; MEPD J-7200); Delaware and Washington keep the federal formula (DSSM 20910.4-.6; WAC 182-513-1385). - Gate the SSI-related pathways on is_ssi_aged_blind_disabled (42 CFR 435.236, 435.1005). - Delete the seven orphan federal parameters and the parallel home-equity parameter tree; cross-reference the annual chassis. - Sharpen references (CIB subject lines and page anchors, DSSM section titles, TX revision stamp, WA odd-year note, 1396r-5(d)(4), canonical WAC links) and grow the suite from 35 to 59 tests. Co-Authored-By: Claude Fable 5 --- .../financial/de/csra/state_minimum.yaml | 4 +- .../de/income/general_disregard.yaml | 4 +- .../financial/de/resources/couple.yaml | 4 +- .../financial/de/resources/individual.yaml | 4 +- .../de/special_income_limit/couple.yaml | 4 +- .../de/special_income_limit/individual.yaml | 4 +- .../financial/federal/csra/maximum.yaml | 4 +- .../financial/federal/csra/minimum.yaml | 4 +- .../federal/home_equity/maximum.yaml | 11 - .../federal/home_equity/minimum.yaml | 11 - .../financial/federal/mmmna/maximum.yaml | 4 +- .../financial/federal/mmmna/minimum.yaml | 4 +- .../federal/mmmna/shelter_threshold_rate.yaml | 6 +- .../financial/federal/resources/couple.yaml | 11 - .../federal/resources/individual.yaml | 11 - .../federal/special_income_limit/maximum.yaml | 11 - .../financial/federal/ssi_fbr/couple.yaml | 11 - .../financial/federal/ssi_fbr/individual.yaml | 11 - .../financial/tx/csra/state_minimum.yaml | 4 +- .../financial/tx/home_equity/limit.yaml | 11 - .../financial/tx/resources/couple.yaml | 2 +- .../financial/tx/resources/individual.yaml | 2 +- .../tx/special_income_limit/couple.yaml | 2 +- .../tx/special_income_limit/individual.yaml | 2 +- .../financial/wa/csra/state_minimum.yaml | 4 +- .../financial/wa/home_equity/limit.yaml | 11 - .../wa/medically_needy/income_level.yaml | 2 +- .../financial/wa/resources/individual.yaml | 2 +- .../wa/special_income_limit/individual.yaml | 4 +- .../financial/wa/waivers/copes/enabled.yaml | 2 +- .../wa/waivers/new_freedom/enabled.yaml | 2 +- .../financial/wa/waivers/rsw/enabled.yaml | 2 +- .../home_equity/minimum_limit.yaml | 16 ++ ...aid_ltss_financial_threshold_eligible.yaml | 137 +++++++++ .../is_medicaid_ltss_income_eligible.yaml | 164 +++++++++++ .../medicaid_ltss_csra_resource_eligible.yaml | 213 ++++++++++++++ .../medicaid_ltss_financial_pathway.yaml | 78 ++++- .../medicaid_ltss_home_equity_eligible.yaml | 268 +++++++++++++++++- .../financial/medicaid_ltss_mmmna.yaml | 209 +++++++++++++- ...aid_long_term_care_home_equity_eligible.py | 7 + .../is_medicaid_ltss_income_eligible.py | 10 +- .../medicaid_ltss_csra_resource_eligible.py | 15 +- .../medicaid_ltss_financial_pathway.py | 19 +- .../medicaid_ltss_home_equity_eligible.py | 47 ++- .../financial/medicaid_ltss_mmmna.py | 36 ++- .../medicaid_ltss_qit_adjusted_income.py | 9 +- .../financial/medicaid_ltss_waiver.py | 2 +- 47 files changed, 1211 insertions(+), 194 deletions(-) delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml delete mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml create mode 100644 policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/home_equity/minimum_limit.yaml diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml index 24ba770f1e6..4b782bae9c2 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/csra/state_minimum.yaml @@ -1,4 +1,4 @@ -description: Delaware uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +description: Delaware uses this state spousal share as the minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility, though the higher federal minimum resource allowance supersedes it. values: 2026-01-01: 25_000 @@ -7,5 +7,5 @@ metadata: period: month label: Delaware minimum Medicaid LTSS community spouse resource allowance reference: - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20910.10 - Community Spouse Resource Allowance, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml index d7c5cab22ee..981e43e2ace 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/income/general_disregard.yaml @@ -7,7 +7,7 @@ metadata: period: month label: Delaware Medicaid LTSS general income disregard reference: - - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + - title: Delaware DMMA Administrative Notice A-14-2025, 2026 SSI-Related Income Standards and Medicare Premiums href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20240.1 - Gross Income; DSSM 20990 - Income Rules, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml index 6de58cb4b34..a4cb5a10530 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/couple.yaml @@ -7,7 +7,7 @@ metadata: period: month label: Delaware Medicaid LTSS resource limit for a couple reference: - - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + - title: Delaware DMMA Administrative Notice A-14-2025, 2026 SSI-Related Income Standards and Medicare Premiums href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20100.2.2 - Individuals Whose Income is 250% of SSI, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml index e6fc806aa7b..5e6e59d2648 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/resources/individual.yaml @@ -7,7 +7,7 @@ metadata: period: month label: Delaware Medicaid LTSS resource limit for an individual reference: - - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + - title: Delaware DMMA Administrative Notice A-14-2025, 2026 SSI-Related Income Standards and Medicare Premiums href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20100.2.2 - Individuals Whose Income is 250% of SSI, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml index 61cc3149af9..cdbeb1a6da0 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/couple.yaml @@ -7,7 +7,7 @@ metadata: period: month label: Delaware Medicaid LTSS special income limit for a couple reference: - - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + - title: Delaware DMMA Administrative Notice A-14-2025, 2026 SSI-Related Income Standards and Medicare Premiums href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20100.2.2 - Individuals Whose Income is 250% of SSI, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml index 8728334b764..e178d502a0f 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/de/special_income_limit/individual.yaml @@ -7,7 +7,7 @@ metadata: period: month label: Delaware Medicaid LTSS special income limit for an individual reference: - - title: Delaware 2026 SSI Related Income Standards and Medicare Premiums + - title: Delaware DMMA Administrative Notice A-14-2025, 2026 SSI-Related Income Standards and Medicare Premiums href: https://dhss.delaware.gov/wp-content/uploads/sites/11/2026/06/2026-SSI-Related-Income-Standards-and-Medicare-Premiums.pdf - - title: Delaware Administrative Code, Title 16, Division of Social Services Manual - Long-Term Care + - title: DSSM 20100.2.2 - Individuals Whose Income is 250% of SSI, 16 DE Admin Code 20000 href: https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml index 457ba158cb0..12b6946e953 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/maximum.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Federal maximum Medicaid LTSS community spouse resource allowance reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf + - title: Updated 2026 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, April 27, 2026 + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml index ba0c34fb8f9..b5d68d2555d 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/csra/minimum.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Federal minimum Medicaid LTSS community spouse resource allowance reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf + - title: Updated 2026 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, April 27, 2026 + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml deleted file mode 100644 index 5c1b238fcb0..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/maximum.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal maximum state home equity limit for Medicaid LTSS financial eligibility. -values: - 2026-01-01: 1_130_000 - -metadata: - unit: currency-USD - period: month - label: Federal maximum Medicaid LTSS home equity limit - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml deleted file mode 100644 index 0aff7b8c326..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/home_equity/minimum.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal minimum state home equity limit for Medicaid LTSS financial eligibility. -values: - 2026-01-01: 752_000 - -metadata: - unit: currency-USD - period: month - label: Federal minimum Medicaid LTSS home equity limit - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml index f9e2df5c4a1..c790d4c9206 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/maximum.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Federal maximum Medicaid LTSS monthly maintenance needs allowance reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf + - title: Updated 2026 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, April 27, 2026 + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml index 6120ed808d0..1f10aa6411c 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/minimum.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Federal minimum Medicaid LTSS monthly maintenance needs allowance reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf + - title: Updated 2026 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, April 27, 2026 + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml index 63f0355ae07..e7cf752b7e3 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/mmmna/shelter_threshold_rate.yaml @@ -1,11 +1,11 @@ description: The share of the minimum monthly maintenance needs allowance used as the community spouse excess shelter expense threshold. values: - 2026-07-01: 0.30 + 2026-07-01: 0.3 metadata: unit: /1 period: month label: Medicaid LTSS community spouse shelter expense threshold rate reference: - - title: 42 USC 1396r-5 - Treatment of income and resources for certain institutionalized spouses - href: https://www.law.cornell.edu/uscode/text/42/1396r-5 + - title: 42 USC 1396r-5(d)(4) - Excess shelter allowance + href: https://www.law.cornell.edu/uscode/text/42/1396r-5#d_4 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml deleted file mode 100644 index ae177cfefd6..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/couple.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal Supplemental Security Income resource standard for a couple used in the Medicaid LTSS financial chassis. -values: - 2026-01-01: 3_000 - -metadata: - unit: currency-USD - period: month - label: Federal Medicaid LTSS resource standard for a couple - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml deleted file mode 100644 index 286799a4568..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/resources/individual.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal Supplemental Security Income resource standard for an individual used in the Medicaid LTSS financial chassis. -values: - 2026-01-01: 2_000 - -metadata: - unit: currency-USD - period: month - label: Federal Medicaid LTSS resource standard for an individual - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml deleted file mode 100644 index 036bdae49d4..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/special_income_limit/maximum.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal maximum monthly special income level for Medicaid LTSS financial eligibility. -values: - 2026-01-01: 2_982 - -metadata: - unit: currency-USD - period: month - label: Federal maximum Medicaid LTSS special income level - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml deleted file mode 100644 index ef56fd8f430..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/couple.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal monthly Supplemental Security Income benefit rate for an eligible couple used in the Medicaid LTSS financial chassis. -values: - 2026-01-01: 1_491 - -metadata: - unit: currency-USD - period: month - label: Federal Medicaid LTSS SSI benefit rate for a couple - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml deleted file mode 100644 index 74b41cd3875..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/federal/ssi_fbr/individual.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The federal monthly Supplemental Security Income benefit rate for an eligible individual used in the Medicaid LTSS financial chassis. -values: - 2026-01-01: 994 - -metadata: - unit: currency-USD - period: month - label: Federal Medicaid LTSS SSI benefit rate for an individual - reference: - - title: CMS Informational Bulletin - 2026 SSI and Spousal Impoverishment Standards - href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml index 126a4c45c75..b1732279992 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/csra/state_minimum.yaml @@ -1,4 +1,4 @@ -description: Texas uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +description: Texas adopts the minimum resource amount set by federal law when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. values: 2026-01-01: 32_532 @@ -7,5 +7,5 @@ metadata: period: month label: Texas minimum Medicaid LTSS community spouse resource allowance reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart, Revision 26-2, Effective June 1, 2026 href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml deleted file mode 100644 index 392a27f0346..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/home_equity/limit.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Texas limits home equity to this amount for Medicaid LTSS financial eligibility unless an exception applies. -values: - 2026-01-01: 752_000 - -metadata: - unit: currency-USD - period: month - label: Texas Medicaid LTSS home equity limit - reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart - href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml index 8f73c02bfe2..831836ceb54 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/couple.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Texas Medicaid LTSS resource limit for a couple reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart, Revision 26-2, Effective June 1, 2026 href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml index ce2114b5496..d384fc1047c 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/resources/individual.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Texas Medicaid LTSS resource limit for an individual reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart, Revision 26-2, Effective June 1, 2026 href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml index 9333a3f154e..914ca528c88 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/couple.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Texas Medicaid LTSS special income limit for a couple reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart, Revision 26-2, Effective June 1, 2026 href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml index 63da01823ea..85b720d7385 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/tx/special_income_limit/individual.yaml @@ -7,5 +7,5 @@ metadata: period: month label: Texas Medicaid LTSS special income limit for an individual reference: - - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart + - title: Texas Medicaid for the Elderly and People with Disabilities Handbook, Appendix XXXI - Budget Reference Chart, Revision 26-2, Effective June 1, 2026 href: https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml index 4a42c07e146..6b08d4f3bb7 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/csra/state_minimum.yaml @@ -1,4 +1,4 @@ -description: Washington uses this minimum when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. +description: Washington uses this minimum, which its standards chart stamps July 1, 2025 and revises on a July odd-year cycle, when calculating the community spouse resource allowance for Medicaid LTSS financial eligibility. values: 2026-01-01: 72_529 @@ -8,4 +8,4 @@ metadata: label: Washington minimum Medicaid LTSS community spouse resource allowance reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 - href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml deleted file mode 100644 index f9043549bab..00000000000 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/home_equity/limit.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Washington limits home equity to this amount for Medicaid LTSS financial eligibility unless an exception applies. -values: - 2026-01-01: 1_130_000 - -metadata: - unit: currency-USD - period: month - label: Washington Medicaid LTSS home equity limit - reference: - - title: Washington Apple Health Income and Resource Standards, January 1, 2026 - href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml index 2b8db723ac4..0f45b42b6df 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/medically_needy/income_level.yaml @@ -8,7 +8,7 @@ metadata: label: Washington institutional medically needy income level for a single person reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 - href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3 - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml index 7364d2ee3e6..d05d92e4cb7 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/resources/individual.yaml @@ -8,7 +8,7 @@ metadata: label: Washington Medicaid LTSS resource limit for an individual reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 - href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3 - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml index 8ee274f6f59..c45c7d2beda 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/special_income_limit/individual.yaml @@ -8,8 +8,10 @@ metadata: label: Washington Medicaid LTSS special income limit for an individual reference: - title: Washington Apple Health Income and Resource Standards, January 1, 2026 - href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf + href: https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3 - title: WAC 182-513-1395 - Institutional SSI-related medically needy eligibility href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 + - title: WAC 182-513-1100 - Definitions, special income level (SIL) + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1100 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml index 4999614e36c..b5e00fc0169 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/copes/enabled.yaml @@ -8,6 +8,6 @@ metadata: label: Washington Medicaid LTSS COPES waiver enabled reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services - href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1505 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml index fa791e639d4..94eb5aeb959 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/new_freedom/enabled.yaml @@ -8,6 +8,6 @@ metadata: label: Washington Medicaid LTSS New Freedom waiver enabled reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services - href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1505 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml index ac41ceba3ec..de59dd39a59 100644 --- a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/financial/wa/waivers/rsw/enabled.yaml @@ -8,6 +8,6 @@ metadata: label: Washington Medicaid LTSS RSW waiver enabled reference: - title: WAC 182-515-1505 - HCB waiver services authorized by Home and Community Services - href: https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs + href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1505 - title: WAC 182-515-1508 - HCS waiver financial eligibility using institutional rules href: https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508 diff --git a/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/home_equity/minimum_limit.yaml b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/home_equity/minimum_limit.yaml new file mode 100644 index 00000000000..c1112208424 --- /dev/null +++ b/policyengine_us/parameters/gov/hhs/medicaid/eligibility/long_term_care/home_equity/minimum_limit.yaml @@ -0,0 +1,16 @@ +description: The Department of Health and Human Services applies this federal minimum limit on home equity for Medicaid long-term care eligibility in states that do not elect a higher limit. +values: + 2025-01-01: 730_000 + 2026-01-01: 752_000 + +metadata: + unit: currency-USD + period: year + label: Medicaid long-term care federal minimum home equity limit + reference: + - title: 42 USC 1396p(f)(1)(A) and (C) - Disqualification for long-term care assistance for individuals with substantial home equity + href: https://www.law.cornell.edu/uscode/text/42/1396p#f_1 + - title: Updated 2025 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, May 28, 2025 + href: https://www.medicaid.gov/federal-policy-guidance/downloads/cib05282025.pdf#page=2 + - title: Updated 2026 SSI and Spousal Impoverishment Standards, CMCS Informational Bulletin, April 27, 2026 + href: https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2 diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml index c383d17317a..258a05eb8c8 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_financial_threshold_eligible.yaml @@ -5,6 +5,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 3_000 @@ -24,6 +26,8 @@ people: texas: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_500 @@ -32,6 +36,8 @@ medicaid_ltss_home_ownership_share: 1 delaware: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_500 @@ -40,6 +46,8 @@ medicaid_ltss_home_ownership_share: 1 washington: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_500 @@ -94,6 +102,8 @@ people: single: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_000 @@ -103,6 +113,8 @@ medicaid_ltss_home_ownership_share: 1 couple: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 5_000 @@ -111,6 +123,8 @@ medicaid_ltss_home_ownership_share: 0.5 community_spouse: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_000 @@ -161,3 +175,126 @@ medicaid_ltss_csra_resource_eligible: [true, true, true] medicaid_ltss_home_equity_eligible: [true, false, true] is_medicaid_ltss_financial_threshold_eligible: [true, false, true] + +- name: A Delaware non-homeowner with qualifying income and resources passes end to end. + period: 2026-07 + input: + state_code: + 2026: DE + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_400 + medicaid_ltss_countable_resources: 1_500 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + output: + medicaid_ltss_financial_pathway: SPECIAL_INCOME + is_medicaid_ltss_income_eligible: true + medicaid_ltss_csra_resource_eligible: true + medicaid_ltss_home_equity_eligible: true + is_medicaid_ltss_financial_threshold_eligible: true + +- name: A non-aged-blind-disabled applicant with qualifying finances is unmodeled end to end. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: false + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_400 + medicaid_ltss_countable_resources: 1_500 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_financial_threshold_eligible: false + +- name: Identical above-SIL facts diverge across TX, DE, and WA income pathways. + period: 2026-07 + input: + people: + texas: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 3_100 + medicaid_ltss_countable_resources: 1_500 + medicaid_ltss_cost_of_care: 3_500 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + delaware: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 3_100 + medicaid_ltss_countable_resources: 1_500 + medicaid_ltss_cost_of_care: 3_500 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + washington: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 3_100 + medicaid_ltss_countable_resources: 1_500 + medicaid_ltss_cost_of_care: 3_500 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + tax_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + marital_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + spm_units: + texas: + members: [texas] + delaware: + members: [delaware] + washington: + members: [washington] + households: + texas: + members: [texas] + state_code: + 2026: TX + delaware: + members: [delaware] + state_code: + 2026: DE + washington: + members: [washington] + state_code: + 2026: WA + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, INSTITUTIONAL_MEDICALLY_NEEDY] + is_medicaid_ltss_income_eligible: [false, false, true] + medicaid_ltss_csra_resource_eligible: [true, true, true] + medicaid_ltss_home_equity_eligible: [true, true, true] + is_medicaid_ltss_financial_threshold_eligible: [false, false, true] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml index 7bee7e22677..b98f99838d6 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.yaml @@ -4,31 +4,43 @@ people: below_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_981 at_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 above_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_983 couple_below_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 5_963 couple_at_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 5_964 couple_above_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 5_965 @@ -104,6 +116,8 @@ period: 2026-07 input: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 @@ -116,6 +130,8 @@ period: 2026-07 input: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_983 @@ -130,36 +146,48 @@ people: below_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_484 medicaid_ltss_needs_based_income: 2_484 at_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_485 medicaid_ltss_needs_based_income: 2_485 above_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_486 medicaid_ltss_needs_based_income: 2_486 couple_below_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_727 medicaid_ltss_needs_based_income: 3_727 couple_at_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_727.50 medicaid_ltss_needs_based_income: 3_727.50 couple_above_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_728 @@ -238,36 +266,48 @@ people: below_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_504 medicaid_ltss_needs_based_income: 0 at_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_505 medicaid_ltss_needs_based_income: 0 above_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_506 medicaid_ltss_needs_based_income: 0 couple_below_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_747 medicaid_ltss_needs_based_income: 0 couple_at_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_747.50 medicaid_ltss_needs_based_income: 0 couple_above_limit_after_disregard: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_qit_adjusted_income: 3_748 @@ -344,6 +384,8 @@ period: 2026-07 input: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_505 @@ -359,16 +401,22 @@ people: below_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_981 at_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 above_limit: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_983 @@ -415,6 +463,8 @@ period: 2026-07 input: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 4_000 @@ -429,6 +479,8 @@ period: 2026-07 input: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 4_000 @@ -438,3 +490,115 @@ 2026: WA output: is_medicaid_ltss_income_eligible: false + +- name: Case 10, zero income is eligible on the special income pathway. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 0 + output: + is_medicaid_ltss_income_eligible: true + +- name: Case 11, the Delaware disregard binds at an interior mixed-income value. + period: 2026-07 + input: + people: + passes_with_partial_disregard: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_480 + medicaid_ltss_needs_based_income: 2_470 + fails_with_partial_disregard: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 2_496 + medicaid_ltss_needs_based_income: 2_486 + tax_units: + passes_with_partial_disregard_tax_unit: + members: [passes_with_partial_disregard] + fails_with_partial_disregard_tax_unit: + members: [fails_with_partial_disregard] + marital_units: + passes_with_partial_disregard_marital_unit: + members: [passes_with_partial_disregard] + fails_with_partial_disregard_marital_unit: + members: [fails_with_partial_disregard] + spm_units: + passes_with_partial_disregard_spm_unit: + members: [passes_with_partial_disregard] + fails_with_partial_disregard_spm_unit: + members: [fails_with_partial_disregard] + households: + passes_with_partial_disregard_household: + members: [passes_with_partial_disregard] + state_code: + 2026: DE + fails_with_partial_disregard_household: + members: [fails_with_partial_disregard] + state_code: + 2026: DE + output: + is_medicaid_ltss_income_eligible: [true, false] + +- name: Case 12, Washington HCBS medically needy net income brackets the income level. + period: 2026-07 + input: + people: + at_income_level: + medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: WA_COPES + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 4_000 + medicaid_ltss_medically_needy_expenses: 500 + medicaid_ltss_cost_of_care: 2_506 + above_income_level: + medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: WA_COPES + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_qit_adjusted_income: 4_000 + medicaid_ltss_medically_needy_expenses: 500 + medicaid_ltss_cost_of_care: 2_505 + tax_units: + at_income_level_tax_unit: + members: [at_income_level] + above_income_level_tax_unit: + members: [above_income_level] + marital_units: + at_income_level_marital_unit: + members: [at_income_level] + above_income_level_marital_unit: + members: [above_income_level] + spm_units: + at_income_level_spm_unit: + members: [at_income_level] + above_income_level_spm_unit: + members: [above_income_level] + households: + at_income_level_household: + members: [at_income_level] + state_code: + 2026: WA + above_income_level_household: + members: [above_income_level] + state_code: + 2026: WA + output: + medicaid_ltss_financial_pathway: + [INSTITUTIONAL_MEDICALLY_NEEDY, INSTITUTIONAL_MEDICALLY_NEEDY] + is_medicaid_ltss_income_eligible: [true, false] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml index 7d02bb3a77f..5ee601cb61d 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.yaml @@ -4,16 +4,22 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 1_999 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_000 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_001 @@ -67,16 +73,22 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 2_999 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 3_000 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 3_001 @@ -130,31 +142,43 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 2_999 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 3_000 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 3_001 individual_below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 1_999 individual_at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_000 individual_above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_001 @@ -245,21 +269,29 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 1_999 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_000 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_countable_resources: 2_001 unsupported_couple: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 2 medicaid_ltss_countable_resources: 0 @@ -327,6 +359,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true @@ -342,6 +376,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true @@ -357,6 +393,8 @@ people: at_maximum: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true @@ -365,6 +403,8 @@ medicaid_ltss_community_spouse_countable_resources: 162_660 above_maximum: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true @@ -402,3 +442,176 @@ 2026: TX output: medicaid_ltss_csra_resource_eligible: [true, false] + +- name: Case 8, a couple assistance unit with a community spouse flag fails closed. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_countable_resources: 0 + medicaid_ltss_community_spouse_countable_resources: 0 + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 0 + output: + medicaid_ltss_csra_resource_eligible: false + +- name: Case 9, one dollar above the CSRA floor allowance fails. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 60_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 32_533 + output: + medicaid_ltss_csra_resource_eligible: false + +- name: Case 10, one dollar above the half-of-snapshot allowance fails. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 100_000 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 50_001 + output: + medicaid_ltss_csra_resource_eligible: false + +- name: Case 11, half of snapshot resources ties the Washington state minimum. + period: 2026-07 + input: + people: + at_tie: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 145_058 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 72_529 + above_tie: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_couple_countable_resources_at_first_institutionalization: 145_058 + medicaid_ltss_countable_resources: 2_000 + medicaid_ltss_community_spouse_countable_resources: 72_530 + tax_units: + at_tie_tax_unit: + members: [at_tie] + above_tie_tax_unit: + members: [above_tie] + families: + at_tie_family: + members: [at_tie] + above_tie_family: + members: [above_tie] + spm_units: + at_tie_spm_unit: + members: [at_tie] + above_tie_spm_unit: + members: [above_tie] + marital_units: + at_tie_marital_unit: + members: [at_tie] + above_tie_marital_unit: + members: [above_tie] + households: + at_tie_household: + members: [at_tie] + state_code: + 2026: WA + above_tie_household: + members: [above_tie] + state_code: + 2026: WA + output: + medicaid_ltss_csra_resource_eligible: [true, false] + +- name: Case 12, a genuine two-person institutionalized couple uses the couple limit. + period: 2026-07 + input: + people: + first_spouse_at: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_000 + second_spouse_at: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_000 + first_spouse_above: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_001 + second_spouse_above: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 2 + medicaid_ltss_countable_resources: 3_001 + tax_units: + couple_at_tax_unit: + members: [first_spouse_at, second_spouse_at] + couple_above_tax_unit: + members: [first_spouse_above, second_spouse_above] + families: + couple_at_family: + members: [first_spouse_at, second_spouse_at] + couple_above_family: + members: [first_spouse_above, second_spouse_above] + spm_units: + couple_at_spm_unit: + members: [first_spouse_at, second_spouse_at] + couple_above_spm_unit: + members: [first_spouse_above, second_spouse_above] + marital_units: + couple_at_marital_unit: + members: [first_spouse_at, second_spouse_at] + couple_above_marital_unit: + members: [first_spouse_above, second_spouse_above] + households: + couple_at_household: + members: [first_spouse_at, second_spouse_at] + state_code: + 2026: TX + couple_above_household: + members: [first_spouse_above, second_spouse_above] + state_code: + 2026: TX + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME] + medicaid_ltss_csra_resource_eligible: [true, true, false, false] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml index 1a16d2021b2..261eb234bed 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.yaml @@ -4,6 +4,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 output: @@ -15,6 +17,8 @@ state_code: 2026: DE medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 output: @@ -26,6 +30,8 @@ state_code: 2026: WA medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 @@ -38,6 +44,8 @@ state_code: 2026: WA medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_983 @@ -50,6 +58,8 @@ state_code: 2026: WA medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: WA_COPES medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 @@ -62,11 +72,15 @@ people: new_freedom_applicant: medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: WA_NEW_FREEDOM medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 2_982 rsw_applicant: medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: WA_RSW medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_qit_adjusted_income: 4_000 @@ -107,19 +121,22 @@ - INSTITUTIONAL_MEDICALLY_NEEDY is_medicaid_ltss_income_eligible: [true, true] -- name: Washington unknown HCBS waiver is unmodeled and fails every financial screen. +- name: Washington unknown HCBS waiver is unmodeled and fails the composite screen. period: 2026-07 input: state_code: 2026: WA medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: UNKNOWN medicaid_ltss_assistance_unit_size: 1 output: medicaid_ltss_financial_pathway: UNMODELED is_medicaid_ltss_income_eligible: false medicaid_ltss_csra_resource_eligible: false - medicaid_ltss_home_equity_eligible: false + # The home-equity bar cannot attach to a person with no equity interest. + medicaid_ltss_home_equity_eligible: true is_medicaid_ltss_financial_threshold_eligible: false - name: Texas HCBS cannot use a Washington named waiver pathway. @@ -128,8 +145,65 @@ state_code: 2026: TX medicaid_ltss_setting: HCBS + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: WA_COPES medicaid_ltss_assistance_unit_size: 1 output: medicaid_ltss_financial_pathway: UNMODELED is_medicaid_ltss_financial_threshold_eligible: false + +- name: A non-aged-blind-disabled applicant is unmodeled. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: false + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_financial_threshold_eligible: false + +- name: An unknown setting is unmodeled. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: UNKNOWN + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + +- name: An unsupported state is unmodeled. + period: 2026-07 + input: + state_code: + 2026: CA + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_financial_threshold_eligible: false + +- name: An assistance unit size of zero is unmodeled. + period: 2026-07 + input: + state_code: + 2026: TX + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 0 + output: + medicaid_ltss_financial_pathway: UNMODELED + is_medicaid_ltss_income_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml index 5b9f64e07ea..f55493e160c 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.yaml @@ -4,6 +4,8 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 751_999 @@ -11,6 +13,8 @@ medicaid_ltss_home_ownership_share: 1 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_000 @@ -18,6 +22,8 @@ medicaid_ltss_home_ownership_share: 1 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_001 @@ -73,6 +79,8 @@ people: below: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 1_129_999 @@ -80,6 +88,8 @@ medicaid_ltss_home_ownership_share: 1 at: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 1_130_000 @@ -87,6 +97,8 @@ medicaid_ltss_home_ownership_share: 1 above: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 1_130_001 @@ -142,6 +154,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_001 @@ -157,6 +171,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_001 @@ -172,6 +188,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_001 @@ -187,6 +205,8 @@ state_code: 2026: TX medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 752_001 @@ -196,12 +216,91 @@ output: medicaid_ltss_home_equity_eligible: true -- name: Case 7, Delaware remains fail-closed without a modeled numeric home-equity cap. +- name: Case 7, Delaware applies the federal-minimum cap at the exact boundary. + period: 2026-07 + input: + people: + below: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 751_999 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + at: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + above: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + tax_units: + below_tax_unit: + members: [below] + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + below_family: + members: [below] + at_family: + members: [at] + above_family: + members: [above] + spm_units: + below_spm_unit: + members: [below] + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + below_marital_unit: + members: [below] + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + below_household: + members: [below] + state_code: + 2026: DE + at_household: + members: [at] + state_code: + 2026: DE + above_household: + members: [above] + state_code: + 2026: DE + output: + medicaid_ltss_financial_pathway: + [SPECIAL_INCOME, SPECIAL_INCOME, SPECIAL_INCOME] + medicaid_ltss_home_equity_eligible: [true, true, false] + +- name: Case 8, a Delaware non-homeowner passes the home-equity screen. period: 2026-07 input: state_code: 2026: DE medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_home_market_value: 0 @@ -209,4 +308,169 @@ medicaid_ltss_home_ownership_share: 1 output: medicaid_ltss_financial_pathway: SPECIAL_INCOME - medicaid_ltss_home_equity_eligible: false + medicaid_ltss_home_equity_eligible: true + +- name: Case 9, encumbrances and ownership share land exactly at the Texas cap. + period: 2026-07 + input: + people: + at: + medicaid_ltss_home_market_value: 1_000_000 + medicaid_ltss_home_encumbrances: 248_000 + medicaid_ltss_home_ownership_share: 1 + above: + medicaid_ltss_home_market_value: 1_000_001 + medicaid_ltss_home_encumbrances: 248_000 + medicaid_ltss_home_ownership_share: 1 + tax_units: + at_tax_unit: + members: [at] + above_tax_unit: + members: [above] + families: + at_family: + members: [at] + above_family: + members: [above] + spm_units: + at_spm_unit: + members: [at] + above_spm_unit: + members: [above] + marital_units: + at_marital_unit: + members: [at] + above_marital_unit: + members: [above] + households: + at_household: + members: [at] + state_code: + 2026: TX + above_household: + members: [above] + state_code: + 2026: TX + output: + medicaid_ltss_home_equity_eligible: [true, false] + +- name: Case 10, invalid ownership shares fail closed. + period: 2026-07 + input: + people: + share_above_one: + medicaid_ltss_home_market_value: 100_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1.5 + negative_share: + medicaid_ltss_home_market_value: 100_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: -0.5 + tax_units: + share_above_one_tax_unit: + members: [share_above_one] + negative_share_tax_unit: + members: [negative_share] + families: + share_above_one_family: + members: [share_above_one] + negative_share_family: + members: [negative_share] + spm_units: + share_above_one_spm_unit: + members: [share_above_one] + negative_share_spm_unit: + members: [negative_share] + marital_units: + share_above_one_marital_unit: + members: [share_above_one] + negative_share_marital_unit: + members: [negative_share] + households: + share_above_one_household: + members: [share_above_one] + state_code: + 2026: TX + negative_share_household: + members: [negative_share] + state_code: + 2026: TX + output: + medicaid_ltss_home_equity_eligible: [false, false] + +- name: Case 11, an unmodeled state passes at the federal minimum and fails closed above it. + period: 2026-07 + input: + people: + no_home: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 0 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + at_federal_minimum: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_000 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + above_federal_minimum: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_home_market_value: 752_001 + medicaid_ltss_home_encumbrances: 0 + medicaid_ltss_home_ownership_share: 1 + tax_units: + no_home_tax_unit: + members: [no_home] + at_federal_minimum_tax_unit: + members: [at_federal_minimum] + above_federal_minimum_tax_unit: + members: [above_federal_minimum] + families: + no_home_family: + members: [no_home] + at_federal_minimum_family: + members: [at_federal_minimum] + above_federal_minimum_family: + members: [above_federal_minimum] + spm_units: + no_home_spm_unit: + members: [no_home] + at_federal_minimum_spm_unit: + members: [at_federal_minimum] + above_federal_minimum_spm_unit: + members: [above_federal_minimum] + marital_units: + no_home_marital_unit: + members: [no_home] + at_federal_minimum_marital_unit: + members: [at_federal_minimum] + above_federal_minimum_marital_unit: + members: [above_federal_minimum] + households: + no_home_household: + members: [no_home] + state_code: + 2026: CA + at_federal_minimum_household: + members: [at_federal_minimum] + state_code: + 2026: CA + above_federal_minimum_household: + members: [above_federal_minimum] + state_code: + 2026: CA + output: + medicaid_ltss_financial_pathway: [UNMODELED, UNMODELED, UNMODELED] + medicaid_ltss_home_equity_eligible: [true, true, false] + is_medicaid_ltss_financial_threshold_eligible: [false, false, false] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml index 5c23ce6048c..c952f7900d6 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.yaml @@ -1,22 +1,94 @@ -- name: Federal July 2026 MMMNA uses the base, shelter threshold, and maximum. +- name: Case 1, Texas pays the federal maximum flat regardless of shelter expenses. + period: 2026-07 + absolute_error_margin: 0.01 + input: + people: + no_shelter: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 0 + at_shelter_threshold: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 811.50 + high_shelter: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 2_173 + tax_units: + no_shelter: + members: [no_shelter] + at_shelter_threshold: + members: [at_shelter_threshold] + high_shelter: + members: [high_shelter] + marital_units: + no_shelter: + members: [no_shelter] + at_shelter_threshold: + members: [at_shelter_threshold] + high_shelter: + members: [high_shelter] + spm_units: + no_shelter: + members: [no_shelter] + at_shelter_threshold: + members: [at_shelter_threshold] + high_shelter: + members: [high_shelter] + households: + no_shelter: + members: [no_shelter] + state_code: + 2026: TX + at_shelter_threshold: + members: [at_shelter_threshold] + state_code: + 2026: TX + high_shelter: + members: [high_shelter] + state_code: + 2026: TX + output: + medicaid_ltss_mmmna: [4_066.50, 4_066.50, 4_066.50] + +- name: Case 2, the Delaware federal formula uses the base, shelter threshold, and maximum. period: 2026-07 absolute_error_margin: 0.01 input: people: base: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true medicaid_ltss_community_spouse_shelter_expenses: 0 shelter_threshold: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true medicaid_ltss_community_spouse_shelter_expenses: 811.50 maximum: medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true medicaid_ltss_waiver: NONE medicaid_ltss_assistance_unit_size: 1 medicaid_ltss_has_community_spouse: true @@ -46,14 +118,143 @@ base: members: [base] state_code: - 2026: TX + 2026: DE shelter_threshold: members: [shelter_threshold] state_code: - 2026: TX + 2026: DE maximum: members: [maximum] state_code: - 2026: TX + 2026: DE output: medicaid_ltss_mmmna: [2_705, 2_705, 4_066.50] + +- name: Case 3, the Washington formula adds interior excess shelter above the threshold. + period: 2026-07 + absolute_error_margin: 0.01 + input: + people: + interior_excess: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 1_811.50 + cent_below_threshold: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 811.49 + tax_units: + interior_excess: + members: [interior_excess] + cent_below_threshold: + members: [cent_below_threshold] + marital_units: + interior_excess: + members: [interior_excess] + cent_below_threshold: + members: [cent_below_threshold] + spm_units: + interior_excess: + members: [interior_excess] + cent_below_threshold: + members: [cent_below_threshold] + households: + interior_excess: + members: [interior_excess] + state_code: + 2026: WA + cent_below_threshold: + members: [cent_below_threshold] + state_code: + 2026: WA + output: + medicaid_ltss_mmmna: [3_705, 2_705] + +- name: Case 4, no community spouse produces no allowance. + period: 2026-07 + absolute_error_margin: 0.01 + input: + state_code: + 2026: DE + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: false + medicaid_ltss_community_spouse_shelter_expenses: 2_000 + output: + medicaid_ltss_mmmna: 0 + +- name: Case 5, an unmodeled pathway produces no allowance. + period: 2026-07 + absolute_error_margin: 0.01 + input: + state_code: + 2026: CA + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 2_000 + output: + medicaid_ltss_financial_pathway: UNMODELED + medicaid_ltss_mmmna: 0 + +- name: Case 6, mixed Texas and Delaware spouses diverge in one simulation. + period: 2026-07 + absolute_error_margin: 0.01 + input: + people: + texas_spouse: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 1_000 + delaware_spouse: + medicaid_ltss_setting: INSTITUTIONAL + is_ssi_aged_blind_disabled: + 2026: true + medicaid_ltss_waiver: NONE + medicaid_ltss_assistance_unit_size: 1 + medicaid_ltss_has_community_spouse: true + medicaid_ltss_community_spouse_shelter_expenses: 1_000 + tax_units: + texas_spouse: + members: [texas_spouse] + delaware_spouse: + members: [delaware_spouse] + marital_units: + texas_spouse: + members: [texas_spouse] + delaware_spouse: + members: [delaware_spouse] + spm_units: + texas_spouse: + members: [texas_spouse] + delaware_spouse: + members: [delaware_spouse] + households: + texas_spouse: + members: [texas_spouse] + state_code: + 2026: TX + delaware_spouse: + members: [delaware_spouse] + state_code: + 2026: DE + output: + medicaid_ltss_mmmna: [4_066.50, 2_893.50] diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py index 48f29565fed..3ea0af76f60 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py @@ -6,6 +6,13 @@ class is_medicaid_long_term_care_home_equity_eligible(Variable): entity = Person label = "Medicaid long-term care home equity eligible" definition_period = YEAR + documentation = ( + "Annual home-equity test using the national limit, the agricultural " + "limit, and household-derived family exceptions. The opt-in monthly " + "LTSS screen models the same 42 USC 1396p(f) bar separately with " + "state-elected limits and explicit inputs in " + "medicaid_ltss_home_equity_eligible." + ) reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text" def formula(person, period, parameters): diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py index 3cd1b10210f..1367a6c6507 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/is_medicaid_ltss_income_eligible.py @@ -12,8 +12,14 @@ class is_medicaid_ltss_income_eligible(Variable): "needy expenses and cost of care are trusted inputs; this variable " "does not validate a trust, expense, service, or facility rate. The " "Washington institutional branch models the WAC 182-513-1395(4) " - "payment threshold; it does not model the separate three- or " - "six-month spenddown process in subsection (5)." + "payment threshold using income only: the excess-resources term in " + "subsection (4)(a) is unmodeled (slightly lenient; resources are " + "screened separately), as are the three- or six-month spenddown " + "process in subsection (5) and the WAC 182-515-1507 categorically " + "needy route that bypasses the special income limit. The Delaware " + "special income limit is 250% of the SSI standard (DSSM 20100.2.2), " + "and its $20 disregard with the needs-based carve-out follows DSSM " + "20240.1 and 20990." ) reference = ( "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py index 5481866e8f7..56516fa3e51 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_csra_resource_eligible.py @@ -9,16 +9,19 @@ class medicaid_ltss_csra_resource_eligible(Variable): documentation = ( "Tests trusted comprehensive LTSS countable-resource inputs. For an " "applicant with a community spouse, the initial CSRA is the greater " - "of the applicable state/federal floor or one-half of the couple's " - "snapshot resources, capped at the federal maximum. Court and fair-" - "hearing adjustments, resource-hardship overrides, and detailed " - "state asset exclusions are not modeled." + "of the applicable state/federal floor or the fixed statutory " + "one-half of the couple's snapshot resources under 42 USC " + "1396r-5(f)(2)(A), capped at the federal maximum. Delaware's " + "$25,000 state spousal share (DSSM 20910.10) sits below the federal " + "minimum, which therefore governs. Court and fair-hearing " + "adjustments, resource-hardship overrides, and detailed state asset " + "exclusions are not modeled." ) reference = ( - "https://www.law.cornell.edu/uscode/text/42/1396r-5", + "https://www.law.cornell.edu/uscode/text/42/1396r-5#f_2", "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", - "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf", + "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3", ) def formula_2026_01_01(person, period, parameters): diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py index 47fa0239f3c..bae82229d37 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_financial_pathway.py @@ -16,17 +16,23 @@ class medicaid_ltss_financial_pathway(Variable): definition_period = MONTH documentation = ( "Identifies the modeled financial pathway for the opt-in Medicaid " - "long-term services and supports threshold screen. Institutional " - "pathways are modeled for Texas, Delaware, and Washington. HCBS " - "pathways are modeled only for Washington's source-named COPES, New " - "Freedom, and Residential Support waivers. All other states, settings, " + "long-term services and supports threshold screen. Every modeled " + "route is SSI-related, so a person who is not aged, blind, or " + "disabled is unmodeled (42 CFR 435.236; 42 CFR 435.1005). " + "Institutional pathways are modeled for Texas, Delaware, and " + "Washington. HCBS pathways are modeled only for Washington's " + "source-named COPES, New Freedom, and Residential Support waivers; " + "their enabled flags exist for reform analysis, so the disabled " + "branch is reform-only-reachable. All other states, settings, " "waivers, and unsupported assistance-unit sizes are unmodeled." ) reference = ( + "https://www.law.cornell.edu/cfr/text/42/435.236", + "https://www.law.cornell.edu/cfr/text/42/435.1005", "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1395", - "https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1505", ) def formula_2026_01_01(person, period, parameters): @@ -39,6 +45,7 @@ def formula_2026_01_01(person, period, parameters): waivers = waiver.possible_values assistance_unit_size = person("medicaid_ltss_assistance_unit_size", period) income = person("medicaid_ltss_qit_adjusted_income", period) + aged_blind_disabled = person("is_ssi_aged_blind_disabled", period.this_year) institutional = (setting == settings.INSTITUTIONAL) & (waiver == waivers.NONE) washington_hcbs = (setting == settings.HCBS) & ( @@ -49,11 +56,13 @@ def formula_2026_01_01(person, period, parameters): texas_or_delaware_institutional = ( institutional + & aged_blind_disabled & ((state == states.TX) | (state == states.DE)) & ((assistance_unit_size == 1) | (assistance_unit_size == 2)) ) washington_modeled_setting = ( (state == states.WA) + & aged_blind_disabled & (institutional | washington_hcbs) & (assistance_unit_size == 1) ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py index 6a31d7dc243..8edcaff376f 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_home_equity_eligible.py @@ -4,35 +4,39 @@ class medicaid_ltss_home_equity_eligible(Variable): value_type = bool entity = Person - label = "Meets modeled Medicaid LTSS home-equity threshold" + label = "Meets Medicaid LTSS home-equity threshold" definition_period = MONTH documentation = ( - "Models the separate LTSS home-equity payment bar from explicit home " - "value, encumbrance, fractional-ownership, resident-exception, and " - "hardship inputs. Texas and Washington have sourced 2026 caps. " - "Delaware remains unmodeled because the cited sources do not establish " - "a state-issued numeric 2026 cap." + "Applies the 42 USC 1396p(f) substantial home equity payment bar " + "from explicit home value, encumbrance, fractional-ownership, " + "resident-exception, and hardship inputs. Washington elects the " + "federal maximum limit (WAC 182-513-1350(8)(c)); Texas and Delaware " + "apply the CPI-indexed federal minimum (TX Appendix XXXI; DSSM " + "20320.7.B and 20320.7.E). Elections in other states are unmodeled: " + "equity at or below the federal minimum passes, because no state " + "may bar payment below that amount, and higher equity fails closed. " + "A person with no equity interest always passes. The agricultural-" + "land limit in the separate annual " + "is_medicaid_long_term_care_home_equity_eligible chassis is not " + "modeled here." ) reference = ( - "https://www.law.cornell.edu/uscode/text/42/1396p", + "https://www.law.cornell.edu/uscode/text/42/1396p#f", "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", - "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1350", + "https://www.hca.wa.gov/assets/free-or-low-cost/income-standards-20260101.pdf#page=3", ) def formula_2026_01_01(person, period, parameters): - p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care state = person.household("state_code", period) states = state.possible_values - pathway = person("medicaid_ltss_financial_pathway", period) - pathways = pathway.possible_values - - home_equity_limit = select( - [state == states.TX, state == states.WA], - [p.tx.home_equity.limit, p.wa.home_equity.limit], - default=0, + home_equity_limit = where( + state == states.WA, + p.home_equity.limit, + p.home_equity.minimum_limit, ) - home_cap_is_modeled = (state == states.TX) | (state == states.WA) home_value = person("medicaid_ltss_home_market_value", period) encumbrances = person("medicaid_ltss_home_encumbrances", period) ownership_share = person("medicaid_ltss_home_ownership_share", period) @@ -54,11 +58,6 @@ def formula_2026_01_01(person, period, parameters): ) ) - return ( - (pathway != pathways.UNMODELED) - & valid_ownership_share - & ( - exception - | (home_cap_is_modeled & (applicant_home_equity <= home_equity_limit)) - ) + return valid_ownership_share & ( + exception | (applicant_home_equity <= home_equity_limit) ) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py index 0bbea57e10c..afb0af4f1a0 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_mmmna.py @@ -8,19 +8,34 @@ class medicaid_ltss_mmmna(Variable): unit = USD definition_period = MONTH documentation = ( - "Calculates the federal MMMNA standard from the July 2026 minimum, " - "allowable community-spouse shelter expenses supplied as an explicit " - "input, and the federal maximum. It is a post-eligibility spousal " - "protection standard, not an applicant income-eligibility deduction. " - "The January-through-June 2026 minimum is left unmodeled." + "Calculates the community spouse minimum monthly maintenance needs " + "allowance standard for the modeled states. Texas pays the federal " + "maximum as a flat spousal allowance (TX Appendix XXXI; MEPD " + "J-7200). Delaware and Washington use the federal formula: the July " + "2026 minimum plus allowable community-spouse shelter expenses " + "above the excess-shelter threshold, supplied as an explicit input, " + "capped at the federal maximum (DSSM 20910.4 through 20910.6; WAC " + "182-513-1385(3)(a) and (4)). It is a post-eligibility spousal " + "protection standard, not an applicant income-eligibility " + "deduction; the WAC 182-513-1385(3)(b) offset for the community " + "spouse's own income belongs to the allocation, which is unmodeled. " + "The whole variable is unmodeled before July 2026, when the " + "effective-dated federal minimum begins; this also defers the Texas " + "flat maximum, which is otherwise effective January 1, 2026." ) reference = ( - "https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf", - "https://www.law.cornell.edu/uscode/text/42/1396r-5", + "https://www.law.cornell.edu/uscode/text/42/1396r-5#d", + "https://www.medicaid.gov/sites/default/files/2026-04/cib04272026.pdf#page=2", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/appendix-xxxi-budget-reference-chart", + "https://fhb.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/j-7200-spousal-co-payment", + "https://regulations.delaware.gov/api/AdminCode/title16/20000/13aee487-1cd1-4726-addf-63603af28a78", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-513-1385", ) def formula_2026_07_01(person, period, parameters): p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care.financial + state = person.household("state_code", period) + states = state.possible_values pathway = person("medicaid_ltss_financial_pathway", period) pathways = pathway.possible_values has_community_spouse = person("medicaid_ltss_has_community_spouse", period) @@ -34,10 +49,15 @@ def formula_2026_07_01(person, period, parameters): - (p.federal.mmmna.minimum * p.federal.mmmna.shelter_threshold_rate), 0, ) - mmmna = min_( + formula_mmmna = min_( p.federal.mmmna.minimum + excess_shelter_expenses, p.federal.mmmna.maximum, ) + mmmna = where( + state == states.TX, + p.federal.mmmna.maximum, + formula_mmmna, + ) return where( (pathway != pathways.UNMODELED) & has_community_spouse, mmmna, diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py index 9d23cd68038..15f14dd4595 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_qit_adjusted_income.py @@ -10,10 +10,11 @@ class medicaid_ltss_qit_adjusted_income(Variable): default_value = 0 documentation = ( "Trusted monthly income input after any qualified income trust " - "treatment and applicant/spouse ownership allocation. The model does " - "not validate trust legality, irrevocability, funding, payback terms, " - "or which income was validly deposited. The user must perform those " - "determinations before supplying this value." + "treatment and applicant/spouse ownership allocation (TX MEPD " + "F-6800; DSSM 20400.11). The model does not validate trust " + "legality, irrevocability, funding, payback terms, or which income " + "was validly deposited. The user must perform those determinations " + "before supplying this value." ) reference = ( "https://www.law.cornell.edu/uscode/text/42/1396p#d_4_B", diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py index 34cb11f03dc..3ccb9132bbf 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/long_term_care/financial/medicaid_ltss_waiver.py @@ -25,6 +25,6 @@ class medicaid_ltss_waiver(Variable): ) reference = ( "https://www.law.cornell.edu/cfr/text/42/435.217", - "https://www.hca.wa.gov/free-or-low-cost-health-care/i-help-others-apply-and-access-apple-health/wac-182-515-1505-home-and-community-based-hcb-waiver-services-authorized-home-and-community-services-hcs", + "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1505", "https://app.leg.wa.gov/wac/default.aspx?cite=182-515-1508", ) From 7cee6cd97e24f6a0b18bd119ddf213d08fe69fca Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 20 Aug 2026 00:02:23 -0400 Subject: [PATCH 7/7] Keep the chassis home-equity variable untouched The docstring-only edit pulled the file into the selective-coverage report without its tests, tripping codecov/project; the LTSS screen's docstring carries the cross-reference instead. Co-Authored-By: Claude Fable 5 --- .../is_medicaid_long_term_care_home_equity_eligible.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py index 3ea0af76f60..48f29565fed 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_long_term_care_home_equity_eligible.py @@ -6,13 +6,6 @@ class is_medicaid_long_term_care_home_equity_eligible(Variable): entity = Person label = "Medicaid long-term care home equity eligible" definition_period = YEAR - documentation = ( - "Annual home-equity test using the national limit, the agricultural " - "limit, and household-derived family exceptions. The opt-in monthly " - "LTSS screen models the same 42 USC 1396p(f) bar separately with " - "state-elected limits and explicit inputs in " - "medicaid_ltss_home_equity_eligible." - ) reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text" def formula(person, period, parameters):