policyengine-us 1.439.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.
Files changed (214) hide show
  1. policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
  2. policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
  3. policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
  4. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
  5. policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
  6. policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
  7. policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
  8. policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
  9. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
  10. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
  11. policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
  12. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
  13. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
  14. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
  15. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
  16. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
  17. policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
  18. policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
  19. policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
  20. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
  21. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
  22. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
  23. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
  24. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
  25. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
  26. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
  27. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  28. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
  29. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
  30. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
  31. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
  32. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
  33. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
  34. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
  35. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
  36. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
  37. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  38. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
  39. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
  40. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
  41. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
  42. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
  43. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
  44. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
  45. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
  46. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
  47. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
  48. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
  49. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
  50. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
  51. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
  52. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
  53. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
  54. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
  55. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
  56. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
  57. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
  58. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
  59. policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
  60. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
  61. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
  62. policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
  63. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/{single.yaml → non_joint.yaml} +2 -2
  64. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/{single.yaml → non_joint.yaml} +2 -2
  65. policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
  66. policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
  67. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
  68. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
  69. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
  70. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
  71. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
  72. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/qualified_noncitizen_statuses.yaml +21 -0
  73. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
  74. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
  75. policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
  76. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
  77. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
  78. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
  79. policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
  80. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
  81. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
  82. policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
  83. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
  84. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
  85. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
  86. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
  87. policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
  88. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
  89. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
  90. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
  91. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
  92. policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
  93. policyengine_us/reforms/local/ny/__init__.py +4 -0
  94. policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
  95. policyengine_us/reforms/reforms.py +14 -0
  96. policyengine_us/reforms/states/ut/__init__.py +3 -0
  97. policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
  98. policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
  99. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
  100. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
  101. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
  102. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
  103. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
  104. policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
  105. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
  106. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
  107. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
  108. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
  109. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
  110. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
  111. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
  112. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.yaml +47 -0
  113. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
  114. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
  115. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
  116. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
  117. policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
  118. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
  119. 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
  120. 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
  121. 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
  122. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  123. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
  124. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +82 -0
  125. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
  126. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
  127. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
  128. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
  129. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
  130. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
  131. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
  132. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
  133. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
  134. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
  135. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
  136. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
  137. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
  138. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
  139. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
  140. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +75 -4
  141. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
  142. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
  143. policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
  144. policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
  145. policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
  146. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
  147. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
  148. policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
  149. policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
  150. policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
  151. policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
  152. policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
  153. policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
  154. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
  155. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
  156. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
  157. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
  158. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
  159. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
  160. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
  161. policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
  162. policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
  163. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +1 -1
  164. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +1 -1
  165. policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
  166. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
  167. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
  168. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
  169. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
  170. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
  171. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_immigration_status_eligible.py +26 -0
  172. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
  173. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
  174. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
  175. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
  176. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
  177. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
  178. policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
  179. policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
  180. policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
  181. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
  182. policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
  183. policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
  184. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
  185. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
  186. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
  187. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
  188. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
  189. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
  190. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
  191. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
  192. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
  193. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
  194. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +9 -0
  195. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
  196. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
  197. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +6 -0
  198. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
  199. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
  200. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
  201. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
  202. policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
  203. policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
  204. policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
  205. policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
  206. policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
  207. {policyengine_us-1.439.0.dist-info → policyengine_us-1.449.6.dist-info}/METADATA +1 -1
  208. {policyengine_us-1.439.0.dist-info → policyengine_us-1.449.6.dist-info}/RECORD +213 -90
  209. {policyengine_us-1.439.0.dist-info → policyengine_us-1.449.6.dist-info}/WHEEL +1 -1
  210. policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
  211. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
  212. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
  213. {policyengine_us-1.439.0.dist-info → policyengine_us-1.449.6.dist-info}/entry_points.txt +0 -0
  214. {policyengine_us-1.439.0.dist-info → policyengine_us-1.449.6.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,14 @@
1
+ description: Washington disregards this share of remaining earned income under the Temporary Assistance for Needy Families program.
2
+
3
+ values:
4
+ 2024-01-01: 0.5
5
+
6
+ metadata:
7
+ unit: /1
8
+ period: month
9
+ label: Washington TANF earned income percentage disregard
10
+ reference:
11
+ - title: WAC 388-450-0170(3) - Subtract 50% of remaining earned income
12
+ href: https://app.leg.wa.gov/wac/default.aspx?cite=388-450-0170
13
+ - title: DSHS Eligibility A-Z Manual, Income - Earned Income Deductions
14
+ href: https://www.dshs.wa.gov/esa/income-table-contents/budgeting
@@ -0,0 +1,36 @@
1
+ description: Washington sets these gross earned income limits for the Temporary Assistance for Needy Families program.
2
+ # Note: These values follow the formula: Income Limit = (Payment Standard × 2) + $500
3
+ # This represents the break-even point where countable income equals the payment standard,
4
+ # resulting in $0 benefit. While mathematically derived, WAC 388-478-0035 publishes these
5
+ # as a table rather than a formula, so we preserve the table structure here.
6
+
7
+ metadata:
8
+ unit: currency-USD
9
+ period: month
10
+ label: Washington TANF maximum gross earned income limit
11
+ breakdown:
12
+ - range(1, 11)
13
+ reference:
14
+ - title: WAC 388-478-0035 - Maximum earned income limits for TANF, SFA, PWA, and RCA
15
+ href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0035
16
+
17
+ 1:
18
+ 2024-01-01: 1_400
19
+ 2:
20
+ 2024-01-01: 1_640
21
+ 3:
22
+ 2024-01-01: 1_912
23
+ 4:
24
+ 2024-01-01: 2_166
25
+ 5:
26
+ 2024-01-01: 2_418
27
+ 6:
28
+ 2024-01-01: 2_680
29
+ 7:
30
+ 2024-01-01: 3_016
31
+ 8:
32
+ 2024-01-01: 3_284
33
+ 9:
34
+ 2024-01-01: 3_558
35
+ 10:
36
+ 2024-01-01: 3_824
@@ -0,0 +1,14 @@
1
+ description: Washington defines payment standards and income limits for family sizes up to this maximum under the Temporary Assistance for Needy Families program.
2
+
3
+ values:
4
+ 2024-01-01: 10
5
+
6
+ metadata:
7
+ unit: person
8
+ period: year
9
+ label: Washington TANF maximum family size
10
+ reference:
11
+ - title: WAC 388-478-0020 - Payment standards for TANF, SFA, and RCA
12
+ href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020
13
+ - title: WAC 388-478-0035 - Maximum earned income limits for TANF, SFA, PWA, and RCA
14
+ href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0035
@@ -0,0 +1,32 @@
1
+ description: Washington provides this payment standard based on assistance unit size under the Temporary Assistance for Needy Families program.
2
+
3
+ metadata:
4
+ unit: currency-USD
5
+ period: month
6
+ label: Washington TANF payment standard
7
+ breakdown:
8
+ - range(1, 11)
9
+ reference:
10
+ - title: WAC 388-478-0020 - Payment standards for TANF, SFA, and RCA
11
+ href: https://app.leg.wa.gov/wac/default.aspx?cite=388-478-0020
12
+
13
+ 1:
14
+ 2024-01-01: 450
15
+ 2:
16
+ 2024-01-01: 570
17
+ 3:
18
+ 2024-01-01: 706
19
+ 4:
20
+ 2024-01-01: 833
21
+ 5:
22
+ 2024-01-01: 959
23
+ 6:
24
+ 2024-01-01: 1_090
25
+ 7:
26
+ 2024-01-01: 1_258
27
+ 8:
28
+ 2024-01-01: 1_392
29
+ 9:
30
+ 2024-01-01: 1_529
31
+ 10:
32
+ 2024-01-01: 1_662
@@ -0,0 +1,12 @@
1
+ description: Washington limits the grant payment to this amount under the Temporary Assistance for Needy Families program.
2
+
3
+ values:
4
+ 2024-01-01: 1_338
5
+
6
+ metadata:
7
+ unit: currency-USD
8
+ period: month
9
+ label: Washington TANF maximum grant cap
10
+ reference:
11
+ - title: DSHS Eligibility A-Z Manual, Income - Effect of Income and Deductions on Eligibility
12
+ href: https://www.dshs.wa.gov/esa/income-table-contents/income-effect-income-and-deductions-eligibility-and-benefit-level
@@ -0,0 +1,15 @@
1
+ description: Washington limits the Temporary Assistance for Needy Families program to households with countable resources up to this amount.
2
+
3
+ values:
4
+ 2022-01-01: 6_000
5
+ 2024-01-01: 12_000
6
+
7
+ metadata:
8
+ unit: currency-USD
9
+ period: year
10
+ label: Washington TANF resource limit
11
+ reference:
12
+ - title: Washington TANF State Plan 2022, page 13 - $6,000 cash resource limit
13
+ href: https://workfirst.wa.gov/sites/default/files/public/TANF_stateplan_2022_final.pdf#page=13
14
+ - title: HB 1447 (2023 c 418) - Increased asset limit to $12,000 effective Feb 1, 2024
15
+ href: https://app.leg.wa.gov/billsummary?BillNumber=1447&Year=2023
@@ -0,0 +1,12 @@
1
+ description: Puerto Rico provides the following basis amount for the gradual adjustment limit.
2
+ values:
3
+ 2024-01-01: 8_895
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Puerto Rico gradual adjustment limit basis
8
+ reference:
9
+ - title: Gov. of Puerto Rico Form 482.0 2024
10
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=52
11
+ - title: P.R. Laws tit. 13, § 30061 (b)(5)(e)
12
+ href: https://bvirtualogp.pr.gov/ogp/Bvirtual/leyesreferencia/PDF/2-ingles/1-2011.pdf#page=32
@@ -0,0 +1,13 @@
1
+ description: Puerto Rico provides the following rate to reduce the total exemptions when calculating the gradual adjustment limit.
2
+ values:
3
+ 2024-01-01: 0.33
4
+ metadata:
5
+ unit: /1
6
+ period: year
7
+ label: Puerto Rico gradual adjustment rate for exemptions
8
+ # discrepancy between legal form and tax form for the exemptions rate
9
+ reference:
10
+ - title: Gov. of Puerto Rico Form 482.0 2024
11
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=52
12
+ - title: P.R. Laws tit. 13, § 30061 (b)(5)(c)
13
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/
@@ -0,0 +1,12 @@
1
+ description: Puerto Rico provides the following rate to reduce the taxable net income when calculating gradual adjustment.
2
+ values:
3
+ 2024-01-01: 0.05
4
+ metadata:
5
+ unit: /1
6
+ period: year
7
+ label: Puerto Rico gradual adjustment rate for taxable net income
8
+ reference:
9
+ - title: Gov. of Puerto Rico Form 482.0 2024
10
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=52
11
+ - title: P.R. Laws tit. 13, § 30061 (b)(1)-(4)
12
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/
@@ -0,0 +1,13 @@
1
+ description: Puerto Rico provides the following income amount as a threshold for the gradual adjustment amount.
2
+ values:
3
+ 2024-01-01: 500_000
4
+ metadata:
5
+ unit: currency-USD
6
+ period: year
7
+ label: Puerto Rico gradual adjustment amount income threshold
8
+ # discrepancy between legal form and tax form for the income threshold
9
+ reference:
10
+ - title: Gov. of Puerto Rico Form 482.0 2024
11
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=52
12
+ - title: P.R. Laws tit. 13, § 30061 (b)(4))
13
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/
@@ -0,0 +1,21 @@
1
+ description: Puerto Rico taxes this percentage of total normal taxes, based on gross income.
2
+ brackets:
3
+ - threshold:
4
+ 2024-01-01: 0
5
+ amount:
6
+ 2024-01-01: 0.92
7
+ - threshold:
8
+ 2024-01-01: 100_001
9
+ amount:
10
+ 2024-01-01: 0.95
11
+ metadata:
12
+ amount_unit: /1
13
+ threshold_unit: currency-USD
14
+ type: single_amount
15
+ label: Puerto Rico regular tax percentage
16
+ period: year
17
+ reference:
18
+ - title: Gov. of Puerto Rico Form 482.0 2024
19
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3
20
+ - title: P.R. Laws tit. 13, § 30061 (c)
21
+ href: https://bvirtualogp.pr.gov/ogp/Bvirtual/leyesreferencia/PDF/2-ingles/1-2011.pdf#page=33
@@ -0,0 +1,18 @@
1
+ description: Puerto Rico deductions from taxable income.
2
+ values:
3
+ 2023-01-01:
4
+ - pr_casualty_loss_deduction
5
+ - pr_charitable_deduction
6
+ - pr_medical_expense_deduction
7
+ - pr_mortgage_deduction
8
+ - pr_education_deduction
9
+ - pr_retirement_deduction
10
+ metadata:
11
+ unit: list
12
+ period: year
13
+ label: Puerto Rico income deductions
14
+ reference:
15
+ - title: P.R. Laws tit. 13, § 30135
16
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30135/
17
+ - title: Gov. of Puerto Rico Individual Income Tax Return Form 482.0 4
18
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=4
@@ -0,0 +1,15 @@
1
+ description: Puerto Rico exemptions from taxable income.
2
+ values:
3
+ 2023-01-01:
4
+ - pr_personal_exemption
5
+ - pr_veteran_exemption
6
+ - pr_dependents_exemption
7
+ metadata:
8
+ unit: list
9
+ period: year
10
+ label: Puerto Rico income exemptions
11
+ reference:
12
+ - title: P.R. Laws tit. 13, § 30138 (a)(1)-(2)
13
+ href: https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1005/subchapter-c/30138/
14
+ - title: Gov. of Puerto Rico Form 482.0 2024
15
+ href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=2
@@ -0,0 +1,12 @@
1
+ description: The Department of Agriculture provides the Supplemental Nutrition Assistance Program to students if they are single parents caring for a child below this age.
2
+
3
+ values:
4
+ 2005-01-01: 12
5
+
6
+ metadata:
7
+ unit: year
8
+ period: year
9
+ label: SNAP student single parent child age threshold
10
+ reference:
11
+ - title: 7 U.S. Code § 2015 - Eligibility disqualifications (e)(8)
12
+ href: https://www.law.cornell.edu/uscode/text/7/2015#e
@@ -0,0 +1,12 @@
1
+ description: The Department of Agriculture provides the Supplemental Nutrition Assistance Program to students if they are parents in two-parent households caring for a child below this age.
2
+
3
+ values:
4
+ 2005-01-01: 6
5
+
6
+ metadata:
7
+ unit: year
8
+ period: year
9
+ label: SNAP student two-parent household child age threshold
10
+ reference:
11
+ - title: 7 U.S. Code § 2015 - Eligibility disqualifications (e)(5)(A)
12
+ href: https://www.law.cornell.edu/uscode/text/7/2015#e
@@ -6,5 +6,4 @@ values:
6
6
  - spm_unit_wic
