policyengine-us 1.439.0__py3-none-any.whl → 1.458.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.
Files changed (314) hide show
  1. policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
  2. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/in_effect.yaml +9 -0
  3. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/age_limit/threshold.yaml +9 -0
  4. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/amount.yaml +9 -0
  5. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/in_effect.yaml +9 -0
  6. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/rate.yaml +9 -0
  7. policyengine_us/parameters/gov/contrib/states/de/dependent_credit/phaseout/threshold.yaml +23 -0
  8. policyengine_us/parameters/gov/contrib/states/ut/eitc/in_effect.yaml +9 -0
  9. policyengine_us/parameters/gov/contrib/states/ut/eitc/max_age.yaml +9 -0
  10. policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/medically_needy/categories/child/child.yaml +0 -1
  11. policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
  12. policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
  13. policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
  14. policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
  15. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
  16. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
  17. policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
  18. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
  19. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
  20. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
  21. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
  22. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
  23. policyengine_us/parameters/gov/irs/credits/cdcc/eligibility/child_age.yaml +0 -1
  24. policyengine_us/parameters/gov/irs/credits/clean_vehicle/new/eligibility/min_kwh.yaml +0 -1
  25. policyengine_us/parameters/gov/irs/credits/clean_vehicle/used/eligibility/sale_price_limit.yaml +0 -1
  26. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/abolition.yaml +0 -1
  27. policyengine_us/parameters/gov/irs/credits/education/american_opportunity_credit/refundability.yaml +0 -1
  28. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/abolition.yaml +0 -1
  29. policyengine_us/parameters/gov/irs/credits/education/lifetime_learning_credit/expense_limit.yaml +0 -1
  30. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/advanced_main_air_circulating_fan.yaml +0 -1
  31. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/door.yaml +0 -1
  32. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/energy_efficient_central_air_conditioner.yaml +0 -1
  33. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  34. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/home_energy_audit.yaml +0 -1
  35. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/qualified_furnace_or_hot_water_boiler.yaml +0 -1
  36. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/roof.yaml +0 -1
  37. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/total.yaml +0 -1
  38. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/annual/window.yaml +0 -1
  39. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/total.yaml +0 -1
  40. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/cap/lifetime/window.yaml +0 -1
  41. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/in_effect.yaml +0 -1
  42. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/credits.yaml +0 -1
  43. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/qualified_expenditures/heat_pump_heat_pump_water_heater_biomass_stove_boiler.yaml +0 -1
  44. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/home_energy_audit.yaml +0 -1
  45. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/improvements.yaml +0 -1
  46. policyengine_us/parameters/gov/irs/credits/energy_efficient_home_improvement/rates/property.yaml +0 -1
  47. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/ending_rate.yaml +0 -1
  48. policyengine_us/parameters/gov/irs/credits/premium_tax_credit/phase_out/starting_rate.yaml +0 -1
  49. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/adult.yaml +0 -1
  50. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/max/dependent.yaml +0 -1
  51. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/length.yaml +0 -1
  52. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/arpa/phase_out/threshold.yaml +0 -1
  53. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/adult.yaml +0 -1
  54. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/max/child.yaml +0 -1
  55. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/rate.yaml +0 -1
  56. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/caa/phase_out/threshold.yaml +0 -1
  57. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/adult.yaml +0 -1
  58. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/max/child.yaml +0 -1
  59. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/rate.yaml +0 -1
  60. policyengine_us/parameters/gov/irs/credits/recovery_rebate_credit/cares/phase_out/threshold.yaml +0 -1
  61. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/applicable_percentage.yaml +0 -1
  62. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/elements.yaml +0 -1
  63. policyengine_us/parameters/gov/irs/credits/residential_clean_energy/fuel_cell_cap_per_kw.yaml +0 -1
  64. policyengine_us/parameters/gov/irs/deductions/qbi/max/reit_ptp_rate.yaml +13 -0
  65. policyengine_us/parameters/gov/irs/deductions/standard/aged_or_blind/age_threshold.yaml +0 -1
  66. policyengine_us/parameters/gov/irs/payroll/medicare/additional/exclusion.yaml +0 -1
  67. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
  68. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
  69. policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
  70. policyengine_us/parameters/gov/states/ca/chhs/medi_cal_enrollment_freeze/in_effect.yaml +12 -0
  71. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/amount/{single.yaml → non_joint.yaml} +2 -2
  72. policyengine_us/parameters/gov/states/co/tax/income/credits/care_worker/income_limit/{single.yaml → non_joint.yaml} +2 -2
  73. policyengine_us/parameters/gov/states/il/dhs/aabd/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +3 -5
  74. policyengine_us/parameters/gov/states/il/dhs/tanf/{qualified_noncitizen_status.yaml → qualified_noncitizen_statuses.yaml} +2 -2
  75. policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
  76. policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
  77. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/household_size.yaml +14 -0
  78. policyengine_us/parameters/gov/states/il/hfs/fpp/eligibility/income_limit.yaml +15 -0
  79. policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
  80. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
  81. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
  82. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
  83. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
  84. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
  85. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
  86. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
  87. policyengine_us/parameters/gov/states/il/hfs/mpe/eligibility/income_limit.yaml +13 -0
  88. policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
  89. policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
  90. policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml +12 -0
  91. policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
  92. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/amount.yaml +4 -0
  93. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_agi.yaml +6 -2
  94. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/max_child_age.yaml +6 -2
  95. policyengine_us/parameters/gov/states/ut/tax/income/credits/at_home_parent/parent_max_earnings.yaml +6 -2
  96. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/amount.yaml +4 -0
  97. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/child_age_threshold.yaml +4 -0
  98. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/rate.yaml +4 -0
  99. policyengine_us/parameters/gov/states/ut/tax/income/credits/ctc/reduction/start.yaml +4 -0
  100. policyengine_us/parameters/gov/states/ut/tax/income/credits/earned_income/rate.yaml +4 -0
  101. policyengine_us/parameters/gov/states/ut/tax/income/credits/military_retirement/rate.yaml +26 -0
  102. policyengine_us/parameters/gov/states/ut/tax/income/credits/non_refundable.yaml +5 -0
  103. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/birth_year.yaml +4 -0
  104. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/max.yaml +4 -0
  105. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/rate.yaml +4 -0
  106. policyengine_us/parameters/gov/states/ut/tax/income/credits/retirement/phase_out/threshold.yaml +4 -0
  107. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/rate.yaml +4 -0
  108. policyengine_us/parameters/gov/states/ut/tax/income/credits/ss_benefits/phase_out/threshold.yaml +4 -0
  109. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/in_effect.yaml +2 -0
  110. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/personal_exemption.yaml +5 -0
  111. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/rate.yaml +5 -1
  112. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/phase_out/threshold.yaml +9 -0
  113. policyengine_us/parameters/gov/states/ut/tax/income/credits/taxpayer/rate.yaml +4 -0
  114. policyengine_us/parameters/gov/states/ut/tax/income/rate.yaml +3 -0
  115. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
  116. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
  117. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
  118. policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
  119. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
  120. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
  121. policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
  122. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
  123. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
  124. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
  125. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
  126. policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
  127. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
  128. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
  129. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/single_parent.yaml +12 -0
  130. policyengine_us/parameters/gov/usda/snap/student/child_age_limit/two_parent.yaml +12 -0
  131. policyengine_us/parameters/simulation/disabled_programs.yaml +0 -1
  132. policyengine_us/reforms/local/ny/__init__.py +4 -0
  133. policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
  134. policyengine_us/reforms/reforms.py +21 -0
  135. policyengine_us/reforms/state_dependent_exemptions/repeal_state_dependent_exemptions.py +1 -1
  136. policyengine_us/reforms/states/de/__init__.py +3 -0
  137. policyengine_us/reforms/states/de/dependent_credit/de_dependent_credit_reform.py +165 -0
  138. policyengine_us/reforms/states/ut/__init__.py +3 -0
  139. policyengine_us/reforms/states/ut/ut_refundable_eitc.py +118 -0
  140. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/medicaid_enrolled.yaml +105 -0
  141. policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
  142. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
  143. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
  144. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
  145. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qbid_amount.yaml +75 -3
  146. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.yaml +68 -0
  147. policyengine_us/tests/policy/baseline/gov/irs/tax/federal_income/alternative_minimum_tax/integration.yaml +26 -0
  148. policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
  149. policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
  150. policyengine_us/tests/policy/baseline/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.yaml +59 -5
  151. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
  152. policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +2 -10
  153. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
  154. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
  155. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
  156. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_eligible.yaml +35 -0
  157. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/il_fpp_income_level.yaml +27 -0
  158. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +116 -0
  159. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
  160. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
  161. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
  162. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
  163. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
  164. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
  165. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
  166. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
  167. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
  168. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
  169. policyengine_us/tests/policy/baseline/gov/states/il/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
  170. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_eligible.yaml +39 -0
  171. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/il_mpe_income_eligible.yaml +23 -0
  172. policyengine_us/tests/policy/baseline/gov/states/il/hfs/mpe/integration.yaml +138 -0
  173. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/eligibility/il_smib_eligible.yaml +88 -0
  174. policyengine_us/tests/policy/baseline/gov/states/il/hfs/smib/integration.yaml +73 -0
  175. policyengine_us/tests/policy/baseline/gov/states/ky/tax/income/credits/family_size_tax_credit/ky_family_size_tax_credit_rate.yaml +8 -8
  176. policyengine_us/tests/policy/baseline/gov/states/ma/dta/ssp/ma_state_supplement.yaml +2 -0
  177. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
  178. 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
  179. 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
  180. 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
  181. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  182. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/eitc/nj_eitc.yaml +8 -3
  183. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +137 -0
  184. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
  185. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
  186. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +82 -0
  187. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
  188. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.yaml +89 -0
  189. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.yaml +50 -0
  190. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
  191. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
  192. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
  193. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
  194. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
  195. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
  196. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
  197. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
  198. policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.yaml +10 -6
  199. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
  200. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
  201. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
  202. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
  203. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
  204. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
  205. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.yaml +23 -0
  206. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml +75 -4
  207. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_parent_exception.yaml +345 -0
  208. policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/meets_snap_work_exception.yaml +47 -0
  209. policyengine_us/tests/policy/baseline/gov/usda/snap/income/federal_work_study_income_exclusion.yaml +24 -0
  210. policyengine_us/tests/policy/baseline/gov/usda/snap/income/snap_countable_earner.yaml +25 -0
  211. policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
  212. policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
  213. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
  214. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
  215. policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
  216. policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
  217. policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
  218. policyengine_us/tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml +25 -1
  219. policyengine_us/tests/policy/contrib/states/de/dependent_credit_reform_test.yaml +210 -0
  220. policyengine_us/tests/policy/contrib/states/ut/ut_refundable_eitc.yaml +214 -0
  221. policyengine_us/variables/gov/ed/is_federal_work_study_participant.py +9 -0
  222. policyengine_us/variables/gov/hhs/medicaid/costs/medicaid_group.py +2 -2
  223. policyengine_us/variables/gov/hhs/medicaid/receives_medicaid.py +17 -0
  224. policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
  225. policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
  226. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
  227. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
  228. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
  229. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
  230. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
  231. policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qbid_amount.py +16 -6
  232. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/exemption/amt_exemption.py +47 -0
  233. policyengine_us/variables/gov/irs/tax/federal_income/alternative_minimum_tax/income/amt_income_less_exemptions.py +4 -22
  234. policyengine_us/variables/gov/states/ca/chhs/is_ca_medicaid_immigration_status_eligible.py +25 -4
  235. policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
  236. policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
  237. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit.py +1 -1
  238. policyengine_us/variables/gov/states/co/tax/income/credits/care_worker/co_care_worker_credit_eligible.py +1 -1
  239. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_immigration_status_eligible_person.py +1 -1
  240. policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +1 -1
  241. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
  242. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
  243. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
  244. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +40 -0
  245. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_income_eligible.py +18 -0
  246. policyengine_us/variables/gov/states/il/hfs/fpp/il_fpp_income_level.py +29 -0
  247. policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
  248. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
  249. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
  250. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
  251. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
  252. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
  253. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
  254. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
  255. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
  256. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
  257. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
  258. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
  259. policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
  260. policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
  261. policyengine_us/variables/gov/states/il/hfs/il_hfs_immigration_status_eligible.py +23 -0
  262. policyengine_us/variables/gov/states/il/hfs/mpe/eligibility/il_mpe_income_eligible.py +15 -0
  263. policyengine_us/variables/gov/states/il/hfs/mpe/il_mpe_eligible.py +15 -0
  264. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_categorical_eligible.py +26 -0
  265. policyengine_us/variables/gov/states/il/hfs/smib/eligibility/il_smib_eligible.py +28 -0
  266. policyengine_us/variables/gov/states/il/hfs/smib/il_smib.py +21 -0
  267. policyengine_us/variables/gov/states/il/hfs/smib/il_smib_person.py +24 -0
  268. policyengine_us/variables/gov/states/ky/tax/income/credits/family_size_credit/ky_family_size_tax_credit_rate.py +1 -1
  269. policyengine_us/variables/gov/states/ma/dta/ssp/ma_state_supplement.py +1 -0
  270. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
  271. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
  272. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
  273. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
  274. policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +7 -1
  275. policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
  276. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit.py +20 -0
  277. policyengine_us/variables/gov/states/ut/tax/income/credits/military_retirement_credit/ut_military_retirement_credit_eligible.py +22 -0
  278. policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
  279. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
  280. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
  281. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
  282. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
  283. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
  284. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
  285. policyengine_us/variables/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_fpg.py +1 -1
  286. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
  287. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
  288. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
  289. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
  290. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +9 -0
  291. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
  292. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
  293. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +6 -0
  294. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_higher_ed_student.py +17 -0
  295. policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py +47 -15
  296. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_parent_exception.py +42 -0
  297. policyengine_us/variables/gov/usda/snap/eligibility/student/meets_snap_work_exception.py +22 -0
  298. policyengine_us/variables/gov/usda/snap/income/snap_countable_earner.py +13 -2
  299. policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
  300. policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
  301. policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
  302. policyengine_us/variables/household/demographic/person/is_part_time_college_student.py +9 -0
  303. policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
  304. policyengine_us/variables/household/income/person/dividends/qualified_reit_and_ptp_income.py +1 -1
  305. policyengine_us/variables/household/income/spm_unit/spm_unit_tenure_type.py +17 -0
  306. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/METADATA +2 -2
  307. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/RECORD +312 -138
  308. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/WHEEL +1 -1
  309. policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
  310. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml +0 -57
  311. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
  312. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
  313. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/entry_points.txt +0 -0
  314. {policyengine_us-1.439.0.dist-info → policyengine_us-1.458.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,345 @@
1
+ # Base cases - not a parent or no children
2
+ - name: Not a parent does not meet exception
3
+ period: 2024
4
+ input:
5
+ is_tax_unit_head_or_spouse: false
6
+ output:
7
+ meets_snap_parent_exception: false
8
+
9
+ - name: Parent with no children does not meet exception
10
+ period: 2024
11
+ input:
12
+ is_tax_unit_head_or_spouse: true
13
+ output:
14
+ meets_snap_parent_exception: false
15
+
16
+ # Single parent cases - requires child under 12 AND full-time student status
17
+ - name: Single parent with child under 12 and full-time student meets exception
18
+ period: 2024
19
+ input:
20
+ people:
21
+ parent:
22
+ is_tax_unit_head_or_spouse: true
23
+ is_full_time_college_student: true
24
+ age: 30
25
+ child:
26
+ age: 10
27
+ tax_units:
28
+ tax_unit:
29
+ members: [parent, child]
30
+ spm_units:
31
+ spm_unit:
32
+ members: [parent, child]
33
+ output:
34
+ meets_snap_parent_exception: [true, false]
35
+
36
+ - name: Single parent with child under 12 but NOT full-time student does not meet exception
37
+ period: 2024
38
+ input:
39
+ people:
40
+ parent:
41
+ is_tax_unit_head_or_spouse: true
42
+ is_full_time_college_student: false
43
+ age: 30
44
+ child:
45
+ age: 10
46
+ tax_units:
47
+ tax_unit:
48
+ members: [parent, child]
49
+ spm_units:
50
+ spm_unit:
51
+ members: [parent, child]
52
+ output:
53
+ meets_snap_parent_exception: [false, false]
54
+
55
+ - name: Single parent with child under 6 and full-time student meets exception
56
+ period: 2024
57
+ input:
58
+ people:
59
+ parent:
60
+ is_tax_unit_head_or_spouse: true
61
+ is_full_time_college_student: true
62
+ age: 28
63
+ child:
64
+ age: 4
65
+ tax_units:
66
+ tax_unit:
67
+ members: [parent, child]
68
+ spm_units:
69
+ spm_unit:
70
+ members: [parent, child]
71
+ output:
72
+ meets_snap_parent_exception: [true, false]
73
+
74
+ - name: Single parent with child under 6 but NOT full-time student does not meet exception
75
+ period: 2024
76
+ input:
77
+ people:
78
+ parent:
79
+ is_tax_unit_head_or_spouse: true
80
+ is_full_time_college_student: false
81
+ age: 28
82
+ child:
83
+ age: 4
84
+ tax_units:
85
+ tax_unit:
86
+ members: [parent, child]
87
+ spm_units:
88
+ spm_unit:
89
+ members: [parent, child]
90
+ output:
91
+ meets_snap_parent_exception: [false, false]
92
+
93
+ - name: Single parent with child exactly 12 does not meet exception even if full-time student
94
+ period: 2024
95
+ input:
96
+ people:
97
+ parent:
98
+ is_tax_unit_head_or_spouse: true
99
+ is_full_time_college_student: true
100
+ age: 35
101
+ child:
102
+ age: 12
103
+ tax_units:
104
+ tax_unit:
105
+ members: [parent, child]
106
+ spm_units:
107
+ spm_unit:
108
+ members: [parent, child]
109
+ output:
110
+ meets_snap_parent_exception: [false, false]
111
+
112
+ - name: Single parent with child over 12 does not meet exception even if full-time student
113
+ period: 2024
114
+ input:
115
+ people:
116
+ parent:
117
+ is_tax_unit_head_or_spouse: true
118
+ is_full_time_college_student: true
119
+ age: 38
120
+ child:
121
+ age: 15
122
+ tax_units:
123
+ tax_unit:
124
+ members: [parent, child]
125
+ spm_units:
126
+ spm_unit:
127
+ members: [parent, child]
128
+ output:
129
+ meets_snap_parent_exception: [false, false]
130
+
131
+ # Two-parent household cases - requires child under 6 only
132
+ - name: Two-parent household with child under 6 meets exception
133
+ period: 2024
134
+ input:
135
+ people:
136
+ parent1:
137
+ is_tax_unit_head_or_spouse: true
138
+ age: 28
139
+ parent2:
140
+ is_tax_unit_head_or_spouse: true
141
+ age: 30
142
+ child:
143
+ age: 4
144
+ tax_units:
145
+ tax_unit:
146
+ members: [parent1, parent2, child]
147
+ spm_units:
148
+ spm_unit:
149
+ members: [parent1, parent2, child]
150
+ output:
151
+ meets_snap_parent_exception: [true, true, false]
152
+
153
+ - name: Two-parent household with child exactly 6 does not meet exception
154
+ period: 2024
155
+ input:
156
+ people:
157
+ parent1:
158
+ is_tax_unit_head_or_spouse: true
159
+ age: 32
160
+ parent2:
161
+ is_tax_unit_head_or_spouse: true
162
+ age: 34
163
+ child:
164
+ age: 6
165
+ tax_units:
166
+ tax_unit:
167
+ members: [parent1, parent2, child]
168
+ spm_units:
169
+ spm_unit:
170
+ members: [parent1, parent2, child]
171
+ output:
172
+ meets_snap_parent_exception: [false, false, false]
173
+
174
+ - name: Two-parent household with child between 6 and 12 does not meet exception
175
+ period: 2024
176
+ input:
177
+ people:
178
+ parent1:
179
+ is_tax_unit_head_or_spouse: true
180
+ age: 35
181
+ parent2:
182
+ is_tax_unit_head_or_spouse: true
183
+ age: 37
184
+ child:
185
+ age: 9
186
+ tax_units:
187
+ tax_unit:
188
+ members: [parent1, parent2, child]
189
+ spm_units:
190
+ spm_unit:
191
+ members: [parent1, parent2, child]
192
+ output:
193
+ meets_snap_parent_exception: [false, false, false]
194
+
195
+ - name: Two-parent household with child over 12 does not meet exception
196
+ period: 2024
197
+ input:
198
+ people:
199
+ parent1:
200
+ is_tax_unit_head_or_spouse: true
201
+ age: 40
202
+ parent2:
203
+ is_tax_unit_head_or_spouse: true
204
+ age: 42
205
+ child:
206
+ age: 14
207
+ tax_units:
208
+ tax_unit:
209
+ members: [parent1, parent2, child]
210
+ spm_units:
211
+ spm_unit:
212
+ members: [parent1, parent2, child]
213
+ output:
214
+ meets_snap_parent_exception: [false, false, false]
215
+
216
+ # Multiple children cases
217
+ - name: Single parent with multiple children - youngest under 12 and full-time student meets exception
218
+ period: 2024
219
+ input:
220
+ people:
221
+ parent:
222
+ is_tax_unit_head_or_spouse: true
223
+ is_full_time_college_student: true
224
+ age: 40
225
+ child1:
226
+ age: 15
227
+ child2:
228
+ age: 8
229
+ tax_units:
230
+ tax_unit:
231
+ members: [parent, child1, child2]
232
+ spm_units:
233
+ spm_unit:
234
+ members: [parent, child1, child2]
235
+ output:
236
+ meets_snap_parent_exception: [true, false, false]
237
+
238
+ - name: Single parent with multiple children - youngest under 12 but NOT full-time student does not meet exception
239
+ period: 2024
240
+ input:
241
+ people:
242
+ parent:
243
+ is_tax_unit_head_or_spouse: true
244
+ is_full_time_college_student: false
245
+ age: 40
246
+ child1:
247
+ age: 15
248
+ child2:
249
+ age: 8
250
+ tax_units:
251
+ tax_unit:
252
+ members: [parent, child1, child2]
253
+ spm_units:
254
+ spm_unit:
255
+ members: [parent, child1, child2]
256
+ output:
257
+ meets_snap_parent_exception: [false, false, false]
258
+
259
+ - name: Two-parent household with multiple children - youngest under 6 meets exception
260
+ period: 2024
261
+ input:
262
+ people:
263
+ parent1:
264
+ is_tax_unit_head_or_spouse: true
265
+ age: 35
266
+ parent2:
267
+ is_tax_unit_head_or_spouse: true
268
+ age: 37
269
+ child1:
270
+ age: 10
271
+ child2:
272
+ age: 3
273
+ tax_units:
274
+ tax_unit:
275
+ members: [parent1, parent2, child1, child2]
276
+ spm_units:
277
+ spm_unit:
278
+ members: [parent1, parent2, child1, child2]
279
+ output:
280
+ meets_snap_parent_exception: [true, true, false, false]
281
+
282
+ - name: Two-parent household with multiple children - all over 6 does not meet exception
283
+ period: 2024
284
+ input:
285
+ people:
286
+ parent1:
287
+ is_tax_unit_head_or_spouse: true
288
+ age: 38
289
+ parent2:
290
+ is_tax_unit_head_or_spouse: true
291
+ age: 40
292
+ child1:
293
+ age: 10
294
+ child2:
295
+ age: 8
296
+ tax_units:
297
+ tax_unit:
298
+ members: [parent1, parent2, child1, child2]
299
+ spm_units:
300
+ spm_unit:
301
+ members: [parent1, parent2, child1, child2]
302
+ output:
303
+ meets_snap_parent_exception: [false, false, false, false]
304
+
305
+ # Edge case - single parent with child at exactly the boundary
306
+ - name: Single parent with child exactly 11 and full-time student meets exception
307
+ period: 2024
308
+ input:
309
+ people:
310
+ parent:
311
+ is_tax_unit_head_or_spouse: true
312
+ is_full_time_college_student: true
313
+ age: 34
314
+ child:
315
+ age: 11
316
+ tax_units:
317
+ tax_unit:
318
+ members: [parent, child]
319
+ spm_units:
320
+ spm_unit:
321
+ members: [parent, child]
322
+ output:
323
+ meets_snap_parent_exception: [true, false]
324
+
325
+ # Edge case - two-parent household with child at exactly the boundary
326
+ - name: Two-parent household with child exactly 5 meets exception
327
+ period: 2024
328
+ input:
329
+ people:
330
+ parent1:
331
+ is_tax_unit_head_or_spouse: true
332
+ age: 30
333
+ parent2:
334
+ is_tax_unit_head_or_spouse: true
335
+ age: 32
336
+ child:
337
+ age: 5
338
+ tax_units:
339
+ tax_unit:
340
+ members: [parent1, parent2, child]
341
+ spm_units:
342
+ spm_unit:
343
+ members: [parent1, parent2, child]
344
+ output:
345
+ meets_snap_parent_exception: [true, true, false]
@@ -0,0 +1,47 @@
1
+ - name: Does not meet exception - works less than 20 hours, no work study
2
+ period: 2024
3
+ input:
4
+ weekly_hours_worked_before_lsr: 15
5
+ is_federal_work_study_participant: false
6
+ output:
7
+ meets_snap_work_exception: false
8
+
9
+ - name: Meets exception - works exactly 20 hours
10
+ period: 2024
11
+ input:
12
+ weekly_hours_worked_before_lsr: 20
13
+ is_federal_work_study_participant: false
14
+ output:
15
+ meets_snap_work_exception: true
16
+
17
+ - name: Meets exception - works more than 20 hours
18
+ period: 2024
19
+ input:
20
+ weekly_hours_worked_before_lsr: 25
21
+ is_federal_work_study_participant: false
22
+ output:
23
+ meets_snap_work_exception: true
24
+
25
+ - name: Meets exception - participates in federal work study
26
+ period: 2024
27
+ input:
28
+ weekly_hours_worked_before_lsr: 0
29
+ is_federal_work_study_participant: true
30
+ output:
31
+ meets_snap_work_exception: true
32
+
33
+ - name: Meets exception - works less than 20 hours but has work study
34
+ period: 2024
35
+ input:
36
+ weekly_hours_worked_before_lsr: 10
37
+ is_federal_work_study_participant: true
38
+ output:
39
+ meets_snap_work_exception: true
40
+
41
+ - name: Meets exception - works 20+ hours and has work study
42
+ period: 2024
43
+ input:
44
+ weekly_hours_worked_before_lsr: 25
45
+ is_federal_work_study_participant: true
46
+ output:
47
+ meets_snap_work_exception: true
@@ -0,0 +1,24 @@
1
+ - name: Federal work study participant income is excluded from SNAP earned income
2
+ period: 2024-01
3
+ input:
4
+ employment_income: 12_000
5
+ is_federal_work_study_participant: true
6
+ output:
7
+ snap_countable_earner: false
8
+ snap_earned_income: 0
9
+
10
+ - name: Non-work study participant income is counted in SNAP earned income
11
+ period: 2024-01
12
+ input:
13
+ employment_income: 12_000
14
+ is_federal_work_study_participant: false
15
+ output:
16
+ snap_countable_earner: true
17
+ snap_earned_income: 1_000
18
+
19
+ - name: Work study participant meets student work exception
20
+ period: 2024
21
+ input:
22
+ is_federal_work_study_participant: true
23
+ output:
24
+ meets_snap_work_exception: true
@@ -27,3 +27,28 @@
27
27
  input:
28
28
  output:
29
29
  snap_countable_earner: true
30
+
31
+ - name: Case 5, federal work study participant is not a countable earner.
32
+ period: 2024-01
33
+ input:
34
+ is_federal_work_study_participant: true
35
+ age: 22
36
+ output:
37
+ snap_countable_earner: false
38
+
39
+ - name: Case 6, non-federal work study participant is a countable earner.
40
+ period: 2024-01
41
+ input:
42
+ is_federal_work_study_participant: false
43
+ age: 22
44
+ output:
45
+ snap_countable_earner: true
46
+
47
+ - name: Case 7, both K-12 exclusion and work study - not countable.
48
+ period: 2024-01
49
+ input:
50
+ age: 17
51
+ is_in_k12_school: true
52
+ is_federal_work_study_participant: true
53
+ output:
54
+ snap_countable_earner: false
@@ -35,14 +35,14 @@
35
35
  output:
36
36
  snap_min_allotment: 30
37
37
 
38
- - name: In other states, we keep the standard minium allotment amount
38
+ - name: In other states, we keep the standard minimum allotment amount
39
39
  period: 2022-01
40
40
  input:
41
41
  spm_unit_size: 2
42
- state_code: AB
42
+ state_code: CA
43
43
  state_group: CONTIGUOUS_US
44
44
  output:
45
- snap_min_allotment: 250 * 0.08
45
+ snap_min_allotment: 250 * 0.08
46
46
 
47
47
  - name: Above age threshold in 2017, Maryland provides a different minimum allotment amount
48
48
  period: 2022-01
@@ -0,0 +1,181 @@
1
+ # WIC Integration Tests
2
+ # Tests the full eligibility pipeline from demographics to benefits.
3
+ # Per 42 U.S.C. § 1786, eligibility requires:
4
+ # 1. Valid demographic category (pregnant, postpartum, breastfeeding, infant, child)
5
+ # 2. Income ≤ 185% FPG OR categorical eligibility (SNAP/TANF/Medicaid)
6
+ # 3. Nutritional risk assessment (assumed true in individual simulation)
7
+ #
8
+ # Note: WIC package values are uprated from 2018 base values using CPI-U.
9
+ # Note: school_meal_countable_income is input as ANNUAL but computed as monthly.
10
+
11
+ - name: Case 1, infant in low-income family eligible for WIC.
12
+ period: 2024-01
13
+ absolute_error_margin: 0.01
14
+ input:
15
+ people:
16
+ person1:
17
+ # Parent - not WIC eligible (adult)
18
+ age: 30
19
+ person2:
20
+ # Infant - WIC eligible
21
+ age: 0
22
+ spm_units:
23
+ spm_unit:
24
+ members: [person1, person2]
25
+ # Annual income: $24,000
26
+ # Monthly: $2,000
27
+ # 2-person FPG 2024: $20,440/year = $1,703/month
28
+ # Ratio: 2000/1703 = 1.17 < 1.85 ✓
29
+ school_meal_countable_income: 24_000
30
+ output:
31
+ wic_category: [NONE, INFANT]
32
+ meets_wic_income_test: true
33
+ is_wic_eligible: [false, true]
34
+ # INFANT value uprated from $138.64 (2018) to ~$173.28 (2024)
35
+ wic: [0, 173.28]
36
+
37
+ - name: Case 2, pregnant woman fails income but passes categorical via SNAP.
38
+ period: 2024-01
39
+ absolute_error_margin: 0.01
40
+ input:
41
+ people:
42
+ person1:
43
+ age: 25
44
+ is_pregnant: true
45
+ spm_units:
46
+ spm_unit:
47
+ members: [person1]
48
+ # Annual income: $60,000
49
+ # Monthly: $5,000
50
+ # Pregnant adds +1 to household → 2-person FPG: $20,440/year = $1,703/month
51
+ # Ratio: 5000/1703 = 2.94 > 1.85 ✗
52
+ school_meal_countable_income: 60_000
53
+ snap: 200
54
+ output:
55
+ wic_category: PREGNANT
56
+ meets_wic_income_test: false
57
+ meets_wic_categorical_eligibility: true
58
+ is_wic_eligible: true
59
+ # PREGNANT value uprated from $37.33 (2018) to ~$46.66 (2024)
60
+ wic: 46.66
61
+
62
+ - name: Case 3, child age 3 eligible through Medicaid.
63
+ period: 2024-01
64
+ absolute_error_margin: 0.01
65
+ input:
66
+ people:
67
+ person1:
68
+ age: 3
69
+ medicaid_enrolled: true
70
+ spm_units:
71
+ spm_unit:
72
+ members: [person1]
73
+ # Annual income: $48,000
74
+ # Monthly: $4,000
75
+ # 1-person FPG 2024: $15,060/year = $1,255/month
76
+ # Ratio: 4000/1255 = 3.19 > 1.85 ✗
77
+ school_meal_countable_income: 48_000
78
+ # Explicitly disable SNAP to test Medicaid pathway
79
+ snap: 0
80
+ output:
81
+ wic_category: CHILD
82
+ meets_wic_income_test: false
83
+ meets_wic_categorical_eligibility: true
84
+ is_wic_eligible: true
85
+ # CHILD value uprated from $31.78 (2018) to ~$39.72 (2024)
86
+ wic: 39.72
87
+
88
+ - name: Case 4, healthy adult not eligible even with SNAP.
89
+ period: 2024-01
90
+ input:
91
+ people:
92
+ person1:
93
+ age: 35
94
+ spm_units:
95
+ spm_unit:
96
+ members: [person1]
97
+ school_meal_countable_income: 12_000
98
+ snap: 200
99
+ output:
100
+ wic_category: NONE
101
+ meets_wic_income_test: true
102
+ meets_wic_categorical_eligibility: true
103
+ # Not eligible - adult is not in valid WIC demographic category
104
+ is_wic_eligible: false
105
+ wic: 0
106
+
107
+ - name: Case 5, child age 5 not eligible (too old).
108
+ period: 2024-01
109
+ input:
110
+ people:
111
+ person1:
112
+ age: 5
113
+ # Explicitly disable Medicaid to test demographic-only rejection
114
+ medicaid_enrolled: false
115
+ spm_units:
116
+ spm_unit:
117
+ members: [person1]
118
+ school_meal_countable_income: 18_000
119
+ # Explicitly disable SNAP/TANF
120
+ snap: 0
121
+ tanf: 0
122
+ output:
123
+ # Age 5+ is category NONE per 42 U.S.C. § 1786(b)(2)
124
+ wic_category: NONE
125
+ meets_wic_income_test: true
126
+ meets_wic_categorical_eligibility: false
127
+ is_wic_eligible: false
128
+ wic: 0
129
+
130
+ - name: Case 6, family with pregnant mother and toddler.
131
+ period: 2024-01
132
+ absolute_error_margin: 0.01
133
+ input:
134
+ people:
135
+ person1:
136
+ age: 32
137
+ person2:
138
+ age: 28
139
+ is_pregnant: true
140
+ person3:
141
+ age: 2
142
+ spm_units:
143
+ spm_unit:
144
+ members: [person1, person2, person3]
145
+ # Annual income: $36,000
146
+ # Monthly: $3,000
147
+ # 3 people + 1 for pregnancy = 4-person equivalent
148
+ # 4-person FPG 2024: $31,200/year = $2,600/month
149
+ # Ratio: 3000/2600 = 1.15 < 1.85 ✓
150
+ school_meal_countable_income: 36_000
151
+ output:
152
+ wic_category: [NONE, PREGNANT, CHILD]
153
+ is_wic_eligible: [false, true, true]
154
+ # Father: $0, Mother: ~$46.66, Child: ~$39.72
155
+ wic: [0, 46.66, 39.72]
156
+
157
+ - name: Case 7, income above 185% FPG without categorical eligibility.
158
+ period: 2024-01
159
+ input:
160
+ people:
161
+ person1:
162
+ age: 2
163
+ # Explicitly disable Medicaid to test income-only pathway
164
+ medicaid_enrolled: false
165
+ spm_units:
166
+ spm_unit:
167
+ members: [person1]
168
+ # Annual income: $36,000
169
+ # Monthly: $3,000
170
+ # 1-person FPG 2024: $15,060/year = $1,255/month
171
+ # Ratio: 3000/1255 = 2.39 > 1.85 ✗
172
+ school_meal_countable_income: 36_000
173
+ # Explicitly disable SNAP/TANF
174
+ snap: 0
175
+ tanf: 0
176
+ output:
177
+ wic_category: CHILD
178
+ meets_wic_income_test: false
179
+ meets_wic_categorical_eligibility: false
180
+ is_wic_eligible: false
181
+ wic: 0
@@ -0,0 +1,33 @@
1
+ # Nutritional risk is a health assessment per 42 U.S.C. § 1786(b)(8).
2
+ # In individual simulation, all persons are assumed at nutritional risk.
3
+ # In microsimulation, risk is assigned probabilistically by category.
4
+
5
+ - name: Case 1, infant assumed at nutritional risk in individual simulation.
6
+ period: 2024-01
7
+ input:
8
+ age: 0
9
+ output:
10
+ is_wic_at_nutritional_risk: true
11
+
12
+ - name: Case 2, child assumed at nutritional risk in individual simulation.
13
+ period: 2024-01
14
+ input:
15
+ age: 3
16
+ output:
17
+ is_wic_at_nutritional_risk: true
18
+
19
+ - name: Case 3, adult assumed at nutritional risk in individual simulation.
20
+ period: 2024-01
21
+ input:
22
+ age: 35
23
+ output:
24
+ # Even adults are assumed at nutritional risk in individual simulation.
25
+ # Demographic eligibility is checked separately in is_wic_eligible.
26
+ is_wic_at_nutritional_risk: true
27
+
28
+ - name: Case 4, person receiving WIC is at nutritional risk.
29
+ period: 2024-01
30
+ input:
31
+ receives_wic: true
32
+ output:
33
+ is_wic_at_nutritional_risk: true