policyengine-us 1.465.0__py3-none-any.whl → 1.471.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/gov/hhs/medicaid/emergency_medicaid/enabled.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/uses_medicaid_income_thresholds.yaml +13 -0
- policyengine_us/parameters/gov/ssa/revenue/oasdi_share_of_gross_ss.yaml +13 -0
- policyengine_us/parameters/gov/states/il/isbe/age_threshold/teen_parent.yaml +15 -0
- policyengine_us/parameters/gov/states/il/isbe/income/countable_sources.yaml +28 -0
- policyengine_us/parameters/gov/states/il/isbe/income/income_limit_rate.yaml +13 -0
- policyengine_us/parameters/gov/states/il/isbe/pfa/benefit/amount.yaml +15 -0
- policyengine_us/parameters/gov/states/il/isbe/pfae/benefit/amount.yaml +15 -0
- policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/age_range.yaml +26 -0
- policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/deep_poverty_rate.yaml +10 -0
- policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/low_income_rate.yaml +10 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/benefit/amount.yaml +16 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/child.yaml +13 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/young_parent.yaml +11 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/deep_poverty_rate.yaml +11 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/low_income_rate.yaml +11 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/poverty_rate.yaml +11 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/priority/geriatric_pregnancy_age.yaml +10 -0
- policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/risk_factors/minimum_score.yaml +11 -0
- policyengine_us/parameters/gov/states/in/fssa/README.md +1 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/README.md +1 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/eligibility/continuing/fpg_rate.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/benefit/earned_income_disregard/rate.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/earned_income_disregard/rate.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/flat_disregard/amount.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/work_expense/amount.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/at_application/amount.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/while_receiving/amount.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/resources/vehicle_exemption/amount.yaml +12 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/amount.yaml +34 -0
- policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/max_unit_size.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml +3 -0
- policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml +13 -4
- policyengine_us/parameters/gov/states/mo/tax/income/subtractions/agi_subtractions.yaml +18 -0
- policyengine_us/parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml +14 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/flat_amount.yaml +14 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/percentage_of_disregard.yaml +16 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/initial_eligibility/income_limit_rate.yaml +14 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/additional_person_increment.yaml +14 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/amounts.yaml +43 -0
- policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/max_group_size.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/age_threshold/minor_child.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/additional_person.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/amount.yaml +32 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/max.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/per_child.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/additional_person.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/amount.yaml +32 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/earned_income_disregard_rate.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/income/eli_multiplier.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/maximum_need_group_size.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/minimum_benefit.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/additional_person.yaml +12 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/amount.yaml +32 -0
- policyengine_us/parameters/gov/states/or/odhs/tanf/resources/limit/amount.yaml +12 -0
- policyengine_us/tests/microsimulation/test_microsim.py +46 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/integration.yaml +667 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.yaml +376 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.yaml +86 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.yaml +85 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +40 -21
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +57 -14
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +17 -35
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_income_eligible.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.yaml +310 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/integration.yaml +102 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.yaml +85 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.yaml +46 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.yaml +48 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_eligible.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.yaml +74 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.yaml +75 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.yaml +74 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.yaml +100 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.yaml +91 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.yaml +102 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.yaml +160 -0
- policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/integration.yaml +187 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/benefit/in_tanf_payment_standard.yaml +58 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.yaml +163 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.yaml +94 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.yaml +74 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.yaml +63 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/in_tanf.yaml +64 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.yaml +83 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.yaml +112 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.yaml +71 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/integration.yaml +249 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_resources_eligible.yaml +60 -0
- policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/integration_with_eligibility.yaml +78 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml +176 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/integration.yaml +152 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_countable_income.yaml +113 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_eligible.yaml +239 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_fpg.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_income_eligible.yaml +80 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_initial_income_eligible.yaml +160 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_payment_standard.yaml +77 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/integration.yaml +363 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf.yaml +94 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income.yaml +77 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income_eligible.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_child_support_disregard.yaml +272 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income.yaml +70 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income_eligible.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_income_eligible.yaml +75 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eligible.yaml +68 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_income_eligible.yaml +211 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_payment_standard.yaml +68 -0
- policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_resources_eligible.yaml +37 -0
- policyengine_us/tests/run_selective_tests.py +5 -0
- policyengine_us/tests/test_batched.py +106 -11
- policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/has_emergency_medical_condition.py +16 -0
- policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.py +33 -0
- policyengine_us/variables/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.py +58 -0
- policyengine_us/variables/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.py +60 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +51 -15
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +66 -15
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +11 -6
- policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_income_eligible.py +26 -0
- policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.py +32 -0
- policyengine_us/variables/gov/states/il/isbe/income/il_isbe_countable_income.py +13 -0
- policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa.py +15 -0
- policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa_eligible.py +18 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.py +23 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.py +19 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.py +28 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/il_pfae.py +19 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.py +40 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.py +23 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.py +21 -0
- policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.py +65 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.py +17 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.py +18 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.py +18 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.py +23 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.py +21 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.py +21 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.py +16 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.py +20 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.py +37 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.py +21 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.py +36 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.py +54 -0
- policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_priority_score.py +19 -0
- policyengine_us/variables/gov/states/il/isbe/pi/il_pi.py +15 -0
- policyengine_us/variables/gov/states/il/isbe/pi/il_pi_eligible.py +18 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.py +31 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.py +36 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.py +21 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.py +18 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_resources_eligible.py +25 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf.py +21 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf_payment_standard.py +19 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.py +20 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.py +33 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_eligibility.py +19 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.py +13 -0
- policyengine_us/variables/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.py +27 -0
- policyengine_us/variables/gov/states/mo/tax/income/adjusted_gross_income/mo_adjusted_gross_income.py +1 -1
- policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.py +16 -0
- policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.py +20 -0
- policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction_person.py +28 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_eligible.py +39 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_income_eligible.py +33 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_initial_income_eligible.py +30 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/income/oh_owf_countable_income.py +40 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf.py +23 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_fpg.py +32 -0
- policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_payment_standard.py +26 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/benefit/or_tanf_payment_standard.py +23 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_adjusted_income_eligible.py +28 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_countable_income_eligible.py +28 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_eligible.py +16 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_income_eligible.py +20 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eligible.py +25 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_income_eligible.py +26 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_resources_eligible.py +19 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_adjusted_income.py +21 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_child_support_disregard.py +25 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_countable_income.py +20 -0
- policyengine_us/variables/gov/states/or/odhs/tanf/or_tanf.py +25 -0
- policyengine_us/variables/household/demographic/geographic/county/county.py +9 -0
- policyengine_us/variables/household/demographic/geographic/is_non_english_speaking_home.py +9 -0
- policyengine_us/variables/household/demographic/household/parent_has_less_than_high_school_education.py +9 -0
- policyengine_us/variables/household/demographic/person/has_developmental_delay.py +9 -0
- policyengine_us/variables/household/demographic/person/has_individualized_education_program.py +9 -0
- policyengine_us/variables/household/demographic/person/has_no_prior_formal_early_learning.py +9 -0
- policyengine_us/variables/household/demographic/person/is_born_outside_us.py +9 -0
- {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/RECORD +207 -19
- {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
- name: No income
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
tanf_gross_earned_income: 0
|
|
7
|
+
tanf_gross_unearned_income: 0
|
|
8
|
+
spm_units:
|
|
9
|
+
spm_unit:
|
|
10
|
+
members: [person1]
|
|
11
|
+
households:
|
|
12
|
+
household:
|
|
13
|
+
members: [person1]
|
|
14
|
+
state_code: IN
|
|
15
|
+
output:
|
|
16
|
+
in_tanf_countable_income_for_payment: 0
|
|
17
|
+
|
|
18
|
+
- name: Earned income only
|
|
19
|
+
period: 2024-01
|
|
20
|
+
input:
|
|
21
|
+
people:
|
|
22
|
+
person1:
|
|
23
|
+
tanf_gross_earned_income: 400
|
|
24
|
+
tanf_gross_unearned_income: 0
|
|
25
|
+
spm_units:
|
|
26
|
+
spm_unit:
|
|
27
|
+
members: [person1]
|
|
28
|
+
households:
|
|
29
|
+
household:
|
|
30
|
+
members: [person1]
|
|
31
|
+
state_code: IN
|
|
32
|
+
output:
|
|
33
|
+
in_tanf_countable_income_for_payment: 100
|
|
34
|
+
# $400 × 0.25 = $100 (75% disregard)
|
|
35
|
+
|
|
36
|
+
- name: Unearned income only
|
|
37
|
+
period: 2024-01
|
|
38
|
+
input:
|
|
39
|
+
people:
|
|
40
|
+
person1:
|
|
41
|
+
tanf_gross_earned_income: 0
|
|
42
|
+
tanf_gross_unearned_income: 300
|
|
43
|
+
spm_units:
|
|
44
|
+
spm_unit:
|
|
45
|
+
members: [person1]
|
|
46
|
+
households:
|
|
47
|
+
household:
|
|
48
|
+
members: [person1]
|
|
49
|
+
state_code: IN
|
|
50
|
+
output:
|
|
51
|
+
in_tanf_countable_income_for_payment: 300
|
|
52
|
+
# Unearned income has no disregard
|
|
53
|
+
|
|
54
|
+
- name: Mixed earned and unearned income
|
|
55
|
+
period: 2024-01
|
|
56
|
+
input:
|
|
57
|
+
people:
|
|
58
|
+
person1:
|
|
59
|
+
tanf_gross_earned_income: 500
|
|
60
|
+
tanf_gross_unearned_income: 200
|
|
61
|
+
spm_units:
|
|
62
|
+
spm_unit:
|
|
63
|
+
members: [person1]
|
|
64
|
+
households:
|
|
65
|
+
household:
|
|
66
|
+
members: [person1]
|
|
67
|
+
state_code: IN
|
|
68
|
+
output:
|
|
69
|
+
in_tanf_countable_income_for_payment: 325
|
|
70
|
+
# $500 × 0.25 = $125 (earned with 75% disregard)
|
|
71
|
+
# $125 + $200 (unearned) = $325
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# Indiana TANF Integration Tests
|
|
2
|
+
# Tests the full benefit calculation pipeline
|
|
3
|
+
|
|
4
|
+
- name: Case 1 - Single parent with no income receives maximum benefit
|
|
5
|
+
period: 2024-01
|
|
6
|
+
input:
|
|
7
|
+
people:
|
|
8
|
+
person1:
|
|
9
|
+
age: 30
|
|
10
|
+
tanf_gross_earned_income: 0
|
|
11
|
+
tanf_gross_unearned_income: 0
|
|
12
|
+
person2:
|
|
13
|
+
age: 10
|
|
14
|
+
person3:
|
|
15
|
+
age: 8
|
|
16
|
+
spm_units:
|
|
17
|
+
spm_unit:
|
|
18
|
+
members: [person1, person2, person3]
|
|
19
|
+
spm_unit_cash_assets: 500
|
|
20
|
+
households:
|
|
21
|
+
household:
|
|
22
|
+
members: [person1, person2, person3]
|
|
23
|
+
state_code: IN
|
|
24
|
+
output:
|
|
25
|
+
spm_unit_size: [3, 3, 3]
|
|
26
|
+
in_tanf_countable_earned_income_for_eligibility: [0, 0, 0]
|
|
27
|
+
in_tanf_countable_income_for_eligibility: [0, 0, 0]
|
|
28
|
+
in_tanf_countable_earned_income: [0, 0, 0]
|
|
29
|
+
in_tanf_countable_income_for_payment: [0, 0, 0]
|
|
30
|
+
in_tanf_countable_income_eligible: [true, true, true]
|
|
31
|
+
# Countable income ($0) < standard of need ($320) → eligible
|
|
32
|
+
in_tanf_payment_eligible: [true, true, true]
|
|
33
|
+
# Countable income ($0) < standard of need ($320) → eligible
|
|
34
|
+
in_tanf_payment_standard: [320, 320, 320]
|
|
35
|
+
# Family of 3 → $320
|
|
36
|
+
in_tanf_eligible: [true, true, true]
|
|
37
|
+
in_tanf: [320, 320, 320]
|
|
38
|
+
# Max benefit ($320) - countable income ($0) = $320
|
|
39
|
+
|
|
40
|
+
- name: Case 2 - Single parent with earned income receives reduced benefit
|
|
41
|
+
period: 2024-01
|
|
42
|
+
input:
|
|
43
|
+
people:
|
|
44
|
+
person1:
|
|
45
|
+
age: 28
|
|
46
|
+
tanf_gross_earned_income: 200
|
|
47
|
+
person2:
|
|
48
|
+
age: 5
|
|
49
|
+
spm_units:
|
|
50
|
+
spm_unit:
|
|
51
|
+
members: [person1, person2]
|
|
52
|
+
spm_unit_cash_assets: 800
|
|
53
|
+
households:
|
|
54
|
+
household:
|
|
55
|
+
members: [person1, person2]
|
|
56
|
+
state_code: IN
|
|
57
|
+
output:
|
|
58
|
+
spm_unit_size: [2, 2]
|
|
59
|
+
in_tanf_countable_earned_income_for_eligibility: [53.6, 53.6]
|
|
60
|
+
# $200 - $90 = $110 → $110 - $30 = $80 → $80 * 0.67 = $53.60
|
|
61
|
+
in_tanf_countable_income_for_eligibility: [53.6, 53.6]
|
|
62
|
+
in_tanf_countable_earned_income: [50, 50]
|
|
63
|
+
# $200 × 0.25 (75% disregard) = $50
|
|
64
|
+
in_tanf_countable_income_for_payment: [50, 50]
|
|
65
|
+
in_tanf_countable_income_eligible: [true, true]
|
|
66
|
+
# Countable for elig ($53.60) < standard of need ($255) → eligible
|
|
67
|
+
in_tanf_payment_eligible: [true, true]
|
|
68
|
+
# Countable for benefit ($50) < standard of need ($255) → eligible
|
|
69
|
+
in_tanf_payment_standard: [255, 255]
|
|
70
|
+
# Family of 2 → $255
|
|
71
|
+
in_tanf_eligible: [true, true]
|
|
72
|
+
in_tanf: [205, 205]
|
|
73
|
+
# Max benefit ($255) - countable income ($50) = $205
|
|
74
|
+
|
|
75
|
+
- name: Case 3 - Family with mixed earned and unearned income
|
|
76
|
+
period: 2024-01
|
|
77
|
+
input:
|
|
78
|
+
people:
|
|
79
|
+
person1:
|
|
80
|
+
age: 35
|
|
81
|
+
tanf_gross_earned_income: 300
|
|
82
|
+
person2:
|
|
83
|
+
age: 12
|
|
84
|
+
tanf_gross_unearned_income: 100
|
|
85
|
+
spm_units:
|
|
86
|
+
spm_unit:
|
|
87
|
+
members: [person1, person2]
|
|
88
|
+
spm_unit_cash_assets: 700
|
|
89
|
+
households:
|
|
90
|
+
household:
|
|
91
|
+
members: [person1, person2]
|
|
92
|
+
state_code: IN
|
|
93
|
+
output:
|
|
94
|
+
spm_unit_size: [2, 2]
|
|
95
|
+
in_tanf_countable_earned_income_for_eligibility: [120.6, 120.6]
|
|
96
|
+
# $300 - $90 = $210 → $210 - $30 = $180 → $180 * 0.67 = $120.60
|
|
97
|
+
in_tanf_countable_income_for_eligibility: [220.6, 220.6]
|
|
98
|
+
# $120.60 (earned) + $100 (unearned) = $220.60
|
|
99
|
+
in_tanf_countable_earned_income: [75, 75]
|
|
100
|
+
# $300 × 0.25 = $75
|
|
101
|
+
in_tanf_countable_income_for_payment: [175, 175]
|
|
102
|
+
# $75 (earned) + $100 (unearned) = $175
|
|
103
|
+
in_tanf_countable_income_eligible: [true, true]
|
|
104
|
+
# Countable for elig ($220.60) < standard of need ($255) → eligible
|
|
105
|
+
in_tanf_payment_eligible: [true, true]
|
|
106
|
+
# Countable for benefit ($175) < standard of need ($255) → eligible
|
|
107
|
+
in_tanf_payment_standard: [255, 255]
|
|
108
|
+
in_tanf_eligible: [true, true]
|
|
109
|
+
in_tanf: [80, 80]
|
|
110
|
+
# Max benefit ($255) - countable income ($175) = $80
|
|
111
|
+
|
|
112
|
+
- name: Case 4 - High earner exceeds eligibility threshold
|
|
113
|
+
period: 2024-01
|
|
114
|
+
input:
|
|
115
|
+
people:
|
|
116
|
+
person1:
|
|
117
|
+
age: 32
|
|
118
|
+
tanf_gross_earned_income: 600
|
|
119
|
+
person2:
|
|
120
|
+
age: 7
|
|
121
|
+
person3:
|
|
122
|
+
age: 4
|
|
123
|
+
spm_units:
|
|
124
|
+
spm_unit:
|
|
125
|
+
members: [person1, person2, person3]
|
|
126
|
+
spm_unit_cash_assets: 900
|
|
127
|
+
households:
|
|
128
|
+
household:
|
|
129
|
+
members: [person1, person2, person3]
|
|
130
|
+
state_code: IN
|
|
131
|
+
output:
|
|
132
|
+
spm_unit_size: [3, 3, 3]
|
|
133
|
+
in_tanf_countable_earned_income_for_eligibility: [321.6, 321.6, 321.6]
|
|
134
|
+
# $600 - $90 = $510 → $510 - $30 = $480 → $480 * 0.67 = $321.60
|
|
135
|
+
in_tanf_countable_income_for_eligibility: [321.6, 321.6, 321.6]
|
|
136
|
+
in_tanf_countable_earned_income: [150, 150, 150]
|
|
137
|
+
# $600 × 0.25 = $150
|
|
138
|
+
in_tanf_countable_income_for_payment: [150, 150, 150]
|
|
139
|
+
in_tanf_countable_income_eligible: [false, false, false]
|
|
140
|
+
# Countable for elig ($321.60) >= standard of need ($320) → NOT eligible
|
|
141
|
+
in_tanf_payment_eligible: [true, true, true]
|
|
142
|
+
# Countable for benefit ($150) < standard of need ($320) → eligible
|
|
143
|
+
in_tanf_payment_standard: [320, 320, 320]
|
|
144
|
+
in_tanf_eligible: [false, false, false]
|
|
145
|
+
# Failed countable income test
|
|
146
|
+
in_tanf: [0, 0, 0]
|
|
147
|
+
|
|
148
|
+
- name: Case 5 - Two parent household with one working
|
|
149
|
+
period: 2024-01
|
|
150
|
+
input:
|
|
151
|
+
people:
|
|
152
|
+
person1:
|
|
153
|
+
age: 30
|
|
154
|
+
tanf_gross_earned_income: 300
|
|
155
|
+
person2:
|
|
156
|
+
age: 29
|
|
157
|
+
person3:
|
|
158
|
+
age: 6
|
|
159
|
+
person4:
|
|
160
|
+
age: 3
|
|
161
|
+
spm_units:
|
|
162
|
+
spm_unit:
|
|
163
|
+
members: [person1, person2, person3, person4]
|
|
164
|
+
spm_unit_cash_assets: 1_500
|
|
165
|
+
households:
|
|
166
|
+
household:
|
|
167
|
+
members: [person1, person2, person3, person4]
|
|
168
|
+
state_code: IN
|
|
169
|
+
output:
|
|
170
|
+
spm_unit_size: [4, 4, 4, 4]
|
|
171
|
+
in_tanf_countable_earned_income_for_eligibility: [120.6, 120.6, 120.6, 120.6]
|
|
172
|
+
# $300 - $90 = $210 → $210 - $30 = $180 → $180 * 0.67 = $120.60
|
|
173
|
+
in_tanf_countable_income_for_eligibility: [120.6, 120.6, 120.6, 120.6]
|
|
174
|
+
in_tanf_countable_earned_income: [75, 75, 75, 75]
|
|
175
|
+
# $300 × 0.25 = $75
|
|
176
|
+
in_tanf_countable_income_for_payment: [75, 75, 75, 75]
|
|
177
|
+
in_tanf_countable_income_eligible: [true, true, true, true]
|
|
178
|
+
# Countable for elig ($120.60) < standard of need ($385) → eligible
|
|
179
|
+
in_tanf_payment_eligible: [true, true, true, true]
|
|
180
|
+
# Countable for benefit ($75) < standard of need ($385) → eligible
|
|
181
|
+
in_tanf_payment_standard: [385, 385, 385, 385]
|
|
182
|
+
# Family of 4 → $385
|
|
183
|
+
in_tanf_eligible: [true, true, true, true]
|
|
184
|
+
in_tanf: [310, 310, 310, 310]
|
|
185
|
+
# Max benefit ($385) - countable income ($75) = $310
|
|
186
|
+
|
|
187
|
+
- name: Case 6 - Two earners both get $90 disregard
|
|
188
|
+
period: 2024-01
|
|
189
|
+
input:
|
|
190
|
+
people:
|
|
191
|
+
person1:
|
|
192
|
+
age: 30
|
|
193
|
+
tanf_gross_earned_income: 200
|
|
194
|
+
person2:
|
|
195
|
+
age: 28
|
|
196
|
+
tanf_gross_earned_income: 200
|
|
197
|
+
person3:
|
|
198
|
+
age: 8
|
|
199
|
+
spm_units:
|
|
200
|
+
spm_unit:
|
|
201
|
+
members: [person1, person2, person3]
|
|
202
|
+
spm_unit_cash_assets: 500
|
|
203
|
+
households:
|
|
204
|
+
household:
|
|
205
|
+
members: [person1, person2, person3]
|
|
206
|
+
state_code: IN
|
|
207
|
+
output:
|
|
208
|
+
spm_unit_size: [3, 3, 3]
|
|
209
|
+
in_tanf_countable_earned_income_for_eligibility: [127.3, 127.3, 127.3]
|
|
210
|
+
# Person1: $200 - $90 = $110
|
|
211
|
+
# Person2: $200 - $90 = $110
|
|
212
|
+
# Unit total: $220 - $30 = $190 → $190 * 0.67 = $127.30
|
|
213
|
+
in_tanf_countable_income_for_eligibility: [127.3, 127.3, 127.3]
|
|
214
|
+
in_tanf_countable_earned_income: [100, 100, 100]
|
|
215
|
+
# ($200 + $200) × 0.25 = $100
|
|
216
|
+
in_tanf_countable_income_for_payment: [100, 100, 100]
|
|
217
|
+
in_tanf_countable_income_eligible: [true, true, true]
|
|
218
|
+
# Countable for elig ($127.30) < standard of need ($320) → eligible
|
|
219
|
+
in_tanf_payment_eligible: [true, true, true]
|
|
220
|
+
# Countable for benefit ($100) < standard of need ($320) → eligible
|
|
221
|
+
in_tanf_payment_standard: [320, 320, 320]
|
|
222
|
+
in_tanf_eligible: [true, true, true]
|
|
223
|
+
in_tanf: [220, 220, 220]
|
|
224
|
+
# Max benefit ($320) - countable income ($100) = $220
|
|
225
|
+
|
|
226
|
+
- name: Case 7 - Single adult with no children (not demographically eligible)
|
|
227
|
+
period: 2024-01
|
|
228
|
+
input:
|
|
229
|
+
people:
|
|
230
|
+
person1:
|
|
231
|
+
age: 25
|
|
232
|
+
spm_units:
|
|
233
|
+
spm_unit:
|
|
234
|
+
members: [person1]
|
|
235
|
+
spm_unit_cash_assets: 300
|
|
236
|
+
households:
|
|
237
|
+
household:
|
|
238
|
+
members: [person1]
|
|
239
|
+
state_code: IN
|
|
240
|
+
output:
|
|
241
|
+
spm_unit_size: 1
|
|
242
|
+
in_tanf_countable_income_for_payment: 0
|
|
243
|
+
in_tanf_countable_income_eligible: true
|
|
244
|
+
in_tanf_payment_eligible: true
|
|
245
|
+
in_tanf_payment_standard: 155
|
|
246
|
+
# Family of 1 → $155
|
|
247
|
+
in_tanf_eligible: false
|
|
248
|
+
# Single adult with no children → not demographically eligible
|
|
249
|
+
in_tanf: 0
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
- name: No assets means zero countable resources
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IN
|
|
5
|
+
# SPM unit assets currently returns 0 in baseline
|
|
6
|
+
spm_unit_assets: 0
|
|
7
|
+
output:
|
|
8
|
+
in_tanf_countable_resources: 0
|
|
9
|
+
|
|
10
|
+
- name: Non-vehicle assets are fully countable
|
|
11
|
+
period: 2024-01
|
|
12
|
+
input:
|
|
13
|
+
state_code: IN
|
|
14
|
+
spm_unit_assets: 5_000
|
|
15
|
+
household_vehicles_value: 0 # No vehicle
|
|
16
|
+
output:
|
|
17
|
+
in_tanf_countable_resources: 5_000
|
|
18
|
+
# 5_000 - 0 vehicle exclusion = 5_000
|
|
19
|
+
|
|
20
|
+
- name: Vehicle exclusion reduces countable resources
|
|
21
|
+
period: 2024-01
|
|
22
|
+
input:
|
|
23
|
+
state_code: IN
|
|
24
|
+
spm_unit_assets: 25_000 # Includes vehicle value
|
|
25
|
+
household_vehicles_value: 15_000 # Vehicle worth $15,000
|
|
26
|
+
output:
|
|
27
|
+
in_tanf_countable_resources: 10_000
|
|
28
|
+
# 25_000 - min(15_000, 20_000) = 25_000 - 15_000 = 10_000
|
|
29
|
+
|
|
30
|
+
- name: Vehicle exclusion capped at limit
|
|
31
|
+
period: 2024-01
|
|
32
|
+
input:
|
|
33
|
+
state_code: IN
|
|
34
|
+
spm_unit_assets: 30_000 # Includes vehicle value
|
|
35
|
+
household_vehicles_value: 25_000 # Vehicle worth more than exclusion limit
|
|
36
|
+
output:
|
|
37
|
+
in_tanf_countable_resources: 10_000
|
|
38
|
+
# 30_000 - min(25_000, 20_000) = 30_000 - 20_000 = 10_000
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
- name: Resources below application limit passes eligibility
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
state_code: IN
|
|
5
|
+
in_tanf_countable_resources: 500 # Below $1_000 limit
|
|
6
|
+
is_tanf_enrolled: false # Not enrolled in TANF
|
|
7
|
+
output:
|
|
8
|
+
in_tanf_resources_eligible: true
|
|
9
|
+
# 500 <= 1_000 = true
|
|
10
|
+
|
|
11
|
+
- name: Resources at application limit passes eligibility
|
|
12
|
+
period: 2024-01
|
|
13
|
+
input:
|
|
14
|
+
state_code: IN
|
|
15
|
+
in_tanf_countable_resources: 1_000 # At $1_000 limit
|
|
16
|
+
is_tanf_enrolled: false # Not enrolled in TANF
|
|
17
|
+
output:
|
|
18
|
+
in_tanf_resources_eligible: true
|
|
19
|
+
# 1_000 <= 1_000 = true
|
|
20
|
+
|
|
21
|
+
- name: Resources above application limit fails eligibility
|
|
22
|
+
period: 2024-01
|
|
23
|
+
input:
|
|
24
|
+
state_code: IN
|
|
25
|
+
in_tanf_countable_resources: 1_500 # Above $1_000 limit
|
|
26
|
+
is_tanf_enrolled: false # Not enrolled in TANF
|
|
27
|
+
output:
|
|
28
|
+
in_tanf_resources_eligible: false
|
|
29
|
+
# 1_500 <= 1_000 = false
|
|
30
|
+
|
|
31
|
+
- name: Resources below limit while enrolled passes eligibility
|
|
32
|
+
period: 2024-01
|
|
33
|
+
input:
|
|
34
|
+
state_code: IN
|
|
35
|
+
in_tanf_countable_resources: 5_000 # Below $10_000 ongoing limit
|
|
36
|
+
is_tanf_enrolled: true # Currently enrolled in TANF
|
|
37
|
+
output:
|
|
38
|
+
in_tanf_resources_eligible: true
|
|
39
|
+
# Uses limit_while_receiving parameter: $10_000
|
|
40
|
+
# 5_000 <= 10_000 = true
|
|
41
|
+
|
|
42
|
+
- name: Resources above limit while enrolled fails eligibility
|
|
43
|
+
period: 2024-01
|
|
44
|
+
input:
|
|
45
|
+
state_code: IN
|
|
46
|
+
in_tanf_countable_resources: 15_000 # Above $10_000 ongoing limit
|
|
47
|
+
is_tanf_enrolled: true # Currently enrolled in TANF
|
|
48
|
+
output:
|
|
49
|
+
in_tanf_resources_eligible: false
|
|
50
|
+
# 15_000 <= 10_000 = false
|
|
51
|
+
|
|
52
|
+
- name: Zero resources always passes eligibility
|
|
53
|
+
period: 2024-01
|
|
54
|
+
input:
|
|
55
|
+
state_code: IN
|
|
56
|
+
in_tanf_countable_resources: 0
|
|
57
|
+
is_tanf_enrolled: false
|
|
58
|
+
output:
|
|
59
|
+
in_tanf_resources_eligible: true
|
|
60
|
+
# 0 <= 1_000 = true
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
- name: Eligible with low resources and low income
|
|
2
|
+
period: 2024-01
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
parent:
|
|
6
|
+
age: 30
|
|
7
|
+
is_pregnant: false
|
|
8
|
+
employment_income:
|
|
9
|
+
2024: 12_000 # $1_000/month
|
|
10
|
+
child:
|
|
11
|
+
age: 5
|
|
12
|
+
spm_units:
|
|
13
|
+
spm_unit:
|
|
14
|
+
members: [parent, child]
|
|
15
|
+
spm_unit_assets: 500 # Below $1_000 limit
|
|
16
|
+
households:
|
|
17
|
+
household:
|
|
18
|
+
members: [parent, child]
|
|
19
|
+
state_code: IN
|
|
20
|
+
household_vehicles_value: 0 # No vehicle
|
|
21
|
+
output:
|
|
22
|
+
in_tanf_countable_resources: 500 # 500 - 0 vehicle exclusion = 500
|
|
23
|
+
in_tanf_resources_eligible: true
|
|
24
|
+
in_tanf_eligible: true
|
|
25
|
+
# Meets all eligibility criteria
|
|
26
|
+
|
|
27
|
+
- name: Ineligible due to excess resources despite low income
|
|
28
|
+
period: 2024-01
|
|
29
|
+
input:
|
|
30
|
+
people:
|
|
31
|
+
parent:
|
|
32
|
+
age: 30
|
|
33
|
+
is_pregnant: false
|
|
34
|
+
employment_income:
|
|
35
|
+
2024: 12_000 # $1_000/month (low income)
|
|
36
|
+
child:
|
|
37
|
+
age: 5
|
|
38
|
+
spm_units:
|
|
39
|
+
spm_unit:
|
|
40
|
+
members: [parent, child]
|
|
41
|
+
spm_unit_assets: 25_000 # Well above limits (includes vehicle)
|
|
42
|
+
households:
|
|
43
|
+
household:
|
|
44
|
+
members: [parent, child]
|
|
45
|
+
state_code: IN
|
|
46
|
+
household_vehicles_value: 20_000 # Vehicle at exclusion limit
|
|
47
|
+
output:
|
|
48
|
+
in_tanf_countable_resources: 5_000 # 25_000 - min(20_000, 20_000) = 5_000
|
|
49
|
+
in_tanf_resources_eligible: false # 5_000 > 1_000 application limit
|
|
50
|
+
in_tanf_eligible: false # Fails resources test
|
|
51
|
+
# Income eligible but resources too high
|
|
52
|
+
|
|
53
|
+
- name: Enrolled recipient can have higher resources
|
|
54
|
+
period: 2024-01
|
|
55
|
+
input:
|
|
56
|
+
people:
|
|
57
|
+
parent:
|
|
58
|
+
age: 30
|
|
59
|
+
is_pregnant: false
|
|
60
|
+
employment_income:
|
|
61
|
+
2024: 12_000
|
|
62
|
+
child:
|
|
63
|
+
age: 5
|
|
64
|
+
spm_units:
|
|
65
|
+
spm_unit:
|
|
66
|
+
members: [parent, child]
|
|
67
|
+
spm_unit_assets: 25_000 # Above application limit but below ongoing (includes vehicle)
|
|
68
|
+
is_tanf_enrolled: true # Currently enrolled
|
|
69
|
+
households:
|
|
70
|
+
household:
|
|
71
|
+
members: [parent, child]
|
|
72
|
+
state_code: IN
|
|
73
|
+
household_vehicles_value: 20_000 # Vehicle at exclusion limit
|
|
74
|
+
output:
|
|
75
|
+
in_tanf_countable_resources: 5_000 # 25_000 - min(20_000, 20_000) = 5_000
|
|
76
|
+
in_tanf_resources_eligible: true # 5_000 < 10_000 ongoing limit
|
|
77
|
+
in_tanf_eligible: true
|
|
78
|
+
# Uses higher limit for enrolled recipients
|
policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
- name: Pre capital gains subtraction law and qualified premiums, cap gains
|
|
2
|
+
period: 2024
|
|
3
|
+
absolute_error_margin: 0
|
|
4
|
+
input:
|
|
5
|
+
people:
|
|
6
|
+
person1:
|
|
7
|
+
long_term_capital_gains: 1_000
|
|
8
|
+
short_term_capital_gains: 500
|
|
9
|
+
health_insurance_premiums: 12_000
|
|
10
|
+
medical_out_of_pocket_expenses: 12_000
|
|
11
|
+
tax_units:
|
|
12
|
+
tax_unit1:
|
|
13
|
+
members: [person1]
|
|
14
|
+
medical_expense_deduction: 0
|
|
15
|
+
tax_unit_itemizes: false
|
|
16
|
+
taxable_income: 100_000
|
|
17
|
+
households:
|
|
18
|
+
household1:
|
|
19
|
+
members: [person1]
|
|
20
|
+
state_code: MO
|
|
21
|
+
output:
|
|
22
|
+
mo_capital_gains_subtraction: 0
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
- name: Pre capital gains subtraction law and qualified premiums, health insurance
|
|
26
|
+
period: 2024
|
|
27
|
+
absolute_error_margin: 0
|
|
28
|
+
input:
|
|
29
|
+
people:
|
|
30
|
+
person1:
|
|
31
|
+
long_term_capital_gains: 1_000
|
|
32
|
+
short_term_capital_gains: 500
|
|
33
|
+
health_insurance_premiums: 12_000
|
|
34
|
+
medical_out_of_pocket_expenses: 12_000
|
|
35
|
+
tax_units:
|
|
36
|
+
tax_unit1:
|
|
37
|
+
members: [person1]
|
|
38
|
+
medical_expense_deduction: 0
|
|
39
|
+
tax_unit_itemizes: false
|
|
40
|
+
taxable_income: 100_000
|
|
41
|
+
households:
|
|
42
|
+
household1:
|
|
43
|
+
members: [person1]
|
|
44
|
+
state_code: MO
|
|
45
|
+
output:
|
|
46
|
+
mo_qualified_health_insurance_premiums: 12_000
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
- name: Pre capital gains subtraction law and qualified premiums, subtractions
|
|
50
|
+
period: 2024
|
|
51
|
+
absolute_error_margin: 0
|
|
52
|
+
input:
|
|
53
|
+
people:
|
|
54
|
+
person1:
|
|
55
|
+
long_term_capital_gains: 1_000
|
|
56
|
+
short_term_capital_gains: 500
|
|
57
|
+
health_insurance_premiums: 12_000
|
|
58
|
+
medical_out_of_pocket_expenses: 12_000
|
|
59
|
+
tax_units:
|
|
60
|
+
tax_unit1:
|
|
61
|
+
members: [person1]
|
|
62
|
+
medical_expense_deduction: 0
|
|
63
|
+
tax_unit_itemizes: false
|
|
64
|
+
taxable_income: 100_000
|
|
65
|
+
households:
|
|
66
|
+
household1:
|
|
67
|
+
members: [person1]
|
|
68
|
+
state_code: MO
|
|
69
|
+
output:
|
|
70
|
+
mo_agi_subtractions: 12_000
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
- name: Post capital gains subtraction law and qualified premiums, capital gains
|
|
74
|
+
period: 2025
|
|
75
|
+
absolute_error_margin: 0
|
|
76
|
+
input:
|
|
77
|
+
people:
|
|
78
|
+
person1:
|
|
79
|
+
long_term_capital_gains: 1_000
|
|
80
|
+
short_term_capital_gains: 500
|
|
81
|
+
health_insurance_premiums: 12_000
|
|
82
|
+
medical_out_of_pocket_expenses: 12_000
|
|
83
|
+
tax_units:
|
|
84
|
+
tax_unit1:
|
|
85
|
+
members: [person1]
|
|
86
|
+
medical_expense_deduction: 0
|
|
87
|
+
tax_unit_itemizes: false
|
|
88
|
+
taxable_income: 100_000
|
|
89
|
+
households:
|
|
90
|
+
household1:
|
|
91
|
+
members: [person1]
|
|
92
|
+
state_code: MO
|
|
93
|
+
output:
|
|
94
|
+
mo_capital_gains_subtraction: 1_000
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
- name: Post capital gains subtraction law and qualified premiums, health insurance
|
|
98
|
+
period: 2025
|
|
99
|
+
absolute_error_margin: 0
|
|
100
|
+
input:
|
|
101
|
+
people:
|
|
102
|
+
person1:
|
|
103
|
+
long_term_capital_gains: 1_000
|
|
104
|
+
short_term_capital_gains: 500
|
|
105
|
+
health_insurance_premiums: 12_000
|
|
106
|
+
medical_out_of_pocket_expenses: 12_000
|
|
107
|
+
tax_units:
|
|
108
|
+
tax_unit1:
|
|
109
|
+
members: [person1]
|
|
110
|
+
medical_expense_deduction: 0
|
|
111
|
+
tax_unit_itemizes: false
|
|
112
|
+
taxable_income: 100_000
|
|
113
|
+
households:
|
|
114
|
+
household1:
|
|
115
|
+
members: [person1]
|
|
116
|
+
state_code: MO
|
|
117
|
+
output:
|
|
118
|
+
mo_qualified_health_insurance_premiums: 12_000
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
- name: Post capital gains subtraction law and qualified premiums, subtractions
|
|
122
|
+
period: 2025
|
|
123
|
+
absolute_error_margin: 0
|
|
124
|
+
input:
|
|
125
|
+
people:
|
|
126
|
+
person1:
|
|
127
|
+
long_term_capital_gains: 1_000
|
|
128
|
+
short_term_capital_gains: 500
|
|
129
|
+
health_insurance_premiums: 12_000
|
|
130
|
+
medical_out_of_pocket_expenses: 12_000
|
|
131
|
+
tax_units:
|
|
132
|
+
tax_unit1:
|
|
133
|
+
members: [person1]
|
|
134
|
+
medical_expense_deduction: 0
|
|
135
|
+
tax_unit_itemizes: false
|
|
136
|
+
taxable_income: 100_000
|
|
137
|
+
households:
|
|
138
|
+
household1:
|
|
139
|
+
members: [person1]
|
|
140
|
+
state_code: MO
|
|
141
|
+
output:
|
|
142
|
+
mo_agi_subtractions: 13_000
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
- name: Married couple - capital gains allocated by person
|
|
146
|
+
period: 2025
|
|
147
|
+
absolute_error_margin: 0
|
|
148
|
+
input:
|
|
149
|
+
people:
|
|
150
|
+
person1:
|
|
151
|
+
long_term_capital_gains: 6_000
|
|
152
|
+
short_term_capital_gains: 0
|
|
153
|
+
health_insurance_premiums: 6_000
|
|
154
|
+
medical_out_of_pocket_expenses: 6_000
|
|
155
|
+
person2:
|
|
156
|
+
long_term_capital_gains: 4_000
|
|
157
|
+
short_term_capital_gains: 0
|
|
158
|
+
health_insurance_premiums: 6_000
|
|
159
|
+
medical_out_of_pocket_expenses: 6_000
|
|
160
|
+
tax_units:
|
|
161
|
+
tax_unit1:
|
|
162
|
+
members: [person1, person2]
|
|
163
|
+
medical_expense_deduction: 0
|
|
164
|
+
tax_unit_itemizes: false
|
|
165
|
+
taxable_income: 100_000
|
|
166
|
+
households:
|
|
167
|
+
household1:
|
|
168
|
+
members: [person1, person2]
|
|
169
|
+
state_code: MO
|
|
170
|
+
output:
|
|
171
|
+
# Person-level capital gains subtraction allocation: 60%/40% of 10_000
|
|
172
|
+
mo_capital_gains_subtraction_person: [6_000, 4_000]
|
|
173
|
+
# Person-level health insurance: 50%/50% of 12_000
|
|
174
|
+
mo_qualified_health_insurance_premiums: [6_000, 6_000]
|
|
175
|
+
# Total subtractions per person: 6_000+6_000=12_000 and 4_000+6_000=10_000
|
|
176
|
+
mo_agi_subtractions: [12_000, 10_000]
|