policyengine-us 1.458.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/contrib/aca/ptc_700_fpl_cliff/brackets.yaml +52 -0
- policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/income_eligibility.yaml +27 -0
- 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/hhs/medicare/savings_programs/eligibility/asset/applies.yaml +115 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/couple.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/individual.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qi/fpl_limit.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qmb/fpl_limit.yaml +18 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/slmb/fpl_limit.yaml +15 -0
- policyengine_us/parameters/gov/ssa/revenue/oasdi_share_of_gross_ss.yaml +13 -0
- policyengine_us/parameters/gov/states/az/tax/income/credits/property_tax/income_sources.yaml +17 -9
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/head_of_household.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/joint.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/separate.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/single.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/surviving_spouse.yaml +1 -1
- policyengine_us/parameters/gov/states/ia/tax/income/credits/child_care/fraction.yaml +1 -1
- policyengine_us/parameters/gov/states/il/dhs/aabd/asset/sources.yaml +0 -1
- 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/mi/tax/income/household_resources.yaml +1 -1
- policyengine_us/parameters/gov/states/mo/dss/tanf/child_care_deduction/amount.yaml +27 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_only/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/flat_amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/two_thirds_disregard/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/max_table_size.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/rate.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/maximum_benefit/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/minimum_payment.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/resource_limit/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/additional_person_increment.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/amount.yaml +38 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/base_table_max_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/parameters/gov/states/pa/dhs/tanf/county_group/group_1.yaml +19 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_2.yaml +44 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_3.yaml +31 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_4.yaml +29 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/additional_person.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/amount.yaml +69 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/earned_income_disregard/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/additional.yaml +15 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/initial.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/max_family_size_in_table.yaml +12 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/resource_limit.yaml +7 -6
- policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/additional_person.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/amount.yaml +69 -0
- policyengine_us/parameters/gov/states/wi/dcf/README.md +1 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/README.md +1 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/asset/limit.yaml +16 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/asset/vehicle_exclusion.yaml +14 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/income_limit/rate.yaml +16 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/amount.yaml +30 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/arp_pregnancy_month_threshold.yaml +14 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/cmc_infant_age_limit.yaml +15 -0
- policyengine_us/reforms/aca/__init__.py +3 -0
- policyengine_us/reforms/aca/aca_ptc_700_fpl_cliff.py +125 -0
- policyengine_us/reforms/reforms.py +5 -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/hhs/medicare/savings_programs/category/msp_category.yaml +69 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/income/msp_fpg.yaml +22 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/integration.yaml +84 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/msp_benefit_value.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.yaml +157 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.yaml +106 -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 +124 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +129 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_total.yaml +19 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +72 -0
- policyengine_us/tests/policy/baseline/gov/states/az/tax/income/az_property_tax_credit_agi.yaml +58 -0
- policyengine_us/tests/policy/baseline/gov/states/az/tax/income/integration.yaml +28 -0
- policyengine_us/tests/policy/baseline/gov/states/dc/tax/income/dc_ptc.yaml +27 -0
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/food_excise/hi_food_excise_credit.yaml +29 -1
- policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_cdcc.yaml +3 -3
- policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_integration.yaml +31 -1
- policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.yaml +6 -6
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +18 -5
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +5 -5
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +8 -8
- 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/ma/tax/income/gross_income/integration.yaml +28 -0
- policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/integration.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_dependent_exemption_credit_amount_person.yaml +3 -2
- policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/mi_home_heating_credit.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/mi_household_resources.yaml +57 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/integration.yaml +275 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf.yaml +60 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +187 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_countable_income.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_earned_income_deductions.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_eligible.yaml +59 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_gross_income_eligible.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_eligible.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_percentage_of_need_test.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_resources_eligible.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.yaml +71 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need_test.yaml +44 -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/mt/tax/income/integration.yaml +29 -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/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.yaml +114 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.yaml +81 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/integration.yaml +386 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_county_group.yaml +63 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.yaml +92 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/integration.yaml +282 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works.yaml +50 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_income.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_resources.yaml +54 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_eligible.yaml +61 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_income_eligible.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_placement.yaml +111 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_resources_eligible.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.yaml +31 -0
- policyengine_us/tests/policy/contrib/aca/ptc_700_fpl_cliff.yaml +136 -0
- policyengine_us/tests/run_selective_tests.py +5 -0
- policyengine_us/tests/test_batched.py +144 -78
- 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/hhs/medicare/savings_programs/category/is_qi_eligible.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qmb_eligible.py +28 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_slmb_eligible.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/msp_category.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_asset_eligible.py +26 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.py +20 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_income_eligible.py +26 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_countable_income.py +35 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_fpg.py +40 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/msp.py +15 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/msp_benefit_value.py +37 -0
- policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.py +58 -0
- policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.py +17 -0
- policyengine_us/variables/gov/simulation/labor_supply_response/labor_supply_behavioral_response.py +57 -42
- 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 +67 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +82 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +49 -0
- policyengine_us/variables/gov/states/az/tax/income/credits/property_tax_credit/az_property_tax_credit_agi.py +53 -0
- policyengine_us/variables/gov/states/dc/tax/income/credits/dc_ptc.py +7 -3
- policyengine_us/variables/gov/states/ia/tax/income/credits/ia_cdcc.py +4 -2
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.py +23 -5
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +1 -1
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +7 -3
- 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/ma/tax/income/gross_income/ma_part_c_gross_income.py +7 -1
- policyengine_us/variables/gov/states/me/tax/income/credits/dependent_exemption/me_dependent_exemption_credit_amount_person.py +1 -1
- policyengine_us/variables/gov/states/mi/tax/income/mi_household_resources.py +34 -5
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_eligible.py +23 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_gross_income_eligible.py +24 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_income_eligible.py +18 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_percentage_of_need_test.py +20 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_resources_eligible.py +18 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_standard_of_need_test.py +17 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +24 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_earned_income_deductions.py +36 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_countable_income.py +21 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_income_for_need_test.py +23 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf.py +21 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.py +19 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.py +23 -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/mt/tax/income/capital_gains/mt_capital_gains_tax_indiv.py +3 -1
- policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_joint.py +3 -1
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py +3 -0
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py +3 -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/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.py +31 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.py +29 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.py +16 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.py +7 -5
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_earned_income.py +15 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_income.py +16 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.py +27 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf.py +19 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_county_group.py +38 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.py +30 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.py +30 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_eligible.py +22 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_income_eligible.py +20 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_resources_eligible.py +18 -0
- policyengine_us/variables/gov/states/wi/dcf/works/income/wi_works_countable_income.py +18 -0
- policyengine_us/variables/gov/states/wi/dcf/works/resources/wi_works_countable_resources.py +21 -0
- policyengine_us/variables/gov/states/wi/dcf/works/wi_works.py +19 -0
- policyengine_us/variables/gov/states/wi/dcf/works/wi_works_placement.py +45 -0
- policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.py +3 -3
- policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit_eligible.py +5 -2
- 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.458.0.dist-info → policyengine_us-1.471.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/RECORD +381 -69
- policyengine_us/parameters/gov/states/il/dhs/aabd/aged_age_threshold.yaml +0 -11
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit.yaml +0 -26
- policyengine_us/parameters/gov/states/pa/dhs/tanf/cash_assistance/age_limit.yaml +0 -11
- policyengine_us/parameters/gov/states/pa/dhs/tanf/pregnancy_eligibility/age_limit.yaml +0 -9
- policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.yaml +0 -39
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_limit.yaml +0 -23
- policyengine_us/tests/policy/baseline/gov/states/pa/tanf/cash_assistance/pa_tanf_age_eligible.yaml +0 -44
- policyengine_us/tests/policy/baseline/gov/states/pa/tanf/pregnancy_eligibility/pa_tanf_pregnancy_eligibility.yaml +0 -59
- policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +0 -24
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.py +0 -22
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_income_limit.py +0 -18
- policyengine_us/variables/gov/states/pa/dhs/tanf/cash_assistance/pa_tanf_age_eligible.py +0 -22
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_countable_resources.py +0 -10
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pregnancy_eligibility/age_eligibility.py +0 -22
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class tob_revenue_medicare_hi(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
definition_period = YEAR
|
|
8
|
+
label = "Medicare HI trust fund revenue from SS benefit taxation"
|
|
9
|
+
documentation = (
|
|
10
|
+
"Tax revenue credited to Medicare HI trust fund per 42 U.S.C. 401 note. "
|
|
11
|
+
"Per Section 121(e) as amended by OBRA 1993, HI receives the 'increase "
|
|
12
|
+
"in tax liabilities attributable to' the 1993 amendments. "
|
|
13
|
+
"Calculated using branching to isolate marginal tax impact."
|
|
14
|
+
)
|
|
15
|
+
unit = USD
|
|
16
|
+
reference = "https://www.law.cornell.edu/uscode/text/42/401"
|
|
17
|
+
|
|
18
|
+
def formula(tax_unit, period, parameters):
|
|
19
|
+
"""
|
|
20
|
+
Calculate Medicare HI trust fund revenue using double-branching.
|
|
21
|
+
|
|
22
|
+
HI gets the marginal tax impact of adding the portion of taxable SS
|
|
23
|
+
above 50% of gross (the 1993 amendment increment).
|
|
24
|
+
|
|
25
|
+
Method:
|
|
26
|
+
1. Calculate tax with 50% of gross SS taxable (capped)
|
|
27
|
+
2. Calculate tax with FULL taxable SS (current law)
|
|
28
|
+
3. HI revenue = (2) - (1)
|
|
29
|
+
"""
|
|
30
|
+
sim = tax_unit.simulation
|
|
31
|
+
p = parameters(period).gov.ssa.revenue
|
|
32
|
+
|
|
33
|
+
# Get current values
|
|
34
|
+
gross_ss = tax_unit("tax_unit_social_security", period)
|
|
35
|
+
taxable_ss = tax_unit("tax_unit_taxable_social_security", period)
|
|
36
|
+
|
|
37
|
+
# Calculate the OASDI share cap
|
|
38
|
+
oasdi_share = p.oasdi_share_of_gross_ss * gross_ss
|
|
39
|
+
capped_taxable_ss = min_(taxable_ss, oasdi_share)
|
|
40
|
+
|
|
41
|
+
# === Current tax (with full taxable SS) ===
|
|
42
|
+
tax_full_ss = tax_unit("income_tax", period)
|
|
43
|
+
|
|
44
|
+
# === Branch: Tax with CAPPED taxable SS (50% of gross) ===
|
|
45
|
+
branch_capped = sim.get_branch("hi_capped", clone_system=True)
|
|
46
|
+
|
|
47
|
+
# Clear only non-input cached calculations before setting new value
|
|
48
|
+
input_vars = set(branch_capped.input_variables)
|
|
49
|
+
for var_name in list(
|
|
50
|
+
branch_capped.tax_benefit_system.variables.keys()
|
|
51
|
+
):
|
|
52
|
+
if var_name not in input_vars:
|
|
53
|
+
try:
|
|
54
|
+
branch_capped.delete_arrays(var_name)
|
|
55
|
+
except:
|
|
56
|
+
pass
|
|
57
|
+
|
|
58
|
+
# Set taxable SS to the capped amount using holder
|
|
59
|
+
tax_unit_pop = branch_capped.populations["tax_unit"]
|
|
60
|
+
holder = tax_unit_pop.get_holder("tax_unit_taxable_social_security")
|
|
61
|
+
holder.set_input(period, capped_taxable_ss)
|
|
62
|
+
|
|
63
|
+
tax_capped_ss = branch_capped.tax_unit("income_tax", period)
|
|
64
|
+
del sim.branches["hi_capped"]
|
|
65
|
+
|
|
66
|
+
# HI revenue = tax with full SS - tax with 50% cap
|
|
67
|
+
return max_(tax_full_ss - tax_capped_ss, 0)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class tob_revenue_oasdi(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
definition_period = YEAR
|
|
8
|
+
label = "OASDI trust fund revenue from SS benefit taxation"
|
|
9
|
+
documentation = (
|
|
10
|
+
"Tax revenue credited to OASDI trust funds per 42 U.S.C. 401 note. "
|
|
11
|
+
"Per Section 121(e) of PL 98-21, OASDI receives the 'increase in tax "
|
|
12
|
+
"liabilities attributable to' section 86 LESS the 1993 amendments. "
|
|
13
|
+
"Calculated using branching to isolate marginal tax impact."
|
|
14
|
+
)
|
|
15
|
+
unit = USD
|
|
16
|
+
reference = "https://www.law.cornell.edu/uscode/text/42/401"
|
|
17
|
+
|
|
18
|
+
def formula(tax_unit, period, parameters):
|
|
19
|
+
"""
|
|
20
|
+
Calculate OASDI trust fund revenue using double-branching.
|
|
21
|
+
|
|
22
|
+
OASDI gets the marginal tax impact of adding the first 50% of
|
|
23
|
+
gross SS benefits to taxable income.
|
|
24
|
+
|
|
25
|
+
Method:
|
|
26
|
+
1. Calculate tax with NO taxable SS
|
|
27
|
+
2. Calculate tax with 50% of gross SS taxable (capped)
|
|
28
|
+
3. OASDI revenue = (2) - (1)
|
|
29
|
+
"""
|
|
30
|
+
sim = tax_unit.simulation
|
|
31
|
+
p = parameters(period).gov.ssa.revenue
|
|
32
|
+
|
|
33
|
+
# Get current values
|
|
34
|
+
gross_ss = tax_unit("tax_unit_social_security", period)
|
|
35
|
+
taxable_ss = tax_unit("tax_unit_taxable_social_security", period)
|
|
36
|
+
|
|
37
|
+
# Calculate the OASDI share cap - the original 1983 tier
|
|
38
|
+
oasdi_share = p.oasdi_share_of_gross_ss * gross_ss
|
|
39
|
+
capped_taxable_ss = min_(taxable_ss, oasdi_share)
|
|
40
|
+
|
|
41
|
+
# === Branch 1: Tax with NO taxable SS ===
|
|
42
|
+
branch_no_ss = sim.get_branch("oasdi_no_ss", clone_system=True)
|
|
43
|
+
branch_no_ss.tax_benefit_system.neutralize_variable(
|
|
44
|
+
"tax_unit_taxable_social_security"
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# Clear only non-input cached calculations
|
|
48
|
+
input_vars = set(branch_no_ss.input_variables)
|
|
49
|
+
for var_name in list(branch_no_ss.tax_benefit_system.variables.keys()):
|
|
50
|
+
if var_name not in input_vars:
|
|
51
|
+
try:
|
|
52
|
+
branch_no_ss.delete_arrays(var_name)
|
|
53
|
+
except:
|
|
54
|
+
pass
|
|
55
|
+
|
|
56
|
+
tax_no_ss = branch_no_ss.tax_unit("income_tax", period)
|
|
57
|
+
del sim.branches["oasdi_no_ss"]
|
|
58
|
+
|
|
59
|
+
# === Branch 2: Tax with CAPPED taxable SS (50% of gross) ===
|
|
60
|
+
branch_capped = sim.get_branch("oasdi_capped", clone_system=True)
|
|
61
|
+
|
|
62
|
+
# Clear only non-input cached calculations before setting new value
|
|
63
|
+
input_vars = set(branch_capped.input_variables)
|
|
64
|
+
for var_name in list(
|
|
65
|
+
branch_capped.tax_benefit_system.variables.keys()
|
|
66
|
+
):
|
|
67
|
+
if var_name not in input_vars:
|
|
68
|
+
try:
|
|
69
|
+
branch_capped.delete_arrays(var_name)
|
|
70
|
+
except:
|
|
71
|
+
pass
|
|
72
|
+
|
|
73
|
+
# Set taxable SS to the capped amount using holder
|
|
74
|
+
tax_unit_pop = branch_capped.populations["tax_unit"]
|
|
75
|
+
holder = tax_unit_pop.get_holder("tax_unit_taxable_social_security")
|
|
76
|
+
holder.set_input(period, capped_taxable_ss)
|
|
77
|
+
|
|
78
|
+
tax_capped_ss = branch_capped.tax_unit("income_tax", period)
|
|
79
|
+
del sim.branches["oasdi_capped"]
|
|
80
|
+
|
|
81
|
+
# OASDI revenue = tax with 50% cap - tax with no SS
|
|
82
|
+
return max_(tax_capped_ss - tax_no_ss, 0)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class tob_revenue_total(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
definition_period = YEAR
|
|
8
|
+
label = "Total trust fund revenue from SS benefit taxation"
|
|
9
|
+
documentation = (
|
|
10
|
+
"Tax revenue from taxation of Social Security benefits using "
|
|
11
|
+
"branching methodology per 42 U.S.C. 401 note."
|
|
12
|
+
)
|
|
13
|
+
unit = USD
|
|
14
|
+
reference = "https://www.law.cornell.edu/uscode/text/42/401"
|
|
15
|
+
|
|
16
|
+
def formula(tax_unit, period, parameters):
|
|
17
|
+
"""
|
|
18
|
+
Calculate total trust fund revenue using branching + neutralization.
|
|
19
|
+
|
|
20
|
+
This isolates the tax impact of including taxable SS in AGI by
|
|
21
|
+
comparing tax with and without taxable SS.
|
|
22
|
+
"""
|
|
23
|
+
sim = tax_unit.simulation
|
|
24
|
+
|
|
25
|
+
# Calculate income tax WITH taxable SS
|
|
26
|
+
income_tax_with_ss = tax_unit("income_tax", period)
|
|
27
|
+
|
|
28
|
+
# Create branch and neutralize taxable SS
|
|
29
|
+
branch = sim.get_branch("tob_calc", clone_system=True)
|
|
30
|
+
branch.tax_benefit_system.neutralize_variable(
|
|
31
|
+
"tax_unit_taxable_social_security"
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Delete non-input cached variables to force recalculation
|
|
35
|
+
input_vars = set(branch.input_variables)
|
|
36
|
+
for var_name in list(branch.tax_benefit_system.variables.keys()):
|
|
37
|
+
if var_name not in input_vars:
|
|
38
|
+
try:
|
|
39
|
+
branch.delete_arrays(var_name)
|
|
40
|
+
except:
|
|
41
|
+
pass
|
|
42
|
+
|
|
43
|
+
# Recalculate income tax without taxable SS
|
|
44
|
+
income_tax_without_ss = branch.tax_unit("income_tax", period)
|
|
45
|
+
|
|
46
|
+
# Clean up branch
|
|
47
|
+
del sim.branches["tob_calc"]
|
|
48
|
+
|
|
49
|
+
return income_tax_with_ss - income_tax_without_ss
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class az_property_tax_credit_agi(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Arizona adjusted gross income for property tax credit"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
documentation = (
|
|
11
|
+
"Adjusted gross income as defined for Arizona property tax credit purposes. "
|
|
12
|
+
"Per ARS 43-1072(H)(6) and ITR 12-1, this starts with Federal AGI and only "
|
|
13
|
+
"excludes items specifically listed in ARS 43-1072(I): Social Security, "
|
|
14
|
+
"railroad retirement, workers compensation, Arizona unemployment, veterans "
|
|
15
|
+
"disability pensions, welfare, and gifts. Unlike regular Arizona income tax, "
|
|
16
|
+
"this does NOT exclude pension income, capital gains, or Arizona exemptions."
|
|
17
|
+
)
|
|
18
|
+
reference = [
|
|
19
|
+
"https://www.azleg.gov/ars/43/01072.htm", # ARS 43-1072
|
|
20
|
+
"https://azdor.gov/sites/default/files/2023-03/RULINGS_INDV_2012_itr12-1.pdf", # ITR 12-1
|
|
21
|
+
]
|
|
22
|
+
defined_for = StateCode.AZ
|
|
23
|
+
|
|
24
|
+
def formula(tax_unit, period, parameters):
|
|
25
|
+
# Start with Federal AGI
|
|
26
|
+
# Per ITR 12-1, income includes wages, interest, business/farm income,
|
|
27
|
+
# rent/royalty, S-corp/partnership income, alimony, capital gains,
|
|
28
|
+
# pension/annuity income, and other non-excluded income.
|
|
29
|
+
federal_agi = tax_unit("adjusted_gross_income", period)
|
|
30
|
+
|
|
31
|
+
# Per ARS 43-1072(I) and ITR 12-1 "Items Excluded from Income",
|
|
32
|
+
# we ONLY exclude Social Security benefits (and other items like
|
|
33
|
+
# railroad retirement, workers comp, AZ unemployment, veterans
|
|
34
|
+
# disability pensions, welfare, and gifts - but these are typically
|
|
35
|
+
# not in Federal AGI anyway).
|
|
36
|
+
#
|
|
37
|
+
# Federal AGI only includes the TAXABLE portion of Social Security,
|
|
38
|
+
# but for property tax credit, ALL Social Security should be excluded.
|
|
39
|
+
# So we subtract the taxable portion that's in Federal AGI.
|
|
40
|
+
taxable_social_security = tax_unit(
|
|
41
|
+
"tax_unit_taxable_social_security", period
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# NOTE: We do NOT subtract Arizona's regular subtractions here because:
|
|
45
|
+
# - Pension exclusions (az_public_pension_exclusion,
|
|
46
|
+
# az_military_retirement_subtraction) should be INCLUDED per
|
|
47
|
+
# ITR 12-1 item (9)
|
|
48
|
+
# - Capital gains subtraction (az_long_term_capital_gains_subtraction)
|
|
49
|
+
# should be INCLUDED per ITR 12-1 item (7)
|
|
50
|
+
# - US Government interest should be INCLUDED per ITR 12-1 item (2)
|
|
51
|
+
# - Arizona exemptions (aged, blind) should NOT be subtracted
|
|
52
|
+
|
|
53
|
+
return max_(0, federal_agi - taxable_social_security)
|
|
@@ -18,15 +18,19 @@ class dc_ptc(Variable):
|
|
|
18
18
|
retax = add(tax_unit, period, ["real_estate_taxes"])
|
|
19
19
|
p_dc = parameters(period).gov.states.dc.tax.income.credits
|
|
20
20
|
ptax = retax + rent * p_dc.ptc.rent_ratio
|
|
21
|
+
|
|
21
22
|
elderly_age = p_dc.ptc.min_elderly_age
|
|
22
23
|
head_age = tax_unit("age_head", period)
|
|
23
24
|
spouse_age = tax_unit("age_spouse", period)
|
|
24
25
|
is_elderly = (head_age >= elderly_age) | (spouse_age >= elderly_age)
|
|
26
|
+
|
|
27
|
+
# Only positive AGI creates an offset (negative AGI should not reduce offset)
|
|
25
28
|
us_agi = tax_unit("adjusted_gross_income", period)
|
|
26
|
-
|
|
29
|
+
positive_agi = max_(0, us_agi)
|
|
30
|
+
ptax_offset = positive_agi * where(
|
|
27
31
|
is_elderly,
|
|
28
|
-
p_dc.ptc.fraction_elderly.calc(
|
|
29
|
-
p_dc.ptc.fraction_nonelderly.calc(
|
|
32
|
+
p_dc.ptc.fraction_elderly.calc(positive_agi, right=True),
|
|
33
|
+
p_dc.ptc.fraction_nonelderly.calc(positive_agi, right=True),
|
|
30
34
|
)
|
|
31
35
|
uncapped_ptc = max_(0, ptax - ptax_offset)
|
|
32
36
|
return min_(p_dc.ptc.max, uncapped_ptc)
|
|
@@ -18,6 +18,8 @@ class ia_cdcc(Variable):
|
|
|
18
18
|
def formula(tax_unit, period, parameters):
|
|
19
19
|
# Iowa matches the potential federal credit
|
|
20
20
|
federal_cdcc = tax_unit("cdcc_potential", period)
|
|
21
|
-
|
|
21
|
+
taxable_income = tax_unit("ia_taxable_income", period)
|
|
22
22
|
p = parameters(period).gov.states.ia.tax.income
|
|
23
|
-
return federal_cdcc * p.credits.child_care.fraction.calc(
|
|
23
|
+
return federal_cdcc * p.credits.child_care.fraction.calc(
|
|
24
|
+
taxable_income
|
|
25
|
+
)
|
|
@@ -6,15 +6,33 @@ class il_aabd_non_financial_eligible_person(Variable):
|
|
|
6
6
|
entity = Person
|
|
7
7
|
definition_period = MONTH
|
|
8
8
|
label = "Eligible person for Illinois Aid to the Aged, Blind or Disabled (AABD)"
|
|
9
|
-
reference =
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/illinois/title-89/part-113/subpart-B",
|
|
11
|
+
"https://www.dhs.state.il.us/page.aspx?item=15910",
|
|
12
|
+
)
|
|
10
13
|
defined_for = StateCode.IL
|
|
11
14
|
|
|
12
15
|
def formula(person, period, parameters):
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
)
|
|
16
|
+
# Per IDHS Policy Manual PM 11-01-00, a person must either:
|
|
17
|
+
# 1. Receive SSI, OR
|
|
18
|
+
# 2. Be ineligible for SSI due to income (but meet all other SSI requirements)
|
|
19
|
+
#
|
|
20
|
+
# Note: The policy manual only mentions "disabled" for under-65 persons
|
|
21
|
+
# who are SSI-ineligible due to income, but 89 Ill. Admin. Code 113.40(b)
|
|
22
|
+
# explicitly states: "The Department will make the determination of
|
|
23
|
+
# blindness when the client has been denied SSI on the basis of too
|
|
24
|
+
# much income." So blind persons are also covered.
|
|
25
|
+
#
|
|
26
|
+
# is_ssi_eligible checks categorical (aged/blind/disabled), resources,
|
|
27
|
+
# and immigration status for SSI. If True, person qualifies for IL AABD
|
|
28
|
+
# regardless of whether they actually receive SSI (income may be too high).
|
|
29
|
+
ssi_status_eligible = person("is_ssi_eligible", period.this_year)
|
|
30
|
+
|
|
31
|
+
# IL AABD has additional qualified noncitizen categories beyond SSI
|
|
32
|
+
# (e.g., abuse victims, trafficking victims, military families per
|
|
33
|
+
# 89 Ill. Admin. Code 113.10), so we check IL-specific immigration.
|
|
16
34
|
immigration_status_eligible = person(
|
|
17
35
|
"il_aabd_immigration_status_eligible_person", period
|
|
18
36
|
)
|
|
19
37
|
|
|
20
|
-
return
|
|
38
|
+
return ssi_status_eligible & immigration_status_eligible
|
|
@@ -31,7 +31,7 @@ class il_fpp_eligible(Variable):
|
|
|
31
31
|
"il_hfs_immigration_status_eligible", period
|
|
32
32
|
)
|
|
33
33
|
# Cannot be enrolled in other non-spenddown full medical coverage
|
|
34
|
-
not_on_medicaid = ~person("
|
|
34
|
+
not_on_medicaid = ~person("receives_medicaid", period)
|
|
35
35
|
return (
|
|
36
36
|
income_eligible
|
|
37
37
|
& not_pregnant
|
|
@@ -13,8 +13,12 @@ class il_hbwd_disability_eligible(Variable):
|
|
|
13
13
|
defined_for = StateCode.IL
|
|
14
14
|
|
|
15
15
|
def formula(person, period, parameters):
|
|
16
|
-
# Must meet Social Security Administration's definition of disability
|
|
17
|
-
|
|
16
|
+
# Must meet Social Security Administration's definition of disability.
|
|
17
|
+
# Per DB101 Illinois "For HBWD, Social Security's disability
|
|
18
|
+
# rules related to earned income do not apply" - so we use is_disabled
|
|
19
|
+
# (medical definition) instead of is_ssi_disabled (which includes SGA test).
|
|
20
|
+
# See: https://il.db101.org/il/programs/health_coverage/how_health/program2b.htm
|
|
21
|
+
is_disabled = person("is_disabled", period.this_year)
|
|
18
22
|
# Or currently receiving SSDI
|
|
19
23
|
receives_ssdi = person("social_security_disability", period) > 0
|
|
20
|
-
return
|
|
24
|
+
return is_disabled | receives_ssdi
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_isbe_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = (
|
|
8
|
+
"Meets income requirements for Illinois ISBE early childhood programs"
|
|
9
|
+
)
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
reference = (
|
|
12
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
13
|
+
"https://law.onecle.com/illinois/105ilcs5/2-3.71.html",
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.IL
|
|
16
|
+
|
|
17
|
+
def formula(person, period, parameters):
|
|
18
|
+
# Income must be at or below 400% FPL for program eligibility.
|
|
19
|
+
# 105 ILCS 5/2-3.71 establishes "4 times the poverty guidelines" as the
|
|
20
|
+
# maximum income threshold for preschool program eligibility.
|
|
21
|
+
p = parameters(period).gov.states.il.isbe.income
|
|
22
|
+
spm_unit = person.spm_unit
|
|
23
|
+
fpg = spm_unit("spm_unit_fpg", period)
|
|
24
|
+
income = spm_unit("il_isbe_countable_income", period)
|
|
25
|
+
threshold = fpg * p.income_limit_rate
|
|
26
|
+
return income <= threshold
|
policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_isbe_was_teen_parent_at_first_birth(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Parent was a teen at birth of first child"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf"
|
|
11
|
+
)
|
|
12
|
+
defined_for = StateCode.IL
|
|
13
|
+
|
|
14
|
+
def formula(spm_unit, period, parameters):
|
|
15
|
+
person = spm_unit.members
|
|
16
|
+
age = person("age", period.this_year)
|
|
17
|
+
is_child = person("is_child", period.this_year)
|
|
18
|
+
|
|
19
|
+
# Find oldest child using get_rank (rank 0 = oldest when using -age)
|
|
20
|
+
is_oldest_child = person.get_rank(spm_unit, -age, is_child) == 0
|
|
21
|
+
|
|
22
|
+
# Get ages
|
|
23
|
+
head_age = spm_unit.max(age * person("is_tax_unit_head", period))
|
|
24
|
+
oldest_child_age = spm_unit.max(age * is_oldest_child)
|
|
25
|
+
|
|
26
|
+
# Calculate parent's age at first birth
|
|
27
|
+
age_at_first_birth = head_age - oldest_child_age
|
|
28
|
+
|
|
29
|
+
# Check if parent was under threshold age at birth and has children
|
|
30
|
+
p = parameters(period).gov.states.il.isbe.age_threshold
|
|
31
|
+
has_children = spm_unit.any(is_child)
|
|
32
|
+
return has_children & (age_at_first_birth < p.teen_parent)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_isbe_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Illinois ISBE countable income"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://www.isbe.net/Documents/Income-Verification-FAQ.pdf"
|
|
11
|
+
defined_for = StateCode.IL
|
|
12
|
+
|
|
13
|
+
adds = "gov.states.il.isbe.income.countable_sources"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfa(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Preschool For All (PFA) benefit"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
unit = USD
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
12
|
+
"https://gov-pritzker-newsroom.prezly.com/gov-pritzker-announces-5150-new-preschool-seats-through-smart-start-initiative",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_pfa_eligible"
|
|
15
|
+
adds = ["gov.states.il.isbe.pfa.benefit.amount"]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfa_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Eligible for Illinois Preschool For All (PFA)"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
# PFA and PFAE share identical eligibility criteria. The difference is
|
|
15
|
+
# service level: PFA provides half-day, PFAE provides full-day programs.
|
|
16
|
+
# A child receives one or the other based on local program availability,
|
|
17
|
+
# not both simultaneously.
|
|
18
|
+
adds = ["il_pfae_eligible"]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_age_eligible_child(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Child meets age requirements for Illinois PFAE"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
# PFA/PFAE serves children ages 3-4, plus 5-year-olds not yet
|
|
17
|
+
# kindergarten eligible. Per 105 ILCS 5/10-20.12, children who
|
|
18
|
+
# turn 5 on or before September 1 are kindergarten eligible.
|
|
19
|
+
# Since PolicyEngine uses age in whole years without birth month,
|
|
20
|
+
# we include all 5-year-olds as a simplification (some are eligible).
|
|
21
|
+
p = parameters(period).gov.states.il.isbe.pfae.eligibility
|
|
22
|
+
age = person("age", period)
|
|
23
|
+
return p.age_range.calc(age)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_basic_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Meets basic eligibility for Illinois PFAE (age and income)"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
# Basic eligibility: age 3-5 and income <= 400% FPL
|
|
17
|
+
age_eligible = person("il_pfae_age_eligible_child", period)
|
|
18
|
+
income_eligible = person("il_isbe_income_eligible", period)
|
|
19
|
+
return age_eligible & income_eligible
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Eligible for Illinois Preschool For All Expansion (PFAE)"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf#page=2",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
# PFAE eligibility requires:
|
|
17
|
+
# - Basic eligibility (age 3-5, income <= 400% FPL)
|
|
18
|
+
# - AND either:
|
|
19
|
+
# - Any highest priority factor (direct enrollment), OR
|
|
20
|
+
# - 2+ secondary priority factors
|
|
21
|
+
basic_eligible = person("il_pfae_basic_eligible", period)
|
|
22
|
+
has_highest_priority = person(
|
|
23
|
+
"il_pfae_has_highest_priority_factor", period
|
|
24
|
+
)
|
|
25
|
+
secondary_count = person(
|
|
26
|
+
"il_pfae_secondary_priority_factor_count", period
|
|
27
|
+
)
|
|
28
|
+
return basic_eligible & (has_highest_priority | (secondary_count >= 2))
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Preschool For All Expansion (PFAE) benefit"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
unit = USD
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
12
|
+
"https://gov-pritzker-newsroom.prezly.com/gov-pritzker-announces-5150-new-preschool-seats-through-smart-start-initiative",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_pfae_eligible"
|
|
15
|
+
# PFA and PFAE share identical eligibility criteria. The difference is
|
|
16
|
+
# service level: PFA provides half-day, PFAE provides full-day programs.
|
|
17
|
+
# A child receives one or the other based on local program availability,
|
|
18
|
+
# not both simultaneously.
|
|
19
|
+
adds = ["gov.states.il.isbe.pfae.benefit.amount"]
|
policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.py
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_has_highest_priority_factor(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Has highest priority selection factor for Illinois PFAE"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf#page=2",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
# Highest priority selection factors (50 points each):
|
|
17
|
+
# 1. Homeless (McKinney-Vento)
|
|
18
|
+
# 2. Child welfare involvement (foster care, Ward of State)
|
|
19
|
+
# 3. Has IEP or referred for special education evaluation
|
|
20
|
+
# 4. Family income at or below 50% FPL and/or receiving TANF
|
|
21
|
+
# Factor 1: Homeless
|
|
22
|
+
is_homeless = person.household("is_homeless", period)
|
|
23
|
+
|
|
24
|
+
# Factor 2: Child welfare involvement (foster care)
|
|
25
|
+
is_in_foster_care = person("is_in_foster_care", period)
|
|
26
|
+
|
|
27
|
+
# Factor 3: Has IEP
|
|
28
|
+
has_iep = person("has_individualized_education_program", period)
|
|
29
|
+
|
|
30
|
+
# Factor 4: Income <= 50% FPL OR receiving TANF
|
|
31
|
+
is_deep_poverty = person("il_pfae_is_deep_poverty", period)
|
|
32
|
+
receives_tanf = person.spm_unit("il_tanf", period) > 0
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
is_homeless
|
|
36
|
+
| is_in_foster_care
|
|
37
|
+
| has_iep
|
|
38
|
+
| is_deep_poverty
|
|
39
|
+
| receives_tanf
|
|
40
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_is_deep_poverty(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Family income at or below 50% FPL (50-point factor for IL PFAE)"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf#page=2",
|
|
11
|
+
)
|
|
12
|
+
defined_for = StateCode.IL
|
|
13
|
+
|
|
14
|
+
def formula(person, period, parameters):
|
|
15
|
+
# Deep poverty (income <= 50% FPL) is a highest priority factor.
|
|
16
|
+
# Per the ISBE PDG enrollment form, Factor 4 includes "Family income at
|
|
17
|
+
# or below 50% of the federal poverty guidelines."
|
|
18
|
+
p = parameters(period).gov.states.il.isbe.pfae.eligibility.income
|
|
19
|
+
spm_unit = person.spm_unit
|
|
20
|
+
fpg = spm_unit("spm_unit_fpg", period)
|
|
21
|
+
income = spm_unit("il_isbe_countable_income", period)
|
|
22
|
+
threshold = fpg * p.deep_poverty_rate
|
|
23
|
+
return income <= threshold
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_pfae_is_low_income(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Family income at or below 100% FPL (secondary priority factor)"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.isbe.net/pages/preschool-for-all.aspx",
|
|
11
|
+
"https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf#page=2",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.IL
|
|
14
|
+
|
|
15
|
+
def formula(person, period, parameters):
|
|
16
|
+
p = parameters(period).gov.states.il.isbe.pfae.eligibility.income
|
|
17
|
+
spm_unit = person.spm_unit
|
|
18
|
+
fpg = spm_unit("spm_unit_fpg", period)
|
|
19
|
+
income = spm_unit("il_isbe_countable_income", period)
|
|
20
|
+
threshold = fpg * p.low_income_rate
|
|
21
|
+
return income <= threshold
|