diff --git a/changelog.d/receives-ssi-tanf-categorical.fixed.md b/changelog.d/receives-ssi-tanf-categorical.fixed.md new file mode 100644 index 00000000000..f9a8dbb4a31 --- /dev/null +++ b/changelog.d/receives-ssi-tanf-categorical.fixed.md @@ -0,0 +1 @@ +Count reported SSI and TANF receipt toward categorical eligibility in the school meals, Lifeline, Pell Grant simplified formula, TX DART, IL IHWAP, DC POWER, CA CARE, CVRP increased rebate, and CalWORKs exempt MAP program lists. diff --git a/policyengine_us/parameters/gov/ed/pell_grant/efc/simplified/benefits.yaml b/policyengine_us/parameters/gov/ed/pell_grant/efc/simplified/benefits.yaml index a170a1a0347..e0eeaede660 100644 --- a/policyengine_us/parameters/gov/ed/pell_grant/efc/simplified/benefits.yaml +++ b/policyengine_us/parameters/gov/ed/pell_grant/efc/simplified/benefits.yaml @@ -5,10 +5,12 @@ values: - receives_snap # Reported SNAP receipt, for households the model gives a $0 allotment. - school_meal_net_subsidy - tanf + - receives_tanf # Reported TANF receipt, for households the model gives a $0 benefit. - wic - receives_wic # Reported WIC receipt, for people the model gives a $0 benefit. - medicaid_enrolled - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. metadata: unit: list label: Qualifying benefits for EFC simplified formula diff --git a/policyengine_us/parameters/gov/fcc/lifeline/categorical_eligibility.yaml b/policyengine_us/parameters/gov/fcc/lifeline/categorical_eligibility.yaml index ac5c7114083..501a418b75c 100644 --- a/policyengine_us/parameters/gov/fcc/lifeline/categorical_eligibility.yaml +++ b/policyengine_us/parameters/gov/fcc/lifeline/categorical_eligibility.yaml @@ -5,6 +5,7 @@ values: - snap - receives_snap # Reported SNAP receipt, for households the model gives a $0 allotment. - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. # Also not implemented: # - Veterans and Survivors Pension Benefit metadata: diff --git a/policyengine_us/parameters/gov/fcc/lifeline/tribal_categorical_eligibility.yaml b/policyengine_us/parameters/gov/fcc/lifeline/tribal_categorical_eligibility.yaml index ee8b03d0d9a..95fba88a7ff 100644 --- a/policyengine_us/parameters/gov/fcc/lifeline/tribal_categorical_eligibility.yaml +++ b/policyengine_us/parameters/gov/fcc/lifeline/tribal_categorical_eligibility.yaml @@ -4,6 +4,7 @@ values: - head_start - fdpir - tanf + - receives_tanf # Reported TANF receipt, for households the model gives a $0 benefit. # Also not implemented: # - Tribal programs: # - Bureau of Indian Affairs general assistance diff --git a/policyengine_us/parameters/gov/states/ca/calepa/carb/cvrp/increased_rebate/categorical_eligibility.yaml b/policyengine_us/parameters/gov/states/ca/calepa/carb/cvrp/increased_rebate/categorical_eligibility.yaml index eb31240ff12..abb775a6ea6 100644 --- a/policyengine_us/parameters/gov/states/ca/calepa/carb/cvrp/increased_rebate/categorical_eligibility.yaml +++ b/policyengine_us/parameters/gov/states/ca/calepa/carb/cvrp/increased_rebate/categorical_eligibility.yaml @@ -3,6 +3,7 @@ values: 2016-01-01: - medicaid_enrolled - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. # Also: # - tanf # Not yet implemented in California. # Medi-Cal (Income Qualified Medi-Cal Only) diff --git a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml index 01d9fdeabfb..230e28b5b30 100644 --- a/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml +++ b/policyengine_us/parameters/gov/states/ca/cdss/tanf/cash/exempt.yaml @@ -10,6 +10,7 @@ metadata: values: 2015-07-01: - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. - ca_in_home_supportive_services - ca_state_disability_insurance - workers_compensation diff --git a/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/categorical.yaml b/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/categorical.yaml index d92b7c9da3c..8d298477be7 100644 --- a/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/categorical.yaml +++ b/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/categorical.yaml @@ -7,6 +7,7 @@ values: - snap - receives_snap # Reported SNAP receipt, for households the model gives a $0 allotment. - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. # Also these, not in our model: # NSL # Healthy Families A & B diff --git a/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/tribal_categorical.yaml b/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/tribal_categorical.yaml index 71d80e589a8..f044b579721 100644 --- a/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/tribal_categorical.yaml +++ b/policyengine_us/parameters/gov/states/ca/cpuc/care/eligibility/tribal_categorical.yaml @@ -2,6 +2,7 @@ description: California provides CARE eligibility to tribal households that are values: 2022-06-01: - tanf + - receives_tanf # Reported TANF receipt, for households the model gives a $0 benefit. - head_start # Also these, not in our model: # Bureau of Indian Affairs General Assistance diff --git a/policyengine_us/parameters/gov/states/dc/dhs/power/disqualifying_benefits.yaml b/policyengine_us/parameters/gov/states/dc/dhs/power/disqualifying_benefits.yaml index 065b2706c42..852e03053f6 100644 --- a/policyengine_us/parameters/gov/states/dc/dhs/power/disqualifying_benefits.yaml +++ b/policyengine_us/parameters/gov/states/dc/dhs/power/disqualifying_benefits.yaml @@ -3,6 +3,7 @@ values: 1975-01-01: - dc_tanf - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. - unemployment_compensation metadata: diff --git a/policyengine_us/parameters/gov/states/il/dceo/ihwap/eligibility/categorical_eligibility.yaml b/policyengine_us/parameters/gov/states/il/dceo/ihwap/eligibility/categorical_eligibility.yaml index d860fa1249c..697c715f586 100644 --- a/policyengine_us/parameters/gov/states/il/dceo/ihwap/eligibility/categorical_eligibility.yaml +++ b/policyengine_us/parameters/gov/states/il/dceo/ihwap/eligibility/categorical_eligibility.yaml @@ -3,6 +3,7 @@ values: 2023-10-01: - il_liheap - ssi + - receives_ssi # Reported SSI receipt, for people the model gives a $0 payment. - il_tanf # 42 U.S.C. 6862(7)(B) → 42 U.S.C. 601 (Title IV SSA) - il_aabd # Comparable state program per 42 U.S.C. 6862(7)(B) - housing_assistance diff --git a/policyengine_us/parameters/gov/states/tx/dart/qualifying_programs.yaml b/policyengine_us/parameters/gov/states/tx/dart/qualifying_programs.yaml index 078b8dba96d..9b303ae92c6 100644 --- a/policyengine_us/parameters/gov/states/tx/dart/qualifying_programs.yaml +++ b/policyengine_us/parameters/gov/states/tx/dart/qualifying_programs.yaml @@ -9,6 +9,7 @@ values: - snap - receives_snap # Reported SNAP receipt, for households the model gives a $0 allotment. - tanf + - receives_tanf # Reported TANF receipt, for households the model gives a $0 benefit. # Comprehensive Energy Assistance Program (CEAP) # Housing Choice Voucher Program (Section 8) diff --git a/policyengine_us/parameters/gov/usda/school_meals/categorical_eligibility.yaml b/policyengine_us/parameters/gov/usda/school_meals/categorical_eligibility.yaml index 8c1978f960a..4b84f6d69aa 100644 --- a/policyengine_us/parameters/gov/usda/school_meals/categorical_eligibility.yaml +++ b/policyengine_us/parameters/gov/usda/school_meals/categorical_eligibility.yaml @@ -5,6 +5,7 @@ values: - snap # Supplemental Nutrition Assistance Program. - receives_snap # Reported SNAP receipt, for households the model gives a $0 allotment. - tanf # Temporary Assistance to Needy Families. Currently only available in CA and IL. + - receives_tanf # Reported TANF receipt, for households the model gives a $0 benefit. - fdpir # Food Distribution Program on Indian Reservations. - was_in_foster_care - is_homeless diff --git a/policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml b/policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml index f2f376d3e38..17e20206ebe 100644 --- a/policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml +++ b/policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml @@ -190,3 +190,39 @@ tanf: 0 output: pell_grant_simplified_formula_applies: true + +- name: Reports TANF receipt with a zero modeled benefit + period: 2023 + input: + people: + person: + medicaid_enrolled: false + ssi: 0 + wic: 0 + tax_unit: + pell_grant_primary_income: 49_999 + spm_unit: + snap: 0 + school_meal_net_subsidy: 0 + tanf: 0 + receives_tanf: true + output: + pell_grant_simplified_formula_applies: true + +- name: Reports SSI receipt with a zero modeled payment + period: 2023 + input: + people: + person: + medicaid_enrolled: false + ssi: 0 + receives_ssi: true + wic: 0 + tax_unit: + pell_grant_primary_income: 49_999 + spm_unit: + snap: 0 + school_meal_net_subsidy: 0 + tanf: 0 + output: + pell_grant_simplified_formula_applies: true diff --git a/policyengine_us/tests/policy/baseline/gov/fcc/acp/is_acp_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/fcc/acp/is_acp_eligible.yaml index ce0c8fd4a59..b90a0814a4a 100644 --- a/policyengine_us/tests/policy/baseline/gov/fcc/acp/is_acp_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/fcc/acp/is_acp_eligible.yaml @@ -142,3 +142,33 @@ wic: 0 output: is_acp_eligible: true + +- name: Family reporting SSI receipt with a zero modeled payment is eligible if income is above 200% of FPG, due to Lifeline categorical eligibility + period: 2022 + input: + lifeline: 0 + snap: 0 + ssi: 0 + receives_ssi: true + medicaid_enrolled: false + ebb: 0 + pell_grant: 0 + fcc_fpg_ratio: 2.1 + wic: 0 + output: + is_acp_eligible: true + +- name: Tribal family reporting TANF receipt with a zero modeled benefit is eligible if income is above 200% of FPG, due to Lifeline categorical eligibility + period: 2022 + input: + head_start: 0 + fdpir: 0 + tanf: 0 + receives_tanf: true + ebb: 0 + pell_grant: 0 + is_on_tribal_land: true + fcc_fpg_ratio: 2.1 + wic: 0 + output: + is_acp_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_eligible.yaml index 0b7542e5f41..9e925ea048a 100644 --- a/policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/fcc/lifeline/is_lifeline_eligible.yaml @@ -62,3 +62,26 @@ medicaid_enrolled: false output: is_lifeline_eligible: true + +- name: Family reporting SSI receipt with a zero modeled payment is eligible + period: 2022 + input: + fcc_fpg_ratio: 1.5 + snap: 0 + ssi: 0 + receives_ssi: true + medicaid_enrolled: false + output: + is_lifeline_eligible: true + +- name: Tribal family reporting TANF receipt with a zero modeled benefit is eligible + period: 2022 + input: + fcc_fpg_ratio: 1.5 + is_on_tribal_land: true + head_start: false + fdpir: 0 + tanf: 0 + receives_tanf: true + output: + is_lifeline_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/calepa/carb/cvrp/is_ca_cvrp_increased_rebate_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/calepa/carb/cvrp/is_ca_cvrp_increased_rebate_eligible.yaml index ef79aa0aad1..868b6152cdb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/calepa/carb/cvrp/is_ca_cvrp_increased_rebate_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/calepa/carb/cvrp/is_ca_cvrp_increased_rebate_eligible.yaml @@ -22,3 +22,13 @@ ssi: 1 output: is_ca_cvrp_increased_rebate_eligible: true + +- name: Reported SSI receipt with a zero modeled payment also qualifies above the income threshold. + period: 2022 + input: + school_meal_fpg_ratio: 4.01 + medicaid_enrolled: false + ssi: 0 + receives_ssi: true + output: + is_ca_cvrp_increased_rebate_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.yaml new file mode 100644 index 00000000000..51d8b51b4a5 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cdss/tanf/cash/eligibility/ca_tanf_exempt.yaml @@ -0,0 +1,37 @@ +# Unit tests for ca_tanf_exempt +# California grants the exempt maximum aid payment to assistance units with a +# member participating in SSI, IHSS, SDI, or workers' compensation. + +- name: Assistance unit with a member receiving SSI is exempt. + period: 2025 + input: + state_code: CA + ssi: 1_000 + ca_in_home_supportive_services: 0 + ca_state_disability_insurance: 0 + workers_compensation: 0 + output: + ca_tanf_exempt: true + +- name: Assistance unit reporting SSI receipt with a zero modeled payment is exempt. + period: 2025 + input: + state_code: CA + ssi: 0 + receives_ssi: true + ca_in_home_supportive_services: 0 + ca_state_disability_insurance: 0 + workers_compensation: 0 + output: + ca_tanf_exempt: true + +- name: Assistance unit in none of the exempt programs is not exempt. + period: 2025 + input: + state_code: CA + ssi: 0 + ca_in_home_supportive_services: 0 + ca_state_disability_insurance: 0 + workers_compensation: 0 + output: + ca_tanf_exempt: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/ca/cpuc/care/ca_care_categorically_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ca/cpuc/care/ca_care_categorically_eligible.yaml index 21a75e6718d..35878e19290 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/ca/cpuc/care/ca_care_categorically_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/ca/cpuc/care/ca_care_categorically_eligible.yaml @@ -56,3 +56,28 @@ head_start: false output: ca_care_categorically_eligible: true + +- name: Household reporting SSI receipt with a zero modeled payment is categorically eligible. + period: 2023 + input: + state_code: CA + medicaid_enrolled: 0 + wic: 0 + snap: 0 + ssi: 0 + receives_ssi: true + tanf: 0 + head_start: false + output: + ca_care_categorically_eligible: true + +- name: Tribal household reporting TANF receipt with a zero modeled benefit is categorically eligible. + period: 2023 + input: + state_code: CA + is_on_tribal_land: true + tanf: 0 + receives_tanf: true + head_start: false + output: + ca_care_categorically_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/power/dc_power_has_disqualifying_benefits.yaml b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/power/dc_power_has_disqualifying_benefits.yaml new file mode 100644 index 00000000000..5f965c52467 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/dc/dhs/power/dc_power_has_disqualifying_benefits.yaml @@ -0,0 +1,59 @@ +# Unit tests for dc_power_has_disqualifying_benefits +# DC POWER disqualifies households receiving DC TANF, SSI, or unemployment compensation. + +- name: Household receiving SSI has disqualifying benefits. + period: 2025 + input: + people: + person1: + age: 40 + ssi: 10_000 + spm_units: + spm_unit: + members: [person1] + dc_tanf: 0 + households: + household: + members: [person1] + state_code: DC + output: + dc_power_has_disqualifying_benefits: true + +- name: Household reporting SSI receipt with a zero modeled payment has disqualifying benefits. + period: 2025 + input: + people: + person1: + age: 40 + ssi: 0 + receives_ssi: true + unemployment_compensation: 0 + spm_units: + spm_unit: + members: [person1] + dc_tanf: 0 + households: + household: + members: [person1] + state_code: DC + output: + dc_power_has_disqualifying_benefits: true + +- name: Household receiving none of the disqualifying benefits. + period: 2025 + input: + people: + person1: + age: 40 + ssi: 0 + unemployment_compensation: 0 + spm_units: + spm_unit: + members: [person1] + dc_tanf: 0 + households: + household: + members: [person1] + state_code: DC + output: + dc_power_has_disqualifying_benefits: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/il/dceo/ihwap/eligibility/il_ihwap_categorically_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/il/dceo/ihwap/eligibility/il_ihwap_categorically_eligible.yaml index 593bf24ecec..e5fc99d2e36 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/il/dceo/ihwap/eligibility/il_ihwap_categorically_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/il/dceo/ihwap/eligibility/il_ihwap_categorically_eligible.yaml @@ -61,3 +61,16 @@ il_liheap: 300 output: il_ihwap_categorically_eligible: true + +- name: Reported SSI receipt with a zero modeled payment is categorically eligible. + period: 2026 + input: + state_code: IL + il_liheap: 0 + ssi: 0 + receives_ssi: true + il_tanf: 0 + il_aabd: 0 + housing_assistance: 0 + output: + il_ihwap_categorically_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml index 2016595108a..3ee7e75150e 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/tx/dart/reduced_fare/eligibility/tx_dart_reduced_fare_program_eligible.yaml @@ -279,3 +279,27 @@ output: # receives_snap is SPM-unit-level, so it projects to both members. tx_dart_reduced_fare_program_eligible: [true, true] + +- name: Person reporting TANF receipt with a zero modeled benefit is eligible for reduced fare program + period: 2025 + input: + people: + person1: + age: 35 # Too young for Medicare, and not disabled. + is_disabled: false + wic: 0 + chip: 0 + medicaid_enrolled: false + spm_units: + spm_unit: + members: [person1] + tanf: 0 + receives_tanf: true + snap: 0 + households: + household: + members: [person1] + state_code: TX + output: + # Every other qualifying program is zeroed, so only receives_tanf can qualify him. + tx_dart_reduced_fare_program_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/usda/school_meals/meets_school_meal_categorical_eligibility.yaml b/policyengine_us/tests/policy/baseline/gov/usda/school_meals/meets_school_meal_categorical_eligibility.yaml index 4e5e021b9ae..1a8805c24b9 100644 --- a/policyengine_us/tests/policy/baseline/gov/usda/school_meals/meets_school_meal_categorical_eligibility.yaml +++ b/policyengine_us/tests/policy/baseline/gov/usda/school_meals/meets_school_meal_categorical_eligibility.yaml @@ -105,3 +105,18 @@ is_head_start_eligible: false output: meets_school_meal_categorical_eligibility: true + +- name: Reported TANF receipt qualifies even when the modeled benefit is zero. + period: 2022 + input: + snap: 0 + tanf: 0 + receives_tanf: true + fdpir: 0 + was_in_foster_care: false + is_homeless: false + is_runaway_child: false + is_migratory_child: false + is_head_start_eligible: false + output: + meets_school_meal_categorical_eligibility: true