policyengine-us 1.439.0__py3-none-any.whl → 1.458.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/threshold.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/amount.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/rate.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/threshold.yaml +23 -0
- policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
- policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
- policyengine_us/parameters/gov/irs/deductions/qbi/max/reit_ptp_rate.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
- policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
- policyengine_us/parameters/gov/states/ca/chhs/medi_cal_enrollment_freeze/in_effect.yaml +12 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/{single.yaml → non_joint.yaml} +2 -2
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/{single.yaml → non_joint.yaml} +2 -2
- policyengine_us/parameters/gov/states/il/dhs/aabd/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +3 -5
- policyengine_us/parameters/gov/states/il/dhs/tanf/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +2 -2
- policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
- policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/household_size.yaml +14 -0
- policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/income_limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
- policyengine_us/parameters/gov/states/il/hfs/mpe/eligibility/income_limit.yaml +13 -0
- policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
- policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
- policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml +12 -0
- policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/amount.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_agi.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_child_age.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/parent_max_earnings.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/amount.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/child_age_threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/start.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/earned_income/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/military_retirement/rate.yaml +26 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/non_refundable.yaml +5 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/birth_year.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/max.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/in_effect.yaml +2 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/personal_exemption.yaml +5 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/rate.yaml +5 -1
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/threshold.yaml +9 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/rate.yaml +3 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
- policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
- policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
- policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
- policyengine_us/reforms/local/ny/__init__.py +4 -0
- policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
- policyengine_us/reforms/reforms.py +21 -0
- policyengine_us/reforms/state_dependent_exemptions/repeal_state_dependent_exemptions.py +1 -1
- policyengine_us/reforms/states/de/__init__.py +3 -0
- policyengine_us/reforms/states/de/dependent_credit/de_dependent_credit_reform.py +165 -0
- policyengine_us/reforms/states/ut/__init__.py +3 -0
- policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicaid/medicaid_enrolled.yaml +105 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml +75 -3
- policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
- policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.yaml +59 -5
- policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +2 -10
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_level.yaml +27 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +116 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_income_eligible.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/integration.yaml +138 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/eligibility/il_smib_eligible.yaml +88 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/integration.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/ky/tax/income/credits/family_size_tax_credit/ky_family_size_tax_credit_rate.yaml +8 -8
- policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_a.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_b.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_c.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/eitc/nj_eitc.yaml +8 -3
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +137 -0
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +82 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.yaml +89 -0
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.yaml +50 -0
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
- policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.yaml +10 -6
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +75 -4
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
- policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
- policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
- policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
- policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
- policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
- policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
- policyengine_us/tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml +25 -1
- policyengine_us/tests/policy/contrib/states/de/dependent_credit_reform_test.yaml +210 -0
- policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
- policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
- policyengine_us/variables/gov/hhs/medicaid/costs/medicaid_group.py +2 -2
- policyengine_us/variables/gov/hhs/medicaid/receives_medicaid.py +17 -0
- policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
- policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py +16 -6
- policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
- policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
- policyengine_us/variables/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.py +25 -4
- policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
- policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +1 -1
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +1 -1
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_immigration_status_eligible_person.py +1 -1
- policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +1 -1
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +40 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_income_eligible.py +18 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/il_fpp_income_level.py +29 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
- policyengine_us/variables/gov/states/il/hfs/il_hfs_immigration_status_eligible.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/mpe/eligibility/il_mpe_income_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/mpe/il_mpe_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_categorical_eligible.py +26 -0
- policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_eligible.py +28 -0
- policyengine_us/variables/gov/states/il/hfs/smib/il_smib.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/smib/il_smib_person.py +24 -0
- policyengine_us/variables/gov/states/ky/tax/income/credits/family_size_credit/ky_family_size_tax_credit_rate.py +1 -1
- policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
- policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +7 -1
- policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
- policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.py +20 -0
- policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.py +22 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
- policyengine_us/variables/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.py +1 -1
- policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
- policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
- policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
- policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
- policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +9 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +6 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
- policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
- policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
- policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
- policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
- policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
- policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
- policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
- policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py +1 -1
- policyengine_us/variables/household/income/spm_unit/spm_unit_tenure_type.py +17 -0
- {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/METADATA +2 -2
- {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/RECORD +312 -138
- {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/WHEEL +1 -1
- policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +0 -57
- /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
- /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
- {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html",
|
|
12
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd.html",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.IL
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
age_eligible = person("il_hbwd_age_eligible", period)
|
|
18
|
+
disability_eligible = person("il_hbwd_disability_eligible", period)
|
|
19
|
+
employment_eligible = person("il_hbwd_employment_eligible", period)
|
|
20
|
+
income_eligible = person("il_hbwd_income_eligible", period)
|
|
21
|
+
asset_eligible = person("il_hbwd_asset_eligible", period)
|
|
22
|
+
immigration_eligible = person(
|
|
23
|
+
"il_hfs_immigration_status_eligible", period
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
age_eligible
|
|
28
|
+
& disability_eligible
|
|
29
|
+
& employment_eligible
|
|
30
|
+
& income_eligible
|
|
31
|
+
& asset_eligible
|
|
32
|
+
& immigration_eligible
|
|
33
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_employment_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities employment eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
# Per § 120.510(l)(1), employment is verified by current payment
|
|
17
|
+
# under FICA or IMRF. We use earned income as a proxy for
|
|
18
|
+
# employment with FICA contributions.
|
|
19
|
+
#
|
|
20
|
+
# Not currently modeled:
|
|
21
|
+
# - § 120.510(l)(2)(A): Future employment exception (60 days)
|
|
22
|
+
# - § 120.510(l)(2)(B): Medical inability grace period (90 days)
|
|
23
|
+
# - § 120.510(l)(2)(C): Job loss grace period (30 days)
|
|
24
|
+
earned_income = person("il_hbwd_gross_earned_income", period)
|
|
25
|
+
return earned_income > 0
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities income eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
p = parameters(period).gov.states.il.hfs.hbwd.eligibility
|
|
17
|
+
# Income limit is 350% of FPL
|
|
18
|
+
fpg = person.spm_unit("spm_unit_fpg", period)
|
|
19
|
+
income_limit = fpg * p.income.limit
|
|
20
|
+
# Check household countable income against limit
|
|
21
|
+
# Per § 120.510(f), counts individual + spouse income
|
|
22
|
+
countable_income = person.spm_unit("il_hbwd_countable_income", period)
|
|
23
|
+
return countable_income <= income_limit
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/about.html",
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.IL
|
|
16
|
+
|
|
17
|
+
adds = ["il_hbwd_person"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_person(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities per person"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_hbwd_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
# HBWD provides comprehensive healthcare coverage
|
|
18
|
+
# Could model as:
|
|
19
|
+
# 1. Negative premium (cost to individual)
|
|
20
|
+
# 2. Imputed healthcare value minus premium
|
|
21
|
+
# 3. Healthcare coverage indicator
|
|
22
|
+
# For now, return negative premium as cost
|
|
23
|
+
premium = person("il_hbwd_premium", period)
|
|
24
|
+
return -premium
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_premium(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities monthly premium"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/premiums.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_hbwd_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.il.hfs.hbwd.premium
|
|
18
|
+
|
|
19
|
+
earned = person("il_hbwd_countable_earned_income", period)
|
|
20
|
+
unearned = person("il_hbwd_countable_unearned_income", period)
|
|
21
|
+
|
|
22
|
+
# Lookup premium components from bracket parameters
|
|
23
|
+
return p.earned.calc(earned) + p.unearned.calc(unearned)
|
policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_earned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable earned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.360",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.362",
|
|
13
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.370",
|
|
14
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
15
|
+
)
|
|
16
|
+
defined_for = StateCode.IL
|
|
17
|
+
|
|
18
|
+
adds = ["il_aabd_earned_income_after_exemption_person"]
|
|
19
|
+
# HBWD uses the same earned income calculation as AABD per
|
|
20
|
+
# 89 Ill. Admin. Code § 120.510(i) referencing § 120.362 and § 120.370
|
|
21
|
+
# § 120.362 and § 113.120 have identical exemption amounts:
|
|
22
|
+
# - $25 flat exemption (§ 120.362(a) / § 113.120(a))
|
|
23
|
+
# - $20 + 50% of next $60 for disabled workers (§ 120.362(b)(1) / § 113.120(b))
|
|
24
|
+
# § 120.370 references AABD MANG work expense deductions
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_gross_earned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities gross earned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.360",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.IL
|
|
15
|
+
|
|
16
|
+
adds = "gov.states.il.hfs.hbwd.eligibility.income.sources.earned"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = SPMUnit
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
12
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "is_tax_unit_head_or_spouse"
|
|
15
|
+
|
|
16
|
+
adds = [
|
|
17
|
+
"il_aabd_earned_income_after_exemption_person",
|
|
18
|
+
"il_hbwd_countable_unearned_income",
|
|
19
|
+
]
|
|
20
|
+
# Per § 120.510(f), count income of individual AND spouse
|
|
21
|
+
# Adds automatically sums across SPM unit members
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_unearned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable unearned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.330",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.IL
|
|
15
|
+
|
|
16
|
+
adds = "gov.states.il.hfs.hbwd.eligibility.income.sources.unearned"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hfs_immigration_status_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois HFS programs immigration status eligible"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = "https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.310"
|
|
10
|
+
defined_for = StateCode.IL
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.il.hfs
|
|
14
|
+
immigration_status = person("immigration_status", period)
|
|
15
|
+
is_citizen = (
|
|
16
|
+
immigration_status == immigration_status.possible_values.CITIZEN
|
|
17
|
+
)
|
|
18
|
+
immigration_status_str = immigration_status.decode_to_str()
|
|
19
|
+
has_qualifying_status = np.isin(
|
|
20
|
+
immigration_status_str,
|
|
21
|
+
p.qualified_noncitizen_statuses,
|
|
22
|
+
)
|
|
23
|
+
return has_qualifying_status | is_citizen
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_mpe_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois MPE income eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = "https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.66"
|
|
10
|
+
defined_for = StateCode.IL
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.il.hfs.mpe.eligibility
|
|
14
|
+
income_level = person("medicaid_income_level", period.this_year)
|
|
15
|
+
return income_level <= p.income_limit
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_mpe_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Medicaid Presumptive Eligibility eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = "https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.66"
|
|
10
|
+
defined_for = StateCode.IL
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
is_pregnant = person("is_pregnant", period.this_year)
|
|
14
|
+
income_eligible = person("il_mpe_income_eligible", period)
|
|
15
|
+
return is_pregnant & income_eligible
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_categorical_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois SMIB categorical eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
documentation = (
|
|
10
|
+
"Eligible for SMIB based on categorical eligibility: "
|
|
11
|
+
"receiving AABD, TANF, or SSI benefits."
|
|
12
|
+
)
|
|
13
|
+
reference = (
|
|
14
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
15
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
16
|
+
)
|
|
17
|
+
defined_for = StateCode.IL
|
|
18
|
+
|
|
19
|
+
def formula(person, period, parameters):
|
|
20
|
+
# AABD recipient
|
|
21
|
+
is_aabd = person("il_aabd_eligible_person", period)
|
|
22
|
+
# TANF recipient (SPM unit level, check if person is in eligible unit)
|
|
23
|
+
is_tanf = person.spm_unit("il_tanf_eligible", period)
|
|
24
|
+
# SSI recipient
|
|
25
|
+
is_ssi = person("is_ssi_eligible", period)
|
|
26
|
+
return is_aabd | is_tanf | is_ssi
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois SMIB Buy-In Program eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
documentation = (
|
|
10
|
+
"Eligible for Illinois Supplementary Medical Insurance Benefit "
|
|
11
|
+
"(SMIB) Buy-In Program. The program pays Medicare Part B premiums "
|
|
12
|
+
"for eligible individuals receiving AABD, TANF, SSI, or who qualify "
|
|
13
|
+
"as QMB/SLMB/QI under the Medicare Savings Program."
|
|
14
|
+
)
|
|
15
|
+
reference = (
|
|
16
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
17
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
18
|
+
)
|
|
19
|
+
defined_for = StateCode.IL
|
|
20
|
+
|
|
21
|
+
def formula(person, period, parameters):
|
|
22
|
+
# Must be Medicare eligible (or meet other SMIB criteria)
|
|
23
|
+
is_medicare = person("is_medicare_eligible", period.this_year)
|
|
24
|
+
# Check categorical eligibility (AABD, TANF, SSI)
|
|
25
|
+
categorical_eligible = person("il_smib_categorical_eligible", period)
|
|
26
|
+
# Note: QMB/SLMB/QI eligibility will come from MSP when that PR merges
|
|
27
|
+
# For now, categorical eligibility is the primary path
|
|
28
|
+
return is_medicare & categorical_eligible
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Illinois SMIB Buy-In Program benefit"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
documentation = (
|
|
11
|
+
"Illinois Supplementary Medical Insurance Benefit (SMIB) Buy-In "
|
|
12
|
+
"Program. The state pays Medicare Part B premiums for eligible "
|
|
13
|
+
"individuals receiving AABD, TANF, SSI, or who qualify under the "
|
|
14
|
+
"Medicare Savings Program (QMB, SLMB, QI)."
|
|
15
|
+
)
|
|
16
|
+
reference = (
|
|
17
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
18
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
19
|
+
)
|
|
20
|
+
defined_for = StateCode.IL
|
|
21
|
+
adds = ["il_smib_person"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_person(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Illinois SMIB benefit (person)"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
documentation = (
|
|
11
|
+
"Illinois Supplementary Medical Insurance Benefit (SMIB) Buy-In "
|
|
12
|
+
"Program benefit. The state pays the Medicare Part B premium for "
|
|
13
|
+
"eligible individuals."
|
|
14
|
+
)
|
|
15
|
+
reference = (
|
|
16
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
17
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
18
|
+
)
|
|
19
|
+
defined_for = "il_smib_eligible"
|
|
20
|
+
|
|
21
|
+
def formula(person, period, parameters):
|
|
22
|
+
# SMIB pays the Part B premium
|
|
23
|
+
# base_part_b_premium is annual, convert to monthly
|
|
24
|
+
return person("base_part_b_premium", period.this_year) / MONTHS_IN_YEAR
|
|
@@ -16,7 +16,7 @@ class ky_family_size_tax_credit_rate(Variable):
|
|
|
16
16
|
income = tax_unit("ky_modified_agi", period)
|
|
17
17
|
fpg = parameters(period).gov.hhs.fpg
|
|
18
18
|
# This will be CONTIGUOUS_US for Kentucky.
|
|
19
|
-
state_group = tax_unit.household("
|
|
19
|
+
state_group = tax_unit.household("state_group_str", period)
|
|
20
20
|
p1 = fpg.first_person[state_group]
|
|
21
21
|
padd = fpg.additional_person[state_group]
|
|
22
22
|
family_size = tax_unit("tax_unit_size", period)
|
|
@@ -6,6 +6,7 @@ class ma_state_supplement(Variable):
|
|
|
6
6
|
entity = Person
|
|
7
7
|
label = "Massachusetts State Supplement payment amount"
|
|
8
8
|
definition_period = YEAR
|
|
9
|
+
defined_for = StateCode.MA
|
|
9
10
|
exhaustive_parameter_dependencies = "gov.states.ma.dta.ssp"
|
|
10
11
|
reference = (
|
|
11
12
|
"https://www.law.cornell.edu/regulations/massachusetts/106-CMR-327-330"
|
|
@@ -15,11 +15,12 @@ class mt_itemized_deductions_indiv(Variable):
|
|
|
15
15
|
defined_for = StateCode.MT
|
|
16
16
|
|
|
17
17
|
def formula(person, period, parameters):
|
|
18
|
-
p = parameters(period).gov.
|
|
18
|
+
p = parameters(period).gov.states.mt.tax.income.deductions.itemized
|
|
19
19
|
# Since we only compute the federal charitable deduction at the tax unit level,
|
|
20
20
|
# we will split the value between each spouse
|
|
21
21
|
charitable_deduction = (
|
|
22
|
-
person.tax_unit("charitable_deduction", period)
|
|
22
|
+
person.tax_unit("charitable_deduction", period)
|
|
23
|
+
* p.spouse_allocation_rate
|
|
23
24
|
)
|
|
24
25
|
head_or_spouse = person("is_tax_unit_head_or_spouse", period)
|
|
25
26
|
# The interest deduction is the sum of mortagage and investment interest expenses
|
|
@@ -4,9 +4,14 @@ from policyengine_us.model_api import *
|
|
|
4
4
|
class nj_additions(Variable):
|
|
5
5
|
value_type = float
|
|
6
6
|
entity = Person
|
|
7
|
-
label = "New Jersey additions to
|
|
7
|
+
label = "New Jersey additions to gross income"
|
|
8
8
|
unit = USD
|
|
9
|
-
documentation = "Additions to
|
|
9
|
+
documentation = "Additions to New Jersey gross income per NJ Statute 54A:5-1. These are amounts added back to gross income that may have been excluded or deducted for federal purposes."
|
|
10
10
|
definition_period = YEAR
|
|
11
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 28-38
|
|
14
|
+
)
|
|
12
15
|
defined_for = StateCode.NJ
|
|
16
|
+
|
|
17
|
+
adds = "gov.states.nj.tax.income.additions"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class nj_gross_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "New Jersey gross income"
|
|
8
|
+
unit = USD
|
|
9
|
+
documentation = "Gross income calculated from specific income categories per NJ statute, before additions and subtractions. This is built from gross income sources, not federal AGI."
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 15-27
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.NJ
|
|
16
|
+
|
|
17
|
+
adds = "gov.states.nj.tax.income.gross_income_sources"
|
|
@@ -4,14 +4,20 @@ from policyengine_us.model_api import *
|
|
|
4
4
|
class nj_total_income(Variable):
|
|
5
5
|
value_type = float
|
|
6
6
|
entity = Person
|
|
7
|
-
label = "New Jersey total income
|
|
7
|
+
label = "New Jersey total income"
|
|
8
8
|
unit = USD
|
|
9
|
+
documentation = "New Jersey total income calculated as gross income plus additions minus subtractions per NJ Statute 54A:5-1. This is the income base before exclusions."
|
|
9
10
|
definition_period = YEAR
|
|
10
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf",
|
|
14
|
+
)
|
|
11
15
|
defined_for = StateCode.NJ
|
|
12
16
|
|
|
13
17
|
def formula(person, period, parameters):
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
# NJ Total Income = Gross Income + Additions - Subtractions
|
|
19
|
+
# Per NJ Statute 54A:5-1 and Form NJ-1040
|
|
20
|
+
gross_income = person("nj_gross_income", period)
|
|
21
|
+
additions = person("nj_additions", period)
|
|
22
|
+
subtractions = person("nj_agi_subtractions", period)
|
|
23
|
+
return max_(0, gross_income + additions - subtractions)
|
|
@@ -35,10 +35,16 @@ class nj_eitc(Variable):
|
|
|
35
35
|
& federal_eitc_meets_income_test
|
|
36
36
|
& federal_eitc_takes_up
|
|
37
37
|
)
|
|
38
|
+
childless_eitc_age_eligible = tax_unit(
|
|
39
|
+
"nj_childless_eitc_age_eligible", period
|
|
40
|
+
)
|
|
41
|
+
childless_eitc_eligible = (
|
|
42
|
+
childless_eitc_age_eligible & federal_eitc_meets_income_test
|
|
43
|
+
)
|
|
38
44
|
federal_eitc = select(
|
|
39
45
|
[
|
|
40
46
|
federal_eitc_eligible,
|
|
41
|
-
|
|
47
|
+
childless_eitc_eligible,
|
|
42
48
|
],
|
|
43
49
|
[
|
|
44
50
|
tax_unit("eitc", period),
|
|
@@ -13,6 +13,10 @@ class oh_joint_filing_credit_qualifying_income(Variable):
|
|
|
13
13
|
)
|
|
14
14
|
defined_for = StateCode.OH
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
agi = person("oh_agi_person", period)
|
|
18
|
+
# Prevent negative subtractions from acting as additions
|
|
19
|
+
subtractions = max_(
|
|
20
|
+
0, person("oh_joint_filing_credit_agi_subtractions", period)
|
|
21
|
+
)
|
|
22
|
+
return agi - subtractions
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ut_military_retirement_credit(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Utah military retirement credit"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://le.utah.gov/xcode/Title59/Chapter10/59-10-S1043.html"
|
|
11
|
+
defined_for = "ut_military_retirement_credit_eligible"
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
military_retirement_pay = add(
|
|
15
|
+
tax_unit, period, ["military_retirement_pay"]
|
|
16
|
+
)
|
|
17
|
+
p = parameters(
|
|
18
|
+
period
|
|
19
|
+
).gov.states.ut.tax.income.credits.military_retirement
|
|
20
|
+
return military_retirement_pay * p.rate
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ut_military_retirement_credit_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Eligible for the Utah military retirement credit"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = "https://le.utah.gov/xcode/Title59/Chapter10/59-10-S1043.html"
|
|
10
|
+
defined_for = StateCode.UT
|
|
11
|
+
|
|
12
|
+
def formula(tax_unit, period, parameters):
|
|
13
|
+
# Has military retirement pay
|
|
14
|
+
military_retirement_pay = add(
|
|
15
|
+
tax_unit, period, ["military_retirement_pay"]
|
|
16
|
+
)
|
|
17
|
+
has_military_retirement_pay = military_retirement_pay > 0
|
|
18
|
+
# Cannot claim if claiming the retirement credit (code 18)
|
|
19
|
+
claims_retirement_credit = tax_unit(
|
|
20
|
+
"ut_claims_retirement_credit", period
|
|
21
|
+
)
|
|
22
|
+
return has_military_retirement_pay & ~claims_retirement_credit
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_payment_standard(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF payment standard"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020"
|
|
11
|
+
defined_for = StateCode.WA
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
# Get payment standard by family size per WAC 388-478-0020
|
|
15
|
+
p = parameters(period).gov.states.wa.dshs.tanf
|
|
16
|
+
|
|
17
|
+
# Get assistance unit size, capped at maximum table value (10)
|
|
18
|
+
size = spm_unit("spm_unit_size", period)
|
|
19
|
+
size_capped = min_(size, p.maximum_family_size)
|
|
20
|
+
|
|
21
|
+
# Look up payment standard for this family size
|
|
22
|
+
return p.payment_standard.amount[size_capped]
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-400-0005"
|
|
10
|
+
defined_for = StateCode.WA
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
person = spm_unit.members
|
|
14
|
+
|
|
15
|
+
# Must meet demographic requirements (minor child with deprived parent
|
|
16
|
+
# OR pregnant woman)
|
|
17
|
+
# Per WAC 388-400-0005, eligibility follows federal TANF demographic rules
|
|
18
|
+
demographic_eligible = spm_unit("is_demographic_tanf_eligible", period)
|
|
19
|
+
|
|
20
|
+
# Must have at least one U.S. citizen or qualified immigrant
|
|
21
|
+
# Per WAC 388-424-0001, follows federal immigration eligibility
|
|
22
|
+
has_citizen = spm_unit.any(
|
|
23
|
+
person("is_citizen_or_legal_immigrant", period)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# Must meet income eligibility (gross earned income < limit)
|
|
27
|
+
# Per WAC 388-478-0035
|
|
28
|
+
income_eligible = spm_unit("wa_tanf_income_eligible", period)
|
|
29
|
+
|
|
30
|
+
# Must meet resource eligibility (countable resources <= $6,000)
|
|
31
|
+
# Per WAC 388-470-0045
|
|
32
|
+
resources_eligible = spm_unit(
|
|
33
|
+
"wa_tanf_resources_eligible", period.this_year
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
# All requirements must be met
|
|
37
|
+
return (
|
|
38
|
+
demographic_eligible
|
|
39
|
+
& has_citizen
|
|
40
|
+
& income_eligible
|
|
41
|
+
& resources_eligible
|
|
42
|
+
)
|