policyengine-us 1.449.6__py3-none-any.whl → 1.465.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/contrib/states/de/dependent_credit/age_limit/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/threshold.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/amount.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/rate.yaml +9 -0
- policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/threshold.yaml +23 -0
- policyengine_us/parameters/gov/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/irs/deductions/qbi/max/reit_ptp_rate.yaml +13 -0
- policyengine_us/parameters/gov/states/az/tax/income/credits/property_tax/income_sources.yaml +17 -9
- policyengine_us/parameters/gov/states/ca/chhs/medi_cal_enrollment_freeze/in_effect.yaml +12 -0
- 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/dhs/aabd/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +3 -5
- policyengine_us/parameters/gov/states/il/dhs/tanf/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +2 -2
- policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
- policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/household_size.yaml +14 -0
- policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/income_limit.yaml +15 -0
- policyengine_us/parameters/gov/states/il/hfs/mpe/eligibility/income_limit.yaml +13 -0
- policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
- policyengine_us/parameters/gov/states/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/nj/tax/income/additions.yaml +12 -0
- policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
- policyengine_us/parameters/gov/states/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/ut/tax/income/credits/at_home_parent/amount.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_agi.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_child_age.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/parent_max_earnings.yaml +6 -2
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/amount.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/child_age_threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/start.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/earned_income/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/military_retirement/rate.yaml +26 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/non_refundable.yaml +5 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/birth_year.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/max.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/threshold.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/in_effect.yaml +2 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/personal_exemption.yaml +5 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/rate.yaml +5 -1
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/threshold.yaml +9 -0
- policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/rate.yaml +4 -0
- policyengine_us/parameters/gov/states/ut/tax/income/rate.yaml +3 -0
- policyengine_us/parameters/gov/states/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 +12 -0
- policyengine_us/reforms/state_dependent_exemptions/repeal_state_dependent_exemptions.py +1 -1
- policyengine_us/reforms/states/de/__init__.py +3 -0
- policyengine_us/reforms/states/de/dependent_credit/de_dependent_credit_reform.py +165 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicaid/medicaid_enrolled.yaml +105 -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/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml +75 -3
- policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +105 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +86 -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 +90 -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/ca/chhs/is_ca_medicaid_immigration_status_eligible.yaml +59 -5
- 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/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +2 -10
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_eligible.yaml +35 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_level.yaml +27 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +116 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/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/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_eligible.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_income_eligible.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/integration.yaml +138 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/eligibility/il_smib_eligible.yaml +88 -0
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/integration.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/ky/tax/income/credits/family_size_tax_credit/ky_family_size_tax_credit_rate.yaml +8 -8
- policyengine_us/tests/policy/baseline/gov/states/ma/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/mt/tax/income/integration.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/eitc/nj_eitc.yaml +8 -3
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +137 -0
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
- policyengine_us/tests/policy/baseline/gov/states/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/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.yaml +89 -0
- policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.yaml +50 -0
- policyengine_us/tests/policy/baseline/gov/states/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/baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.yaml +10 -6
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +1 -1
- policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
- policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
- policyengine_us/tests/policy/contrib/aca/ptc_700_fpl_cliff.yaml +136 -0
- policyengine_us/tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml +25 -1
- policyengine_us/tests/policy/contrib/states/de/dependent_credit_reform_test.yaml +210 -0
- policyengine_us/tests/test_batched.py +39 -68
- policyengine_us/variables/gov/hhs/medicaid/costs/medicaid_group.py +2 -2
- policyengine_us/variables/gov/hhs/medicaid/receives_medicaid.py +17 -0
- policyengine_us/variables/gov/hhs/medicare/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/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py +16 -6
- policyengine_us/variables/gov/simulation/labor_supply_response/labor_supply_behavioral_response.py +57 -42
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +31 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +31 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +44 -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/ca/chhs/is_ca_medicaid_immigration_status_eligible.py +25 -4
- 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_immigration_status_eligible_person.py +1 -1
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.py +23 -5
- policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +1 -1
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
- policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +40 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_income_eligible.py +18 -0
- policyengine_us/variables/gov/states/il/hfs/fpp/il_fpp_income_level.py +29 -0
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +7 -3
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +1 -1
- policyengine_us/variables/gov/states/il/hfs/{hbwd/eligibility/il_hbwd_immigration_status_eligible.py → il_hfs_immigration_status_eligible.py} +5 -8
- policyengine_us/variables/gov/states/il/hfs/mpe/eligibility/il_mpe_income_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/mpe/il_mpe_eligible.py +15 -0
- policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_categorical_eligible.py +26 -0
- policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_eligible.py +28 -0
- policyengine_us/variables/gov/states/il/hfs/smib/il_smib.py +21 -0
- policyengine_us/variables/gov/states/il/hfs/smib/il_smib_person.py +24 -0
- policyengine_us/variables/gov/states/ky/tax/income/credits/family_size_credit/ky_family_size_tax_credit_rate.py +1 -1
- policyengine_us/variables/gov/states/ma/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/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/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
- policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +7 -1
- policyengine_us/variables/gov/states/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/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.py +20 -0
- policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.py +22 -0
- policyengine_us/variables/gov/states/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/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.py +1 -1
- policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
- policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py +1 -1
- policyengine_us/variables/household/income/spm_unit/spm_unit_tenure_type.py +17 -0
- {policyengine_us-1.449.6.dist-info → policyengine_us-1.465.0.dist-info}/METADATA +2 -2
- {policyengine_us-1.449.6.dist-info → policyengine_us-1.465.0.dist-info}/RECORD +289 -114
- policyengine_us/parameters/gov/states/il/dhs/aabd/aged_age_threshold.yaml +0 -11
- policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/qualified_noncitizen_statuses.yaml +0 -21
- 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/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.yaml +0 -47
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_limit.yaml +0 -23
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +0 -57
- 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.449.6.dist-info → policyengine_us-1.465.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.449.6.dist-info → policyengine_us-1.465.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.449.6.dist-info → policyengine_us-1.465.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_mpe_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois Medicaid Presumptive Eligibility eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = "https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.66"
|
|
10
|
+
defined_for = StateCode.IL
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
is_pregnant = person("is_pregnant", period.this_year)
|
|
14
|
+
income_eligible = person("il_mpe_income_eligible", period)
|
|
15
|
+
return is_pregnant & income_eligible
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_categorical_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois SMIB categorical eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
documentation = (
|
|
10
|
+
"Eligible for SMIB based on categorical eligibility: "
|
|
11
|
+
"receiving AABD, TANF, or SSI benefits."
|
|
12
|
+
)
|
|
13
|
+
reference = (
|
|
14
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
15
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
16
|
+
)
|
|
17
|
+
defined_for = StateCode.IL
|
|
18
|
+
|
|
19
|
+
def formula(person, period, parameters):
|
|
20
|
+
# AABD recipient
|
|
21
|
+
is_aabd = person("il_aabd_eligible_person", period)
|
|
22
|
+
# TANF recipient (SPM unit level, check if person is in eligible unit)
|
|
23
|
+
is_tanf = person.spm_unit("il_tanf_eligible", period)
|
|
24
|
+
# SSI recipient
|
|
25
|
+
is_ssi = person("is_ssi_eligible", period)
|
|
26
|
+
return is_aabd | is_tanf | is_ssi
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Illinois SMIB Buy-In Program eligible"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
documentation = (
|
|
10
|
+
"Eligible for Illinois Supplementary Medical Insurance Benefit "
|
|
11
|
+
"(SMIB) Buy-In Program. The program pays Medicare Part B premiums "
|
|
12
|
+
"for eligible individuals receiving AABD, TANF, SSI, or who qualify "
|
|
13
|
+
"as QMB/SLMB/QI under the Medicare Savings Program."
|
|
14
|
+
)
|
|
15
|
+
reference = (
|
|
16
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
17
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
18
|
+
)
|
|
19
|
+
defined_for = StateCode.IL
|
|
20
|
+
|
|
21
|
+
def formula(person, period, parameters):
|
|
22
|
+
# Must be Medicare eligible (or meet other SMIB criteria)
|
|
23
|
+
is_medicare = person("is_medicare_eligible", period.this_year)
|
|
24
|
+
# Check categorical eligibility (AABD, TANF, SSI)
|
|
25
|
+
categorical_eligible = person("il_smib_categorical_eligible", period)
|
|
26
|
+
# Note: QMB/SLMB/QI eligibility will come from MSP when that PR merges
|
|
27
|
+
# For now, categorical eligibility is the primary path
|
|
28
|
+
return is_medicare & categorical_eligible
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Illinois SMIB Buy-In Program benefit"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
documentation = (
|
|
11
|
+
"Illinois Supplementary Medical Insurance Benefit (SMIB) Buy-In "
|
|
12
|
+
"Program. The state pays Medicare Part B premiums for eligible "
|
|
13
|
+
"individuals receiving AABD, TANF, SSI, or who qualify under the "
|
|
14
|
+
"Medicare Savings Program (QMB, SLMB, QI)."
|
|
15
|
+
)
|
|
16
|
+
reference = (
|
|
17
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
18
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
19
|
+
)
|
|
20
|
+
defined_for = StateCode.IL
|
|
21
|
+
adds = ["il_smib_person"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class il_smib_person(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Illinois SMIB benefit (person)"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
documentation = (
|
|
11
|
+
"Illinois Supplementary Medical Insurance Benefit (SMIB) Buy-In "
|
|
12
|
+
"Program benefit. The state pays the Medicare Part B premium for "
|
|
13
|
+
"eligible individuals."
|
|
14
|
+
)
|
|
15
|
+
reference = (
|
|
16
|
+
"https://www.ilga.gov/commission/jcar/admincode/089/089001200D00700R.html",
|
|
17
|
+
"https://www.dhs.state.il.us/page.aspx?item=18685",
|
|
18
|
+
)
|
|
19
|
+
defined_for = "il_smib_eligible"
|
|
20
|
+
|
|
21
|
+
def formula(person, period, parameters):
|
|
22
|
+
# SMIB pays the Part B premium
|
|
23
|
+
# base_part_b_premium is annual, convert to monthly
|
|
24
|
+
return person("base_part_b_premium", period.this_year) / MONTHS_IN_YEAR
|
|
@@ -16,7 +16,7 @@ class ky_family_size_tax_credit_rate(Variable):
|
|
|
16
16
|
income = tax_unit("ky_modified_agi", period)
|
|
17
17
|
fpg = parameters(period).gov.hhs.fpg
|
|
18
18
|
# This will be CONTIGUOUS_US for Kentucky.
|
|
19
|
-
state_group = tax_unit.household("
|
|
19
|
+
state_group = tax_unit.household("state_group_str", period)
|
|
20
20
|
p1 = fpg.first_person[state_group]
|
|
21
21
|
padd = fpg.additional_person[state_group]
|
|
22
22
|
family_size = tax_unit("tax_unit_size", period)
|
|
@@ -11,4 +11,10 @@ class ma_part_c_gross_income(Variable):
|
|
|
11
11
|
defined_for = StateCode.MA
|
|
12
12
|
|
|
13
13
|
def formula(tax_unit, period, parameters):
|
|
14
|
-
|
|
14
|
+
# Long-term capital gains
|
|
15
|
+
ltcg = add(tax_unit, period, ["long_term_capital_gains"])
|
|
16
|
+
# Short-term capital gains (can be negative)
|
|
17
|
+
stcg = add(tax_unit, period, ["short_term_capital_gains"])
|
|
18
|
+
# Per MA Schedule B line 22, short-term losses offset long-term gains
|
|
19
|
+
stcg_losses = min_(0, stcg)
|
|
20
|
+
return max_(0, ltcg + stcg_losses)
|
|
@@ -8,7 +8,7 @@ class me_dependent_exemption_credit_amount_person(Variable):
|
|
|
8
8
|
label = "Maine dependent exemption credit amount for each person"
|
|
9
9
|
reference = "https://www.mainelegislature.org/legis/statutes/36/title36sec5219-SS.html"
|
|
10
10
|
definition_period = YEAR
|
|
11
|
-
defined_for = "
|
|
11
|
+
defined_for = "is_tax_unit_dependent"
|
|
12
12
|
|
|
13
13
|
def formula(person, period, parameters):
|
|
14
14
|
dependent = person("is_tax_unit_dependent", period)
|
|
@@ -8,11 +8,42 @@ class mi_household_resources(Variable):
|
|
|
8
8
|
unit = USD
|
|
9
9
|
definition_period = YEAR
|
|
10
10
|
defined_for = StateCode.MI
|
|
11
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/michigan/2022/chapter-206/"
|
|
13
|
+
"statute-act-281-of-1967/division-281-1967-1/division-281-1967-1-9/"
|
|
14
|
+
"section-206-508/",
|
|
15
|
+
"https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/"
|
|
16
|
+
"Forms/IIT/TY2024/BOOK_MI-1040CR-7.pdf",
|
|
17
|
+
)
|
|
12
18
|
|
|
13
19
|
def formula(tax_unit, period, parameters):
|
|
14
20
|
p = parameters(period).gov.states.mi.tax.income
|
|
15
|
-
|
|
21
|
+
# Per form instructions, only certain income sources must be
|
|
22
|
+
# floored at 0 if negative. Capital gains have special loss limitation.
|
|
23
|
+
income_sources = p.household_resources
|
|
24
|
+
|
|
25
|
+
# Sources that must be floored at 0 per form instructions:
|
|
26
|
+
# "Net business income (including net farm income). If negative, enter 0"
|
|
27
|
+
# "Net royalty or rent income. If negative, enter 0"
|
|
28
|
+
floored_sources = {
|
|
29
|
+
"farm_income",
|
|
30
|
+
"self_employment_income",
|
|
31
|
+
"partnership_s_corp_income",
|
|
32
|
+
"rental_income",
|
|
33
|
+
"farm_rent_income",
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# Iterate through each source, applying flooring only to
|
|
37
|
+
# sources that require it per form instructions
|
|
38
|
+
total = 0
|
|
39
|
+
for source in income_sources:
|
|
40
|
+
if source in floored_sources:
|
|
41
|
+
# Per MI-1040CR instructions: "If negative, enter 0"
|
|
42
|
+
total += max_(add(tax_unit, period, [source]), 0)
|
|
43
|
+
else:
|
|
44
|
+
# Other sources are added as-is without flooring
|
|
45
|
+
total += add(tax_unit, period, [source])
|
|
46
|
+
|
|
16
47
|
health_insurance_premiums = add(
|
|
17
48
|
tax_unit, period, ["health_insurance_premiums"]
|
|
18
49
|
)
|
|
@@ -21,7 +52,5 @@ class mi_household_resources(Variable):
|
|
|
21
52
|
)
|
|
22
53
|
return max_(
|
|
23
54
|
0,
|
|
24
|
-
|
|
25
|
-
- health_insurance_premiums
|
|
26
|
-
- above_the_line_deductions,
|
|
55
|
+
total - health_insurance_premiums - above_the_line_deductions,
|
|
27
56
|
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = (
|
|
8
|
+
"Eligible for Missouri Temporary Assistance for Needy Families (TANF)"
|
|
9
|
+
)
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
reference = (
|
|
12
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
13
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0200-000-00/",
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.MO
|
|
16
|
+
|
|
17
|
+
def formula(spm_unit, period, parameters):
|
|
18
|
+
person = spm_unit.members
|
|
19
|
+
demographic = person("is_person_demographic_tanf_eligible", period)
|
|
20
|
+
has_eligible_member = spm_unit.any(demographic)
|
|
21
|
+
income_eligible = spm_unit("mo_tanf_income_eligible", period)
|
|
22
|
+
resources_eligible = spm_unit("mo_tanf_resources_eligible", period)
|
|
23
|
+
return has_eligible_member & income_eligible & resources_eligible
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_gross_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF gross income eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
11
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-05-185/",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.MO
|
|
14
|
+
|
|
15
|
+
def formula(spm_unit, period, parameters):
|
|
16
|
+
p = parameters(period).gov.states.mo.dss.tanf
|
|
17
|
+
gross_income = add(
|
|
18
|
+
spm_unit,
|
|
19
|
+
period,
|
|
20
|
+
["tanf_gross_earned_income", "tanf_gross_unearned_income"],
|
|
21
|
+
)
|
|
22
|
+
standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
|
|
23
|
+
limit = standard_of_need * p.income_limit.rate
|
|
24
|
+
return gross_income < limit
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF income eligibility (passes all three income tests)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
11
|
+
)
|
|
12
|
+
defined_for = StateCode.MO
|
|
13
|
+
|
|
14
|
+
def formula(spm_unit, period, parameters):
|
|
15
|
+
gross = spm_unit("mo_tanf_gross_income_eligible", period)
|
|
16
|
+
need = spm_unit("mo_tanf_standard_of_need_test", period)
|
|
17
|
+
pct = spm_unit("mo_tanf_percentage_of_need_test", period)
|
|
18
|
+
return gross & need & pct
|
policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_percentage_of_need_test.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_percentage_of_need_test(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF Percentage of Need test eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
11
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.MO
|
|
14
|
+
|
|
15
|
+
def formula(spm_unit, period, parameters):
|
|
16
|
+
p = parameters(period).gov.states.mo.dss.tanf
|
|
17
|
+
standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
|
|
18
|
+
income = spm_unit("mo_tanf_countable_income", period)
|
|
19
|
+
limit = standard_of_need * p.maximum_benefit.percentage
|
|
20
|
+
return income < limit
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_resources_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF resource eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
11
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0200-000-00/",
|
|
12
|
+
)
|
|
13
|
+
defined_for = StateCode.MO
|
|
14
|
+
|
|
15
|
+
def formula(spm_unit, period, parameters):
|
|
16
|
+
p = parameters(period).gov.states.mo.dss.tanf.resource_limit
|
|
17
|
+
resources = spm_unit("spm_unit_cash_assets", period.this_year)
|
|
18
|
+
return resources <= p.amount
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_standard_of_need_test(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF Standard of Need test eligibility"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
reference = (
|
|
10
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
11
|
+
)
|
|
12
|
+
defined_for = StateCode.MO
|
|
13
|
+
|
|
14
|
+
def formula(spm_unit, period, parameters):
|
|
15
|
+
standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
|
|
16
|
+
income = spm_unit("mo_tanf_income_for_need_test", period)
|
|
17
|
+
return income < standard_of_need
|
policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_child_care_deduction(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF child care cost deduction"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-120",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-015-30/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.MO
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.mo.dss.tanf.child_care_deduction
|
|
18
|
+
person = spm_unit.members
|
|
19
|
+
dependent = person("is_tax_unit_dependent", period)
|
|
20
|
+
age = person("age", period.this_year)
|
|
21
|
+
childcare_expenses = spm_unit("childcare_expenses", period)
|
|
22
|
+
max_deduction_per_child = p.amount.calc(age) * dependent
|
|
23
|
+
total_max_deduction = spm_unit.sum(max_deduction_per_child)
|
|
24
|
+
return min_(childcare_expenses, total_max_deduction)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_earned_income_deductions(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = (
|
|
8
|
+
"Missouri TANF earned income deductions for Percentage of Need test"
|
|
9
|
+
)
|
|
10
|
+
unit = USD
|
|
11
|
+
definition_period = MONTH
|
|
12
|
+
reference = (
|
|
13
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
14
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-015-30/",
|
|
15
|
+
)
|
|
16
|
+
defined_for = StateCode.MO
|
|
17
|
+
|
|
18
|
+
def formula(spm_unit, period, parameters):
|
|
19
|
+
# Note: Missouri has time-limited earned income disregards ($30+1/3 for
|
|
20
|
+
# first 4 months, $30-only for next 8 months, 2/3 for up to 12 months).
|
|
21
|
+
# This simplified implementation does not model these month limits.
|
|
22
|
+
p = parameters(period).gov.states.mo.dss.tanf.earned_income_disregard
|
|
23
|
+
gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
|
|
24
|
+
is_enrolled = spm_unit("is_tanf_enrolled", period)
|
|
25
|
+
work_expense = min_(gross_earned, p.amount)
|
|
26
|
+
child_care = spm_unit("mo_tanf_child_care_deduction", period)
|
|
27
|
+
after_work_expense = max_(gross_earned - p.amount, 0)
|
|
28
|
+
two_thirds = after_work_expense * p.two_thirds_disregard.percentage
|
|
29
|
+
thirty_one_third = where(
|
|
30
|
+
gross_earned > 0,
|
|
31
|
+
p.thirty_plus_one_third.flat_amount
|
|
32
|
+
+ after_work_expense * p.thirty_plus_one_third.percentage,
|
|
33
|
+
0,
|
|
34
|
+
)
|
|
35
|
+
earned_disregard = where(is_enrolled, two_thirds, thirty_one_third)
|
|
36
|
+
return work_expense + earned_disregard + child_care
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF countable income after all disregards for Percentage of Need test"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.MO
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
|
|
18
|
+
gross_unearned = add(spm_unit, period, ["tanf_gross_unearned_income"])
|
|
19
|
+
deductions = spm_unit("mo_tanf_earned_income_deductions", period)
|
|
20
|
+
countable_earned = max_(gross_earned - deductions, 0)
|
|
21
|
+
return countable_earned + gross_unearned
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_income_for_need_test(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF income for Standard of Need test"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-10/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.MO
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.mo.dss.tanf.earned_income_disregard
|
|
18
|
+
gross_earned = add(spm_unit, period, ["tanf_gross_earned_income"])
|
|
19
|
+
gross_unearned = add(spm_unit, period, ["tanf_gross_unearned_income"])
|
|
20
|
+
work_expense = min_(gross_earned, p.amount)
|
|
21
|
+
child_care = spm_unit("mo_tanf_child_care_deduction", period)
|
|
22
|
+
countable_earned = max_(gross_earned - work_expense - child_care, 0)
|
|
23
|
+
return countable_earned + gross_unearned
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri Temporary Assistance for Needy Families (TANF)"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = "mo_tanf_eligible"
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
maximum_benefit = spm_unit("mo_tanf_maximum_benefit", period)
|
|
18
|
+
countable_income = spm_unit("mo_tanf_countable_income", period)
|
|
19
|
+
benefit = max_(maximum_benefit - countable_income, 0)
|
|
20
|
+
p = parameters(period).gov.states.mo.dss.tanf
|
|
21
|
+
return where(benefit >= p.minimum_payment, benefit, 0)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_maximum_benefit(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF maximum benefit amount"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-310",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-15/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.MO
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.mo.dss.tanf
|
|
18
|
+
standard_of_need = spm_unit("mo_tanf_standard_of_need", period)
|
|
19
|
+
return standard_of_need * p.maximum_benefit.percentage
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class mo_tanf_standard_of_need(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Missouri TANF Standard of Need amount"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
reference = (
|
|
11
|
+
"https://www.law.cornell.edu/regulations/missouri/13-CSR-40-2-120",
|
|
12
|
+
"https://dssmanuals.mo.gov/temporary-assistance-case-management/0210-010-05-185/",
|
|
13
|
+
)
|
|
14
|
+
defined_for = StateCode.MO
|
|
15
|
+
|
|
16
|
+
def formula(spm_unit, period, parameters):
|
|
17
|
+
p = parameters(period).gov.states.mo.dss.tanf.standard_of_need
|
|
18
|
+
size = spm_unit("spm_unit_size", period)
|
|
19
|
+
table_size = min_(size, p.base_table_max_size)
|
|
20
|
+
base_amount = p.amount[table_size]
|
|
21
|
+
additional_persons = max_(size - p.base_table_max_size, 0)
|
|
22
|
+
additional = additional_persons * p.additional_person_increment
|
|
23
|
+
return base_amount + additional
|
policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_indiv.py
CHANGED
|
@@ -15,6 +15,7 @@ class mt_capital_gains_tax_indiv(Variable):
|
|
|
15
15
|
# the tax for capital gains comes into effect after 2024
|
|
16
16
|
if p.in_effect:
|
|
17
17
|
capital_gains = person("long_term_capital_gains", period)
|
|
18
|
+
# No tax on zero or negative capital gains
|
|
18
19
|
filing_status = person.tax_unit(
|
|
19
20
|
"state_filing_status_if_married_filing_separately_on_same_return",
|
|
20
21
|
period,
|
|
@@ -67,6 +68,7 @@ class mt_capital_gains_tax_indiv(Variable):
|
|
|
67
68
|
capital_gains_above_threshold * higher_rate
|
|
68
69
|
)
|
|
69
70
|
|
|
70
|
-
return lower_capital_gains_tax + higher_capital_gains_tax
|
|
71
|
+
return max_(lower_capital_gains_tax + higher_capital_gains_tax, 0)
|
|
72
|
+
# Only apply tax if capital gains are positive
|
|
71
73
|
|
|
72
74
|
return 0
|
policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_joint.py
CHANGED
|
@@ -20,6 +20,7 @@ class mt_capital_gains_tax_joint(Variable):
|
|
|
20
20
|
taxable_income = person("mt_taxable_income_joint", period)
|
|
21
21
|
# Line 2
|
|
22
22
|
capital_gains = person("long_term_capital_gains", period)
|
|
23
|
+
# No tax on zero or negative capital gains
|
|
23
24
|
# Line 3
|
|
24
25
|
lesser_of_cg_and_taxable_income = min_(
|
|
25
26
|
capital_gains, taxable_income
|
|
@@ -86,6 +87,7 @@ class mt_capital_gains_tax_joint(Variable):
|
|
|
86
87
|
# Line 10
|
|
87
88
|
higher_capital_gains_tax = income_above_threshold * higher_rate
|
|
88
89
|
# Line 11
|
|
89
|
-
return lower_capital_gains_tax + higher_capital_gains_tax
|
|
90
|
+
return max_(lower_capital_gains_tax + higher_capital_gains_tax, 0)
|
|
91
|
+
# Only apply tax if capital gains are positive
|
|
90
92
|
|
|
91
93
|
return 0
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py
CHANGED
|
@@ -18,6 +18,9 @@ class mt_regular_income_tax_indiv(Variable):
|
|
|
18
18
|
)
|
|
19
19
|
if p.capital_gains.in_effect:
|
|
20
20
|
capital_gains = person("long_term_capital_gains", period)
|
|
21
|
+
# Only subtract positive capital gains (they're taxed separately)
|
|
22
|
+
# Negative capital gains should not create phantom taxable income
|
|
23
|
+
capital_gains = max_(capital_gains, 0)
|
|
21
24
|
taxable_income = max_(taxable_income - capital_gains, 0)
|
|
22
25
|
status = filing_status.possible_values
|
|
23
26
|
return select(
|
policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py
CHANGED
|
@@ -17,6 +17,9 @@ class mt_regular_income_tax_joint(Variable):
|
|
|
17
17
|
|
|
18
18
|
if p.capital_gains.in_effect:
|
|
19
19
|
capital_gains = add(tax_unit, period, ["long_term_capital_gains"])
|
|
20
|
+
# Only subtract positive capital gains (they're taxed separately)
|
|
21
|
+
# Negative capital gains should not create phantom taxable income
|
|
22
|
+
capital_gains = max_(capital_gains, 0)
|
|
20
23
|
taxable_income = max_(taxable_income - capital_gains, 0)
|
|
21
24
|
return select(
|
|
22
25
|
[
|
|
@@ -4,9 +4,14 @@ from policyengine_us.model_api import *
|
|
|
4
4
|
class nj_additions(Variable):
|
|
5
5
|
value_type = float
|
|
6
6
|
entity = Person
|
|
7
|
-
label = "New Jersey additions to
|
|
7
|
+
label = "New Jersey additions to gross income"
|
|
8
8
|
unit = USD
|
|
9
|
-
documentation = "Additions to
|
|
9
|
+
documentation = "Additions to New Jersey gross income per NJ Statute 54A:5-1. These are amounts added back to gross income that may have been excluded or deducted for federal purposes."
|
|
10
10
|
definition_period = YEAR
|
|
11
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 28-38
|
|
14
|
+
)
|
|
12
15
|
defined_for = StateCode.NJ
|
|
16
|
+
|
|
17
|
+
adds = "gov.states.nj.tax.income.additions"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class nj_gross_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "New Jersey gross income"
|
|
8
|
+
unit = USD
|
|
9
|
+
documentation = "Gross income calculated from specific income categories per NJ statute, before additions and subtractions. This is built from gross income sources, not federal AGI."
|
|
10
|
+
definition_period = YEAR
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 15-27
|
|
14
|
+
)
|
|
15
|
+
defined_for = StateCode.NJ
|
|
16
|
+
|
|
17
|
+
adds = "gov.states.nj.tax.income.gross_income_sources"
|
|
@@ -4,14 +4,20 @@ from policyengine_us.model_api import *
|
|
|
4
4
|
class nj_total_income(Variable):
|
|
5
5
|
value_type = float
|
|
6
6
|
entity = Person
|
|
7
|
-
label = "New Jersey total income
|
|
7
|
+
label = "New Jersey total income"
|
|
8
8
|
unit = USD
|
|
9
|
+
documentation = "New Jersey total income calculated as gross income plus additions minus subtractions per NJ Statute 54A:5-1. This is the income base before exclusions."
|
|
9
10
|
definition_period = YEAR
|
|
10
|
-
reference =
|
|
11
|
+
reference = (
|
|
12
|
+
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
|
|
13
|
+
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf",
|
|
14
|
+
)
|
|
11
15
|
defined_for = StateCode.NJ
|
|
12
16
|
|
|
13
17
|
def formula(person, period, parameters):
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
# NJ Total Income = Gross Income + Additions - Subtractions
|
|
19
|
+
# Per NJ Statute 54A:5-1 and Form NJ-1040
|
|
20
|
+
gross_income = person("nj_gross_income", period)
|
|
21
|
+
additions = person("nj_additions", period)
|
|
22
|
+
subtractions = person("nj_agi_subtractions", period)
|
|
23
|
+
return max_(0, gross_income + additions - subtractions)
|