7
7
  metadata:
8
8
  unit: list
9
- name: disabled_programs
10
9
  label: Disabled programs
@@ -0,0 +1,4 @@
1
+ from .mamdani_income_tax import (
2
+ create_nyc_mamdani_income_tax_reform,
3
+ nyc_mamdani_income_tax,
4
+ )
@@ -0,0 +1,84 @@
1
+ from policyengine_us.model_api import *
2
+ from policyengine_core.periods import period as period_
3
+
4
+
5
+ def create_nyc_mamdani_income_tax() -> Reform:
6
+ class nyc_mamdani_income_tax(Variable):
7
+ value_type = float
8
+ entity = Person
9
+ label = "Zohran Mamdani NYC income tax"
10
+ unit = USD
11
+ definition_period = YEAR
12
+ defined_for = "in_nyc"
13
+
14
+ def formula(person, period, parameters):
15
+ taxable_income = person.tax_unit("nyc_taxable_income", period)
16
+ p = parameters(period).gov.local.ny.mamdani_income_tax
17
+ return p.rate.calc(taxable_income)
18
+
19
+ class nyc_income_tax_before_credits(Variable):
20
+ value_type = float
21
+ entity = TaxUnit
22
+ label = "NYC income tax before credits"
23
+ unit = USD
24
+ definition_period = YEAR
25
+ defined_for = "in_nyc"
26
+
27
+ def formula(tax_unit, period, parameters):
28
+ taxable_income = tax_unit("nyc_taxable_income", period)
29
+ filing_status = tax_unit("filing_status", period)
30
+ filing_statuses = filing_status.possible_values
31
+ p = parameters(period).gov.local.ny.nyc.tax.income.rates
32
+ regular_tax = select(
33
+ [
34
+ filing_status == filing_statuses.SINGLE,
35
+ filing_status == filing_statuses.JOINT,
36
+ filing_status == filing_statuses.HEAD_OF_HOUSEHOLD,
37
+ filing_status == filing_statuses.SURVIVING_SPOUSE,
38
+ filing_status == filing_statuses.SEPARATE,
39
+ ],
40
+ [
41
+ p.single.calc(taxable_income),
42
+ p.joint.calc(taxable_income),
43
+ p.head_of_household.calc(taxable_income),
44
+ p.surviving_spouse.calc(taxable_income),
45
+ p.separate.calc(taxable_income),
46
+ ],
47
+ )
48
+ mamdani_tax = add(tax_unit, period, ["nyc_mamdani_income_tax"])
49
+ return regular_tax + mamdani_tax
50
+
51
+ class reform(Reform):
52
+ def apply(self):
53
+ self.update_variable(nyc_mamdani_income_tax)
54
+ self.update_variable(nyc_income_tax_before_credits)
55
+
56
+ return reform
57
+
58
+
59
+ def create_nyc_mamdani_income_tax_reform(
60
+ parameters, period, bypass: bool = False
61
+ ):
62
+ if bypass:
63
+ return create_nyc_mamdani_income_tax()
64
+
65
+ p = parameters.gov.local.ny.mamdani_income_tax
66
+
67
+ reform_active = False
68
+ current_period = period_(period)
69
+
70
+ for i in range(5):
71
+ if p(current_period).in_effect:
72
+ reform_active = True
73
+ break
74
+ current_period = current_period.offset(1, "year")
75
+
76
+ if reform_active:
77
+ return create_nyc_mamdani_income_tax()
78
+ else:
79
+ return None
80
+
81
+
82
+ nyc_mamdani_income_tax = create_nyc_mamdani_income_tax_reform(
83
+ None, None, bypass=True
84
+ )
@@ -101,6 +101,12 @@ from .reconciliation import (
101
101
  from .states.mi.surtax import (
102
102
  create_mi_surtax_reform,
103
103
  )
104
+ from .local.ny.mamdani_income_tax import (
105
+ create_nyc_mamdani_income_tax_reform,
106
+ )
107
+ from .states.ut import (
108
+ create_ut_refundable_eitc_reform,
109
+ )
104
110
  from .additional_tax_bracket import (
105
111
  create_additional_tax_bracket_reform,
106
112
  )
@@ -250,6 +256,12 @@ def create_structural_reforms_from_parameters(parameters, period):
250
256
  )
