diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..09c527731eb 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - Add Texas SSI State Supplement (Optional State Supplement) for SSI recipients in Medicaid-funded nursing facilities and ICF/IID diff --git a/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/couple.yaml b/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/couple.yaml new file mode 100644 index 00000000000..75c194fb60b --- /dev/null +++ b/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/couple.yaml @@ -0,0 +1,14 @@ +description: The Social Security Administration provides this reduced Supplemental Security Income amount for an eligible couple both residing in a Medicaid-funded institution. + +values: + 1988-07-01: 60 + +metadata: + unit: currency-USD + period: month + label: Federal SSI reduced institutional payment for couples + reference: + - title: 42 USC 1382(e)(1)(B) + href: https://www.law.cornell.edu/uscode/text/42/1382 + - title: HHSC MEPD Handbook Section H-6000 - Co-Payment for SSI Cases + href: https://www.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/h-6000-co-payment-ssi-cases diff --git a/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/individual.yaml b/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/individual.yaml new file mode 100644 index 00000000000..386d859f571 --- /dev/null +++ b/policyengine_us/parameters/gov/ssa/ssi/amount/institutional/individual.yaml @@ -0,0 +1,14 @@ +description: The Social Security Administration provides this reduced Supplemental Security Income amount for an eligible individual residing in a Medicaid-funded institution. + +values: + 1988-07-01: 30 + +metadata: + unit: currency-USD + period: month + label: Federal SSI reduced institutional payment for individuals + reference: + - title: 42 USC 1382(e)(1)(B) + href: https://www.law.cornell.edu/uscode/text/42/1382 + - title: HHSC MEPD Handbook Section H-6000 - Co-Payment for SSI Cases + href: https://www.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/h-6000-co-payment-ssi-cases diff --git a/policyengine_us/parameters/gov/states/tx/hhsc/ssi_state_supplement/personal_needs_allowance.yaml b/policyengine_us/parameters/gov/states/tx/hhsc/ssi_state_supplement/personal_needs_allowance.yaml new file mode 100644 index 00000000000..eea60dbf67f --- /dev/null +++ b/policyengine_us/parameters/gov/states/tx/hhsc/ssi_state_supplement/personal_needs_allowance.yaml @@ -0,0 +1,18 @@ +description: Texas provides this amount as the personal needs allowance for Supplemental Security Income recipients in Medicaid-funded long-term care facilities under the Optional State Supplement program. + +values: + 1999-09-01: 45 + 2001-09-01: 60 + 2003-09-01: 45 + 2006-01-01: 60 + 2024-01-01: 75 + +metadata: + unit: currency-USD + period: month + label: Texas SSI State Supplement personal needs allowance + reference: + - title: Texas Human Resources Code Section 32.024(w) + href: https://statutes.capitol.texas.gov/Docs/HR/htm/HR.32.htm + - title: HHSC MEPD Handbook Section H-1500 - Personal Needs Allowance + href: https://www.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/h-1500-personal-needs-allowance diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/integration.yaml new file mode 100644 index 00000000000..014f8e1eb49 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/integration.yaml @@ -0,0 +1,213 @@ +# Integration tests for Texas SSI State Supplement +# Tests realistic scenarios with full eligibility and benefit calculations +# +# Key Texas SSI State Supplement rules: +# - Only for SSI recipients in Medicaid-funded nursing facilities or ICF/IID +# - Supplement = PNA - Federal reduced SSI benefit +# - 2024 PNA: $75/month, Federal reduced SSI: $30/month individual +# - Individual supplement: $45/month = $540/year +# - No additional state income rules beyond federal SSI +# +# Reference: Texas Human Resources Code Section 32.024(w) +# Reference: SSA State Assistance Programs for SSI Recipients - Texas + +- name: Scenario 1, SSI-eligible elderly individual in Texas Medicaid facility. + # 70-year-old SSI recipient in a nursing facility receives state supplement + period: 2024 + input: + people: + person1: + age: 70 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + # Eligibility: SSI eligible + in Medicaid facility + TX = eligible + tx_ssi_state_supplement_eligible: true + # Supplement: ($75 PNA - $30 federal reduced SSI) * 12 = $540/year + tx_ssi_state_supplement: 540 + +- name: Scenario 2, SSI-eligible disabled individual in Texas Medicaid facility. + # 45-year-old disabled SSI recipient in ICF/IID + period: 2024 + input: + people: + person1: + age: 45 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + # Eligibility: SSI eligible + in Medicaid facility + TX = eligible + tx_ssi_state_supplement_eligible: true + # Supplement: ($75 - $30) * 12 = $540/year + tx_ssi_state_supplement: 540 + +- name: Scenario 3, SSI-eligible individual NOT in Medicaid facility. + # SSI recipient living in community - no supplement + period: 2024 + input: + people: + person1: + age: 70 + is_ssi_eligible_individual: true + is_in_medicaid_facility: false + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + # Not in Medicaid facility = not eligible + tx_ssi_state_supplement_eligible: false + tx_ssi_state_supplement: 0 + +- name: Scenario 4, person in Medicaid facility but NOT SSI eligible. + # Non-SSI recipient in nursing facility - no supplement + period: 2024 + input: + people: + person1: + age: 50 + is_ssi_eligible_individual: false + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + # Not SSI eligible = not eligible for supplement + tx_ssi_state_supplement_eligible: false + tx_ssi_state_supplement: 0 + +- name: Scenario 5, SSI-eligible individual in Medicaid facility in another state. + # SSI recipient in facility but not in Texas + period: 2024 + input: + people: + person1: + age: 68 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: CA + output: + # Not in Texas = TX supplement does not apply (defined_for TX) + tx_ssi_state_supplement_eligible: false + tx_ssi_state_supplement: 0 + +- name: Scenario 6, couple both SSI-eligible in Texas Medicaid facility. + # Both members of a couple in a nursing facility + period: 2024 + input: + people: + person1: + age: 72 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + person2: + age: 70 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1, person2] + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: TX + output: + # Both persons are eligible + tx_ssi_state_supplement_eligible: [true, true] + # Each person: ($75 - $30) * 12 = $540/year + tx_ssi_state_supplement: [540, 540] + +- name: Scenario 7, historical 2023 period with lower PNA. + # Tests pre-2024 PNA of $60/month + period: 2023 + input: + people: + person1: + age: 75 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + tx_ssi_state_supplement_eligible: true + # 2023 PNA: $60/month, Federal reduced SSI: $30/month + # Supplement: ($60 - $30) * 12 = $360/year + tx_ssi_state_supplement: 360 + +- name: Scenario 8, historical 2005 period with $45 PNA. + # Tests 2003-2005 PNA of $45/month (PNA dropped back from $60) + period: 2005 + input: + people: + person1: + age: 80 + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + tax_units: + tax_unit: + members: [person1] + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: TX + output: + tx_ssi_state_supplement_eligible: true + # 2005 PNA: $45/month (set 2003-09-01), Federal reduced SSI: $30/month + # Supplement: ($45 - $30) * 12 = $180/year + tx_ssi_state_supplement: 180 diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.yaml new file mode 100644 index 00000000000..12f2413e89b --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.yaml @@ -0,0 +1,29 @@ +# Unit tests for Texas SSI State Supplement benefit amount +# Supplement = max(0, (PNA - Federal institutional SSI rate) * 12) +# For 2024: ($75 - $30) * 12 = $45/month * 12 = $540/year +# Reference: Texas Human Resources Code Section 32.024(w) + +- name: Case 1, eligible individual receives full supplement. + period: 2024 + input: + tx_ssi_state_supplement_eligible: true + output: + # PNA = $75/month, Federal reduced SSI = $30/month + # Supplement = ($75 - $30) * 12 = $540/year + tx_ssi_state_supplement: 540 + +- name: Case 2, not eligible receives zero. + period: 2024 + input: + tx_ssi_state_supplement_eligible: false + output: + tx_ssi_state_supplement: 0 + +- name: Case 3, eligible individual in 2023 with lower PNA. + period: 2023 + input: + tx_ssi_state_supplement_eligible: true + output: + # PNA = $60/month (2006-2023), Federal reduced SSI = $30/month + # Supplement = ($60 - $30) * 12 = $360/year + tx_ssi_state_supplement: 360 diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.yaml new file mode 100644 index 00000000000..dd95373cc66 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.yaml @@ -0,0 +1,40 @@ +# Unit tests for Texas SSI State Supplement eligibility +# Eligible if: SSI eligible individual AND residing in a Medicaid-funded facility +# AND in Texas +# Reference: Texas Human Resources Code Section 32.024(w) + +- name: Case 1, SSI eligible and in Medicaid facility in Texas. + period: 2024 + input: + is_ssi_eligible_individual: true + is_in_medicaid_facility: true + state_code: TX + output: + tx_ssi_state_supplement_eligible: true + +- name: Case 2, SSI eligible but not in Medicaid facility. + period: 2024 + input: + is_ssi_eligible_individual: true + is_in_medicaid_facility: false + state_code: TX + output: + tx_ssi_state_supplement_eligible: false + +- name: Case 3, not SSI eligible but in Medicaid facility. + period: 2024 + input: + is_ssi_eligible_individual: false + is_in_medicaid_facility: true + state_code: TX + output: + tx_ssi_state_supplement_eligible: false + +- name: Case 4, neither SSI eligible nor in Medicaid facility. + period: 2024 + input: + is_ssi_eligible_individual: false + is_in_medicaid_facility: false + state_code: TX + output: + tx_ssi_state_supplement_eligible: false diff --git a/policyengine_us/variables/gov/ssa/ssi/is_in_medicaid_facility.py b/policyengine_us/variables/gov/ssa/ssi/is_in_medicaid_facility.py new file mode 100644 index 00000000000..3be1da7c139 --- /dev/null +++ b/policyengine_us/variables/gov/ssa/ssi/is_in_medicaid_facility.py @@ -0,0 +1,9 @@ +from policyengine_us.model_api import * + + +class is_in_medicaid_facility(Variable): + value_type = bool + entity = Person + label = "Whether the person resides in a Medicaid-funded nursing facility or ICF/IID" + definition_period = YEAR + reference = "https://www.law.cornell.edu/uscode/text/42/1382" diff --git a/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.py b/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.py new file mode 100644 index 00000000000..530b7926feb --- /dev/null +++ b/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement.py @@ -0,0 +1,23 @@ +from policyengine_us.model_api import * + + +class tx_ssi_state_supplement(Variable): + value_type = float + entity = Person + label = "Texas SSI State Supplement" + unit = USD + definition_period = YEAR + defined_for = "tx_ssi_state_supplement_eligible" + reference = ( + "https://statutes.capitol.texas.gov/Docs/HR/htm/HR.32.htm", + "https://www.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/h-6000-co-payment-ssi-cases", + ) + + def formula(person, period, parameters): + # Per 42 USC 1382(e)(1)(B) and Texas HR Code 32.024(w) + p = parameters(period).gov.states.tx.hhsc.ssi_state_supplement + pna = p.personal_needs_allowance + federal_reduced = parameters( + period + ).gov.ssa.ssi.amount.institutional.individual + return max_(pna - federal_reduced, 0) * MONTHS_IN_YEAR diff --git a/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.py b/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.py new file mode 100644 index 00000000000..4a995822da9 --- /dev/null +++ b/policyengine_us/variables/gov/states/tx/hhsc/ssi_state_supplement/tx_ssi_state_supplement_eligible.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class tx_ssi_state_supplement_eligible(Variable): + value_type = bool + entity = Person + label = "Texas SSI State Supplement eligible" + definition_period = YEAR + defined_for = StateCode.TX + reference = ( + "https://statutes.capitol.texas.gov/Docs/HR/htm/HR.32.htm", + "https://www.hhs.texas.gov/handbooks/medicaid-elderly-people-disabilities-handbook/h-6000-co-payment-ssi-cases", + ) + + def formula(person, period, parameters): + ssi_eligible = person("is_ssi_eligible_individual", period) + in_facility = person("is_in_medicaid_facility", period) + return ssi_eligible & in_facility diff --git a/policyengine_us/variables/household/income/spm_unit/spm_unit_benefits.py b/policyengine_us/variables/household/income/spm_unit/spm_unit_benefits.py index 014384941e9..fbd5fec7c15 100644 --- a/policyengine_us/variables/household/income/spm_unit/spm_unit_benefits.py +++ b/policyengine_us/variables/household/income/spm_unit/spm_unit_benefits.py @@ -19,6 +19,8 @@ def formula(spm_unit, period, parameters): "co_ccap_subsidy", "co_state_supplement", "co_oap", + # Texas programs. + "tx_ssi_state_supplement", "snap", "wic", "free_school_meals",