policyengine-us 1.426.0__py3-none-any.whl → 1.449.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
- policyengine_us/parameters/gov/aca/state_rating_area_cost.yaml +511 -12
- policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/min_age.yaml +1 -1
- policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/age_limit.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/ri/ctc/young_child_boost/amount.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/ri/dependent_exemption/amount.yaml +2 -2
- policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/couple.yaml +60 -51
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/individual.yaml +60 -51
- policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
- policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
- policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/earned.yaml +13 -0
- policyengine_us/parameters/gov/hhs/tanf/cash/income/sources/unearned.yaml +23 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
- policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
- policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
- policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/README.md +1 -206
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/{income/all.yaml → income.yaml} +1 -1
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution.yaml +70 -0
- policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/joint.yaml +10 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/non_joint.yaml +10 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/joint.yaml +10 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/non_joint.yaml +10 -0
- policyengine_us/parameters/gov/states/co/tax/income/credits/refundable.yaml +10 -0
- policyengine_us/parameters/gov/states/ga/tax/income/credits/itemizer/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/ga/tax/income/credits/non_refundable.yaml +9 -0
- policyengine_us/parameters/gov/states/hi/tax/income/alternative_tax/availability.yaml +2 -3
- policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/qualified_noncitizen_statuses.yaml +21 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
- policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
- policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
- policyengine_us/parameters/gov/states/pa/tax/income/credits/eitc/match.yaml +10 -0
- policyengine_us/parameters/gov/states/pa/tax/income/credits/refundable.yaml +6 -0
- policyengine_us/parameters/gov/states/va/tax/income/credits/non_refundable.yaml +1 -1
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
- policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/credits/refundable.yaml +2 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/tax_rate/amount.yaml +35 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
- policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
- policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
- policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/caring_dependent_child.yaml +1 -1
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/exempted.yaml +1 -1
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/weekly_hours_threshold.yaml +1 -1
- policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
- policyengine_us/reforms/congress/tlaib/__init__.py +4 -3
- policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/__init__.py +9 -0
- policyengine_us/reforms/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.py +237 -0
- policyengine_us/reforms/local/ny/__init__.py +4 -0
- policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
- policyengine_us/reforms/reforms.py +19 -4
- policyengine_us/reforms/states/ri/ctc/ri_ctc_reform.py +32 -1
- policyengine_us/reforms/states/ri/exemption/ri_exemption_reform.py +26 -5
- policyengine_us/reforms/states/ut/__init__.py +3 -0
- policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
- policyengine_us/tests/policy/baseline/gov/ed/pell_grant/pell_grant_simplified_formula_applies.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
- policyengine_us/tests/policy/baseline/gov/hhs/tanf/tanf_fpg.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
- policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/income_elasticity.yaml +6 -12
- policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/labor_supply_behavioral_response.yaml +24 -2
- policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/substitution_elasticity.yaml +35 -10
- policyengine_us/tests/policy/baseline/gov/ssa/ssi/integration_tests.yaml +150 -4
- policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.yaml +64 -0
- policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.yaml +122 -0
- policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/credits/ga_itemizer_credit.yaml +44 -0
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/alternative_tax/hi_alternative_tax_on_capital_gains_eligible.yaml +0 -8
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.yaml +4 -0
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/integration.yaml +96 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_a.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_b.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_c.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.yaml +8 -8
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +57 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/oh_cdcc.yaml +4 -4
- policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +141 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/credits/pa_eitc.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
- policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_normal_tax.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/test_categorical_eligibility_vectorization.yaml +41 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +75 -4
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
- policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
- policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
- policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
- policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
- policyengine_us/tests/policy/contrib/congress/tlaib/economic_dignity_for_all_agenda/edaa_end_child_poverty_act.yaml +198 -0
- policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
- policyengine_us/tests/policy/contrib/states/ri/ctc_reform_test.yaml +144 -0
- policyengine_us/tests/policy/contrib/states/ri/exemption_reform_test.yaml +2 -2
- policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
- policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
- policyengine_us/variables/gov/ed/pell_grant/efc/pell_grant_simplified_formula_applies.py +1 -2
- policyengine_us/variables/gov/fcc/lifeline/is_lifeline_eligible.py +2 -2
- policyengine_us/variables/gov/hhs/head_start/early_head_start.py +2 -1
- policyengine_us/variables/gov/hhs/head_start/head_start.py +2 -1
- policyengine_us/variables/gov/hhs/head_start/is_head_start_categorically_eligible.py +1 -3
- policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
- policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
- policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
- policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_earned_income.py +13 -0
- policyengine_us/variables/gov/hhs/tanf/cash/income/tanf_gross_unearned_income.py +13 -0
- policyengine_us/variables/gov/hhs/tanf/tanf_fpg.py +28 -0
- policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
- policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
- policyengine_us/variables/gov/simulation/labor_supply_response/income_elasticity.py +1 -27
- policyengine_us/variables/gov/simulation/labor_supply_response/substitution_elasticity.py +18 -43
- policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/is_ssi_spousal_deeming_applies.py +41 -0
- policyengine_us/variables/gov/ssa/ssi/eligibility/income/deemed/from_ineligible_spouse/ssi_income_deemed_from_ineligible_spouse.py +20 -20
- policyengine_us/variables/gov/ssa/ssi/ssi.py +22 -1
- policyengine_us/variables/gov/ssa/ssi/ssi_amount_if_eligible.py +26 -4
- policyengine_us/variables/gov/states/ca/cpuc/care/eligibility/ca_care_categorically_eligible.py +2 -2
- policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
- policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +26 -0
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +27 -0
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker.py +10 -0
- policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible_care_worker_count.py +18 -0
- policyengine_us/variables/gov/states/ga/tax/income/credits/ga_itemizer_credit.py +19 -0
- policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc.py +1 -1
- policyengine_us/variables/gov/states/hi/tax/income/credits/cdcc/hi_cdcc_eligible.py +14 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.py +26 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
- policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
- policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
- policyengine_us/variables/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.py +2 -2
- policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
- policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py +2 -2
- policyengine_us/variables/gov/states/pa/tax/income/credits/pa_eitc.py +16 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
- policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
- policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
- policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
- policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
- policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
- policyengine_us/variables/gov/territories/pr/tax/income/pr_income_tax.py +14 -0
- policyengine_us/variables/gov/territories/pr/tax/income/pr_normal_tax.py +16 -0
- policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +20 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
- policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +17 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
- policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
- policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
- policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
- policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
- policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
- policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
- policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
- {policyengine_us-1.426.0.dist-info → policyengine_us-1.449.6.dist-info}/METADATA +1 -1
- {policyengine_us-1.426.0.dist-info → policyengine_us-1.449.6.dist-info}/RECORD +300 -161
- {policyengine_us-1.426.0.dist-info → policyengine_us-1.449.6.dist-info}/WHEEL +1 -1
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/age_limit.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/amount.yaml +0 -13
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/in_effect.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/baby_bonus_act/min_birth_year.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/amount.yaml +0 -13
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/in_effect.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/max_age.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/min_age.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/rate.yaml +0 -8
- policyengine_us/parameters/gov/contrib/congress/tlaib/income_security_package/boost_act/tax/threshold.yaml +0 -24
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/age_multiplier_over_threshold.yaml +0 -11
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/age_threshold.yaml +0 -9
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/income/base.yaml +0 -11
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/age_multiplier_over_threshold.yaml +0 -11
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/age_threshold.yaml +0 -9
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/all.yaml +0 -6
- policyengine_us/parameters/gov/simulation/labor_supply_responses/elasticities/substitution/by_position_and_decile.yaml +0 -71
- policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
- policyengine_us/reforms/congress/tlaib/income_security_package/__init__.py +0 -17
- policyengine_us/reforms/congress/tlaib/income_security_package/income_security_package.py +0 -402
- policyengine_us/tests/policy/baseline/gov/simulation/labor_supply_response/integration.yaml +0 -45
- policyengine_us/tests/policy/contrib/congress/tlaib/income_security/integration.yaml +0 -154
- policyengine_us/tests/policy/contrib/congress/tlaib/income_security/state_integration.yaml +0 -110
- policyengine_us/tests/policy/contrib/congress/tlaib/income_security/test_individual_acts.yaml +0 -149
- policyengine_us/tests/policy/contrib/congress/tlaib/income_security/unit_tests.yaml +0 -272
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/adult_dependent_credit/amount.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/child_benefit/age_limit.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/amount.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/max_age.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/eligibility/min_age.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/rate.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/filer_credit/phase_out/start.yaml +0 -0
- /policyengine_us/parameters/gov/contrib/congress/tlaib/{income_security_package → economic_dignity_for_all_agenda}/end_child_poverty_act/in_effect.yaml +0 -0
- /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
- /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
- {policyengine_us-1.426.0.dist-info → policyengine_us-1.449.6.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.426.0.dist-info → policyengine_us-1.449.6.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/about.html",
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.IL
|
|
16
|
+
|
|
17
|
+
adds = ["il_hbwd_person"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_person(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities per person"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_hbwd_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
# HBWD provides comprehensive healthcare coverage
|
|
18
|
+
# Could model as:
|
|
19
|
+
# 1. Negative premium (cost to individual)
|
|
20
|
+
# 2. Imputed healthcare value minus premium
|
|
21
|
+
# 3. Healthcare coverage indicator
|
|
22
|
+
# For now, return negative premium as cost
|
|
23
|
+
premium = person("il_hbwd_premium", period)
|
|
24
|
+
return -premium
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_premium(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Health Benefits for Workers with Disabilities monthly premium"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/premiums.html",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "il_hbwd_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.il.hfs.hbwd.premium
|
|
18
|
+
|
|
19
|
+
earned = person("il_hbwd_countable_earned_income", period)
|
|
20
|
+
unearned = person("il_hbwd_countable_unearned_income", period)
|
|
21
|
+
|
|
22
|
+
# Lookup premium components from bracket parameters
|
|
23
|
+
return p.earned.calc(earned) + p.unearned.calc(unearned)
|
policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_earned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable earned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.360",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.362",
|
|
13
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.370",
|
|
14
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
15
|
+
)
|
|
16
|
+
defined_for = StateCode.IL
|
|
17
|
+
|
|
18
|
+
adds = ["il_aabd_earned_income_after_exemption_person"]
|
|
19
|
+
# HBWD uses the same earned income calculation as AABD per
|
|
20
|
+
# 89 Ill. Admin. Code § 120.510(i) referencing § 120.362 and § 120.370
|
|
21
|
+
# § 120.362 and § 113.120 have identical exemption amounts:
|
|
22
|
+
# - $25 flat exemption (§ 120.362(a) / § 113.120(a))
|
|
23
|
+
# - $20 + 50% of next $60 for disabled workers (§ 120.362(b)(1) / § 113.120(b))
|
|
24
|
+
# § 120.370 references AABD MANG work expense deductions
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_gross_earned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities gross earned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.360",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.IL
|
|
15
|
+
|
|
16
|
+
adds = "gov.states.il.hfs.hbwd.eligibility.income.sources.earned"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = SPMUnit
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
12
|
+
"https://hfs.illinois.gov/medicalprograms/hbwd/eligibility.html",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "is_tax_unit_head_or_spouse"
|
|
15
|
+
|
|
16
|
+
adds = [
|
|
17
|
+
"il_aabd_earned_income_after_exemption_person",
|
|
18
|
+
"il_hbwd_countable_unearned_income",
|
|
19
|
+
]
|
|
20
|
+
# Per § 120.510(f), count income of individual AND spouse
|
|
21
|
+
# Adds automatically sums across SPM unit members
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_hbwd_countable_unearned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = Person
|
|
8
|
+
label = "Illinois Health Benefits for Workers with Disabilities countable unearned income"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.330",
|
|
12
|
+
"https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.510",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.IL
|
|
15
|
+
|
|
16
|
+
adds = "gov.states.il.hfs.hbwd.eligibility.income.sources.unearned"
|
|
@@ -6,6 +6,7 @@ class ma_state_supplement(Variable):
|
|
|
6
6
|
entity = Person
|
|
7
7
|
label = "Massachusetts State Supplement payment amount"
|
|
8
8
|
definition_period = YEAR
|
|
9
|
+
defined_for = StateCode.MA
|
|
9
10
|
exhaustive_parameter_dependencies = "gov.states.ma.dta.ssp"
|
|
10
11
|
reference = (
|
|
11
12
|
"https://www.law.cornell.edu/regulations/massachusetts/106-CMR-327-330"
|
|
@@ -15,11 +15,12 @@ class mt_itemized_deductions_indiv(Variable):
|
|
|
15
15
|
defined_for = StateCode.MT
|
|
16
16
|
|
|
17
17
|
def formula(person, period, parameters):
|
|
18
|
-
p = parameters(period).gov.
|
|
18
|
+
p = parameters(period).gov.states.mt.tax.income.deductions.itemized
|
|
19
19
|
# Since we only compute the federal charitable deduction at the tax unit level,
|
|
20
20
|
# we will split the value between each spouse
|
|
21
21
|
charitable_deduction = (
|
|
22
|
-
person.tax_unit("charitable_deduction", period)
|
|
22
|
+
person.tax_unit("charitable_deduction", period)
|
|
23
|
+
* p.spouse_allocation_rate
|
|
23
24
|
)
|
|
24
25
|
head_or_spouse = person("is_tax_unit_head_or_spouse", period)
|
|
25
26
|
# The interest deduction is the sum of mortagage and investment interest expenses
|
|
@@ -19,8 +19,8 @@ class nj_cdcc(Variable):
|
|
|
19
19
|
taxable_income = tax_unit("nj_taxable_income", period)
|
|
20
20
|
|
|
21
21
|
# Get federal CDCC
|
|
22
|
-
# New Jersey matches the
|
|
23
|
-
federal_cdcc = tax_unit("
|
|
22
|
+
# New Jersey matches the actual federal credit value
|
|
23
|
+
federal_cdcc = tax_unit("cdcc", period)
|
|
24
24
|
|
|
25
25
|
# Calculate NJ CDCC
|
|
26
26
|
rate = p.calc(taxable_income, right=True)
|
|
@@ -13,6 +13,10 @@ class oh_joint_filing_credit_qualifying_income(Variable):
|
|
|
13
13
|
)
|
|
14
14
|
defined_for = StateCode.OH
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
agi = person("oh_agi_person", period)
|
|
18
|
+
# Prevent negative subtractions from acting as additions
|
|
19
|
+
subtractions = max_(
|
|
20
|
+
0, person("oh_joint_filing_credit_agi_subtractions", period)
|
|
21
|
+
)
|
|
22
|
+
return agi - subtractions
|
|
@@ -16,8 +16,8 @@ class oh_cdcc(Variable):
|
|
|
16
16
|
p = parameters(period).gov.states.oh.tax.income.credits.cdcc
|
|
17
17
|
|
|
18
18
|
agi = tax_unit("oh_modified_agi", period)
|
|
19
|
-
# Ohio matches the federal credit
|
|
20
|
-
us_cdcc = tax_unit("
|
|
19
|
+
# Ohio matches the potential federal credit
|
|
20
|
+
us_cdcc = tax_unit("cdcc_potential", period)
|
|
21
21
|
|
|
22
22
|
rate = p.match.calc(agi)
|
|
23
23
|
# qualify for full CDCC amount when AGI < 20_000
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pa_eitc(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Pennsylvania Working Pennsylvanians Tax Credit"
|
|
8
|
+
defined_for = StateCode.PA
|
|
9
|
+
unit = USD
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
reference = "https://www.palegis.us/legislation/bills/text/PDF/2025/0/HB0416/PN2576#page=50" # Article XVI-W.2
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
federal_eitc = tax_unit("eitc", period)
|
|
15
|
+
p = parameters(period).gov.states.pa.tax.income.credits.eitc
|
|
16
|
+
return federal_eitc * p.match
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_payment_standard(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF payment standard"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020"
|
|
11
|
+
defined_for = StateCode.WA
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
# Get payment standard by family size per WAC 388-478-0020
|
|
15
|
+
p = parameters(period).gov.states.wa.dshs.tanf
|
|
16
|
+
|
|
17
|
+
# Get assistance unit size, capped at maximum table value (10)
|
|
18
|
+
size = spm_unit("spm_unit_size", period)
|
|
19
|
+
size_capped = min_(size, p.maximum_family_size)
|
|
20
|
+
|
|
21
|
+
# Look up payment standard for this family size
|
|
22
|
+
return p.payment_standard.amount[size_capped]
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-400-0005"
|
|
10
|
+
defined_for = StateCode.WA
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
person = spm_unit.members
|
|
14
|
+
|
|
15
|
+
# Must meet demographic requirements (minor child with deprived parent
|
|
16
|
+
# OR pregnant woman)
|
|
17
|
+
# Per WAC 388-400-0005, eligibility follows federal TANF demographic rules
|
|
18
|
+
demographic_eligible = spm_unit("is_demographic_tanf_eligible", period)
|
|
19
|
+
|
|
20
|
+
# Must have at least one U.S. citizen or qualified immigrant
|
|
21
|
+
# Per WAC 388-424-0001, follows federal immigration eligibility
|
|
22
|
+
has_citizen = spm_unit.any(
|
|
23
|
+
person("is_citizen_or_legal_immigrant", period)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# Must meet income eligibility (gross earned income < limit)
|
|
27
|
+
# Per WAC 388-478-0035
|
|
28
|
+
income_eligible = spm_unit("wa_tanf_income_eligible", period)
|
|
29
|
+
|
|
30
|
+
# Must meet resource eligibility (countable resources <= $6,000)
|
|
31
|
+
# Per WAC 388-470-0045
|
|
32
|
+
resources_eligible = spm_unit(
|
|
33
|
+
"wa_tanf_resources_eligible", period.this_year
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
# All requirements must be met
|
|
37
|
+
return (
|
|
38
|
+
demographic_eligible
|
|
39
|
+
& has_citizen
|
|
40
|
+
& income_eligible
|
|
41
|
+
& resources_eligible
|
|
42
|
+
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF income eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0035",
|
|
11
|
+
"https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.WA
|
|
14
|
+
|
|
15
|
+
def formula(spm_unit, period, parameters):
|
|
16
|
+
# Get gross earned income from federal TANF variable
|
|
17
|
+
gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
|
|
18
|
+
|
|
19
|
+
# Get maximum earned income limits by family size
|
|
20
|
+
# Per WAC 388-478-0035, these limits "include the $500 family
|
|
21
|
+
# earnings deduction" in their calculation
|
|
22
|
+
p = parameters(period).gov.states.wa.dshs.tanf
|
|
23
|
+
|
|
24
|
+
# Get household size, capped at maximum for which limits are defined
|
|
25
|
+
size = spm_unit("spm_unit_size", period)
|
|
26
|
+
size_capped = min_(size, p.maximum_family_size)
|
|
27
|
+
|
|
28
|
+
# Gross earned income must be at or below the limit
|
|
29
|
+
# Note: Unlike some states, WA tests GROSS income (not countable)
|
|
30
|
+
# against published limits that already factor in the $500 disregard
|
|
31
|
+
return gross_earned <= p.income.limit[size_capped]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_countable_earned_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF countable earned income"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170"
|
|
11
|
+
defined_for = StateCode.WA
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
# Get gross earned income from federal TANF variable
|
|
15
|
+
gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
|
|
16
|
+
|
|
17
|
+
# Apply earned income disregard per WAC 388-450-0170:
|
|
18
|
+
# "We start by deducting the first $500 of the total household's
|
|
19
|
+
# earned income. We then subtract 50% of the remaining monthly
|
|
20
|
+
# gross earned income."
|
|
21
|
+
p = parameters(
|
|
22
|
+
period
|
|
23
|
+
).gov.states.wa.dshs.tanf.income.deductions.earned_income_disregard
|
|
24
|
+
|
|
25
|
+
# Step 1: Deduct flat $500 family earnings disregard
|
|
26
|
+
remainder = max_(gross_earned - p.amount, 0)
|
|
27
|
+
|
|
28
|
+
# Step 2: Subtract (disregard) 50% of remaining income
|
|
29
|
+
# Per WAC 388-450-0170(3): "subtract 50% of the remaining...income"
|
|
30
|
+
amount_disregarded = remainder * p.percentage_disregarded
|
|
31
|
+
|
|
32
|
+
# Countable earned income = remainder - amount disregarded
|
|
33
|
+
return remainder - amount_disregarded
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington TANF countable income"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0165"
|
|
11
|
+
defined_for = StateCode.WA
|
|
12
|
+
|
|
13
|
+
adds = [
|
|
14
|
+
"wa_tanf_countable_earned_income",
|
|
15
|
+
"tanf_gross_unearned_income",
|
|
16
|
+
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class wa_tanf(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Washington Temporary Assistance for Needy Families (TANF)"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020",
|
|
12
|
+
"https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0165",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "wa_tanf_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
# Get payment standard based on assistance unit size
|
|
18
|
+
payment_standard = spm_unit("wa_tanf_payment_standard", period)
|
|
19
|
+
|
|
20
|
+
# Get countable income (after all disregards and deductions)
|
|
21
|
+
countable_income = spm_unit("wa_tanf_countable_income", period)
|
|
22
|
+
|
|
23
|
+
# Calculate benefit per WAC 388-450-0165:
|
|
24
|
+
# "The department calculates the amount of your cash assistance
|
|
25
|
+
# by subtracting your AU's countable income from the applicable
|
|
26
|
+
# payment standard."
|
|
27
|
+
grant_before_cap = max_(payment_standard - countable_income, 0)
|
|
28
|
+
|
|
29
|
+
# Apply maximum grant cap (unique to Washington)
|
|
30
|
+
# Per DSHS manual, grants cannot exceed $1,338
|
|
31
|
+
# regardless of family size (affects families of 8+)
|
|
32
|
+
p = parameters(period).gov.states.wa.dshs.tanf.payment_standard
|
|
33
|
+
|
|
34
|
+
return min_(grant_before_cap, p.maximum_amount)
|
|
@@ -6,9 +6,10 @@ class wa_tanf_resources_eligible(Variable):
|
|
|
6
6
|
entity = SPMUnit
|
|
7
7
|
label = "Washington TANF resources eligible"
|
|
8
8
|
definition_period = YEAR
|
|
9
|
+
reference = "https://app.leg.wa.gov/wac/default.aspx?cite=388-470-0005"
|
|
9
10
|
defined_for = StateCode.WA
|
|
10
11
|
|
|
11
12
|
def formula(spm_unit, period, parameters):
|
|
12
|
-
p = parameters(period).gov.states.wa.dshs.tanf
|
|
13
|
+
p = parameters(period).gov.states.wa.dshs.tanf
|
|
13
14
|
countable_resources = spm_unit("wa_tanf_countable_resources", period)
|
|
14
|
-
return countable_resources <= p.
|
|
15
|
+
return countable_resources <= p.resource_limit
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_gradual_adjustment_amount(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico gradual adjustment amount"
|
|
8
|
+
documentation = (
|
|
9
|
+
"An additional amount added to tax amount for high income filers."
|
|
10
|
+
)
|
|
11
|
+
unit = USD
|
|
12
|
+
definition_period = YEAR
|
|
13
|
+
defined_for = "pr_gradual_adjustment_eligible"
|
|
14
|
+
reference = "https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3"
|
|
15
|
+
|
|
16
|
+
def formula(tax_unit, period, parameters):
|
|
17
|
+
p = parameters(period).gov.territories.pr.tax.income.gradual_adjustment
|
|
18
|
+
net_taxable_income = tax_unit("pr_net_taxable_income", period)
|
|
19
|
+
amount = (net_taxable_income - p.threshold) * p.rate
|
|
20
|
+
exemptions = tax_unit("pr_exemptions", period)
|
|
21
|
+
limit = p.adjustment_limit_basis + p.exemption_rate * exemptions
|
|
22
|
+
|
|
23
|
+
return min_(amount, limit)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_gradual_adjustment_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico gradual adjustment eligibility"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
defined_for = StateCode.PR
|
|
10
|
+
reference = "https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3"
|
|
11
|
+
|
|
12
|
+
def formula(tax_unit, period, parameters):
|
|
13
|
+
p = parameters(period).gov.territories.pr.tax.income.gradual_adjustment
|
|
14
|
+
net_taxable_income = tax_unit("pr_net_taxable_income", period)
|
|
15
|
+
|
|
16
|
+
return net_taxable_income > p.threshold
|
|
@@ -8,4 +8,14 @@ class pr_agi(Variable):
|
|
|
8
8
|
unit = USD
|
|
9
9
|
definition_period = YEAR
|
|
10
10
|
defined_for = StateCode.PR
|
|
11
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2",
|
|
13
|
+
"https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-a/30103/",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
# Discrepancy: legal code defines Puerto Rico AGI as gross income minus deductions and exemptions, among other items
|
|
17
|
+
def formula(tax_unit, period, parameters):
|
|
18
|
+
# person = tax_unit.members
|
|
19
|
+
total_income = add(tax_unit, period, ["pr_gross_income"])
|
|
20
|
+
alimony_paid = add(tax_unit, period, ["alimony_expense"])
|
|
21
|
+
return max_(0, total_income - alimony_paid)
|
|
@@ -8,4 +8,14 @@ class pr_agi_person(Variable):
|
|
|
8
8
|
unit = USD
|
|
9
9
|
definition_period = YEAR
|
|
10
10
|
defined_for = StateCode.PR
|
|
11
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2",
|
|
13
|
+
"https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-a/30103/",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
def formula(person, period, parameters):
|
|
17
|
+
filing_status = person.tax_unit("filing_status", period)
|
|
18
|
+
filing_statuses = filing_status.possible_values
|
|
19
|
+
agi_taxunit = person.tax_unit("pr_agi", period)
|
|
20
|
+
frac = where(filing_status == filing_statuses.JOINT, 0.5, 1.0)
|
|
21
|
+
return agi_taxunit * frac
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_income_tax(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
unit = USD
|
|
7
|
+
entity = TaxUnit
|
|
8
|
+
label = "Puerto Rico income tax"
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
reference = "https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3"
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
adds = ["pr_regular_tax_before_credits"]
|
|
14
|
+
subtracts = ["pr_refundable_credits"]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_normal_tax(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico normal tax"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
defined_for = StateCode.PR
|
|
11
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/"
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
p = parameters(period).gov.territories.pr.tax.income.tax_rate
|
|
15
|
+
net_income = tax_unit("pr_net_taxable_income", period)
|
|
16
|
+
return p.amount.calc(net_income)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_regular_tax_before_credits(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico regular tax before credits"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
defined_for = StateCode.PR
|
|
11
|
+
reference = "https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=19"
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
p = parameters(period).gov.territories.pr.tax.income.regular_tax
|
|
15
|
+
gross_income = tax_unit("pr_gross_income", period)
|
|
16
|
+
total_normal_tax = add(
|
|
17
|
+
tax_unit, period, ["pr_normal_tax", "pr_gradual_adjustment_amount"]
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
return total_normal_tax * p.percentage.calc(gross_income)
|
policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_deductions(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico deductions"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/"
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
adds = "gov.territories.pr.tax.income.taxable_income.deductions.sources"
|
policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_exemptions(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico exemptions"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
unit = USD
|
|
10
|
+
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30138/"
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
adds = "gov.territories.pr.tax.income.taxable_income.exemptions.sources"
|
policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class pr_net_taxable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = TaxUnit
|
|
7
|
+
label = "Puerto Rico net taxable income"
|
|
8
|
+
reference = "https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2"
|
|
9
|
+
unit = USD
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
defined_for = StateCode.PR
|
|
12
|
+
|
|
13
|
+
def formula(tax_unit, period, parameters):
|
|
14
|
+
agi = tax_unit("pr_agi", period)
|
|
15
|
+
exemptions = tax_unit("pr_exemptions", period)
|
|
16
|
+
deductions = tax_unit("pr_deductions", period)
|
|
17
|
+
return max_(0, agi - exemptions - deductions)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class is_snap_higher_ed_student(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Is a higher education student for SNAP purposes"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
reference = "https://www.law.cornell.edu/uscode/text/7/2015#e"
|
|
10
|
+
|
|
11
|
+
def formula(person, period, parameters):
|
|
12
|
+
# Students enrolled at least half-time in higher education
|
|
13
|
+
# The statute covers half-time or more enrollment
|
|
14
|
+
is_full_time_student = person("is_full_time_college_student", period)
|
|
15
|
+
is_part_time_student = person("is_part_time_college_student", period)
|
|
16
|
+
|
|
17
|
+
return is_full_time_student | is_part_time_student
|