251
257
  mi_surtax = create_mi_surtax_reform(parameters, period)
252
258
 
259
+ nyc_mamdani_income_tax = create_nyc_mamdani_income_tax_reform(
260
+ parameters, period
261
+ )
262
+
263
+ ut_refundable_eitc = create_ut_refundable_eitc_reform(parameters, period)
264
+
253
265
  american_worker_rebate_act = create_american_worker_rebate_act_reform(
254
266
  parameters, period
255
267
  )
@@ -316,6 +328,8 @@ def create_structural_reforms_from_parameters(parameters, period):
316
328
  reconciled_ssn_for_llc_and_aoc,
317
329
  ctc_additional_bracket,
318
330
  mi_surtax,
331
+ nyc_mamdani_income_tax,
332
+ ut_refundable_eitc,
319
333
  additional_tax_bracket,
320
334
  american_worker_rebate_act,
321
335
  ctc_per_child_phase_out,
@@ -0,0 +1,3 @@
1
+ from .ut_refundable_eitc import (
2
+ create_ut_refundable_eitc_reform,
3
+ )
@@ -0,0 +1,118 @@
1
+ from policyengine_us.model_api import *
2
+ from policyengine_core.periods import period as period_
3
+
4
+
5
+ def create_ut_refundable_eitc() -> Reform:
6
+ class ut_has_qualifying_child_for_refundable_eitc(Variable):
7
+ value_type = bool
8
+ entity = TaxUnit
9
+ label = "Utah tax unit has qualifying child for refundable EITC"
10
+ defined_for = StateCode.UT
11
+ definition_period = YEAR
12
+
13
+ def formula(tax_unit, period, parameters):
14
+ person = tax_unit.members
15
+ p = parameters(period).gov.contrib.states.ut.eitc
16
+ age = person("age", period)
17
+ is_dependent = person("is_tax_unit_dependent", period)
18
+ is_qualifying_child = (age <= p.max_age) & is_dependent
19
+ return tax_unit.any(is_qualifying_child)
20
+
21
+ class ut_refundable_eitc(Variable):
22
+ value_type = float
23
+ entity = TaxUnit
24
+ label = "Utah refundable EITC"
25
+ unit = USD
26
+ definition_period = YEAR
27
+ defined_for = "ut_has_qualifying_child_for_refundable_eitc"
28
+
29
+ adds = ["ut_eitc"]
30
+
31
+ class ut_eitc(Variable):
32
+ value_type = float
33
+ entity = TaxUnit
34
+ label = "Utah Earned Income Tax Credit"
35
+ unit = USD
36
+ documentation = "This credit is a fraction of the federal EITC."
37
+ definition_period = YEAR
38
+ defined_for = StateCode.UT
39
+ reference = "https://le.utah.gov/xcode/Title59/Chapter10/59-10-S1044.html?v=C59-10-S1044_2022050420220504"
40
+
41
+ def formula(tax_unit, period, parameters):
42
+ p = parameters(
43
+ period
44
+ ).gov.states.ut.tax.income.credits.earned_income
45
+ federal_eitc = tax_unit("eitc", period)
46
+ return p.rate * federal_eitc
47
+
48
+ class ut_non_refundable_eitc(Variable):
49
+ value_type = float
50
+ entity = TaxUnit
51
+ label = "Utah non-refundable EITC"
52
+ unit = USD
53
+ definition_period = YEAR
54
+ defined_for = StateCode.UT
55
+
56
+ adds = ["ut_eitc"]
57
+ subtracts = ["ut_refundable_eitc"]
58
+
59
+ class ut_non_refundable_credits(Variable):
60
+ value_type = float
61
+ entity = TaxUnit
62
+ label = "Utah non-refundable tax credits"
63
+ unit = USD
64
+ definition_period = YEAR
65
+ defined_for = StateCode.UT
66
+
67
+ adds = [
68
+ "ut_non_refundable_eitc",
69
+ "ut_retirement_credit",
70
+ "ut_ss_benefits_credit",
71
+ "ut_at_home_parent_credit",
72
+ "ut_ctc",
73
+ ]
74
+
75
+ class ut_refundable_credits(Variable):
76
+ value_type = float
77
+ entity = TaxUnit
78
+ label = "Utah refundable credits"
79
+ unit = USD
80
+ definition_period = YEAR
81
+ defined_for = StateCode.UT
82
+
83
+ adds = ["ut_refundable_eitc"]
84
+
85
+ class reform(Reform):
86
+ def apply(self):
87
+ self.update_variable(ut_has_qualifying_child_for_refundable_eitc)
88
+ self.update_variable(ut_refundable_eitc)
89
+ self.update_variable(ut_non_refundable_eitc)
90
+ self.update_variable(ut_eitc)
91
+ self.update_variable(ut_non_refundable_credits)
92
+ self.update_variable(ut_refundable_credits)
93
+
94
+ return reform
95
+
96
+
97
+ def create_ut_refundable_eitc_reform(parameters, period, bypass: bool = False):
98
+ if bypass:
99
+ return create_ut_refundable_eitc()
100
+
101
+ p = parameters.gov.contrib.states.ut.eitc
102
+
103
+ reform_active = False
104
+ current_period = period_(period)
105
+
106
+ for i in range(5):
107
+ if p(current_period).in_effect:
108
+ reform_active = True
109
+ break
110
+ current_period = current_period.offset(1, "year")
111
+
112
+ if reform_active:
113
+ return create_ut_refundable_eitc()
114
+ else:
115
+ return None
116
+
117
+
118
+ ut_refundable_eitc = create_ut_refundable_eitc_reform(None, None, bypass=True)
@@ -0,0 +1,65 @@
1
+ - name: unit test 1 - enrolled, premium-free Part A
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ medicare_enrolled: true
7
+ medicare_quarters_of_coverage: 40
8
+ adjusted_gross_income:
9
+ 2023: 50_000 # IRMAA uses income from 2 years prior
10
+ tax_exempt_interest_income:
11
+ 2023: 0
12
+ output:
13
+ medicare_cost: 12_280 # $14,500 spending - $2,220 Part B premium (2025)
14
+
15
+ - name: unit test 2 - enrolled, pays full Part A premium
16
+ period: 2025
17
+ input:
18
+ age: 65
19
+ is_medicare_eligible: true
20
+ medicare_enrolled: true
21
+ medicare_quarters_of_coverage: 20
22
+ adjusted_gross_income:
23
+ 2023: 50_000 # IRMAA uses income from 2 years prior
24
+ tax_exempt_interest_income:
25
+ 2023: 0
26
+ output:
27
+ medicare_cost: 6_064 # $14,500 - $6,216 Part A - $2,220 Part B (2025)
28
+
29
+ - name: unit test 3 - enrolled with IRMAA
30
+ period: 2025
31
+ input:
32
+ age: 65
33
+ is_medicare_eligible: true
34
+ medicare_enrolled: true
35
+ medicare_quarters_of_coverage: 40
36
+ adjusted_gross_income:
37
+ 2023: 500_000 # IRMAA uses income from 2 years prior
38
+ tax_exempt_interest_income:
39
+ 2023: 0
40
+ filing_status: SINGLE
41
+ output:
42
+ medicare_cost: 6_953.2 # $14,500 - $7,546.80 Part B with IRMAA (2025)
43
+
44
+ - name: unit test 4 - eligible but not enrolled
45
+ period: 2025
46
+ input:
47
+ age: 65
48
+ is_medicare_eligible: true
49
+ medicare_enrolled: false
50
+ output:
51
+ medicare_cost: 0
52
+
53
+ - name: unit test 5 - 2021 data, premium-free
54
+ period: 2021
55
+ input:
56
+ age: 70
57
+ is_medicare_eligible: true
58
+ medicare_enrolled: true
59
+ medicare_quarters_of_coverage: 40
60
+ adjusted_gross_income:
61
+ 2019: 50_000 # IRMAA uses income from 2 years prior
62
+ tax_exempt_interest_income:
63
+ 2019: 0
64
+ output:
65
+ medicare_cost: 9_298 # $11,080 - $1,782 Part B (2021: $148.50*12)
@@ -0,0 +1,35 @@
1
+ - name: unit test 1 - premium-free Part A (40+ quarters)
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ medicare_quarters_of_coverage: 40
7
+ output:
8
+ base_part_a_premium: 0 # Premium-free with 40+ quarters
9
+
10
+ - name: unit test 2 - reduced premium (30-39 quarters)
11
+ period: 2025
12
+ input:
13
+ age: 65
14
+ is_medicare_eligible: true
15
+ medicare_quarters_of_coverage: 35
16
+ output:
17
+ base_part_a_premium: 3_420 # $285 * 12 months
18
+
19
+ - name: unit test 3 - full premium (<30 quarters)
20
+ period: 2025
21
+ input:
22
+ age: 65
23
+ is_medicare_eligible: true
24
+ medicare_quarters_of_coverage: 20
25
+ output:
26
+ base_part_a_premium: 6_216 # $518 * 12 months
27
+
28
+ - name: unit test 4 - not Medicare eligible
29
+ period: 2025
30
+ input:
31
+ age: 65
32
+ is_medicare_eligible: false
33
+ medicare_quarters_of_coverage: 40
34
+ output:
35
+ base_part_a_premium: 0
@@ -0,0 +1,15 @@
1
+ - name: unit test 1 - eligible
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ output:
7
+ base_part_b_premium: 2_220 # $185 * 12 months
8
+
9
+ - name: unit test 2 - not eligible
10
+ period: 2025
11
+ input:
12
+ age: 65
13
+ is_medicare_eligible: false
14
+ output:
15
+ base_part_b_premium: 0