policyengine-us 1.458.0__py3-none-any.whl → 1.471.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/brackets.yaml +52 -0
  2. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/in_effect.yaml +9 -0
  3. policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/income_eligibility.yaml +27 -0
  4. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/enabled.yaml +14 -0
  5. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/uses_medicaid_income_thresholds.yaml +13 -0
  6. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/applies.yaml +115 -0
  7. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/couple.yaml +14 -0
  8. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/individual.yaml +14 -0
  9. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qi/fpl_limit.yaml +14 -0
  10. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qmb/fpl_limit.yaml +18 -0
  11. policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/slmb/fpl_limit.yaml +15 -0
  12. policyengine_us/parameters/gov/ssa/revenue/oasdi_share_of_gross_ss.yaml +13 -0
  13. policyengine_us/parameters/gov/states/az/tax/income/credits/property_tax/income_sources.yaml +17 -9
  14. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/head_of_household.yaml +1 -1
  15. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/joint.yaml +1 -1
  16. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/separate.yaml +1 -1
  17. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/single.yaml +1 -1
  18. policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/surviving_spouse.yaml +1 -1
  19. policyengine_us/parameters/gov/states/ia/tax/income/credits/child_care/fraction.yaml +1 -1
  20. policyengine_us/parameters/gov/states/il/dhs/aabd/asset/sources.yaml +0 -1
  21. policyengine_us/parameters/gov/states/il/isbe/age_threshold/teen_parent.yaml +15 -0
  22. policyengine_us/parameters/gov/states/il/isbe/income/countable_sources.yaml +28 -0
  23. policyengine_us/parameters/gov/states/il/isbe/income/income_limit_rate.yaml +13 -0
  24. policyengine_us/parameters/gov/states/il/isbe/pfa/benefit/amount.yaml +15 -0
  25. policyengine_us/parameters/gov/states/il/isbe/pfae/benefit/amount.yaml +15 -0
  26. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/age_range.yaml +26 -0
  27. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/deep_poverty_rate.yaml +10 -0
  28. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/low_income_rate.yaml +10 -0
  29. policyengine_us/parameters/gov/states/il/isbe/pi/benefit/amount.yaml +16 -0
  30. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/child.yaml +13 -0
  31. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/young_parent.yaml +11 -0
  32. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/deep_poverty_rate.yaml +11 -0
  33. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/low_income_rate.yaml +11 -0
  34. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/poverty_rate.yaml +11 -0
  35. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/priority/geriatric_pregnancy_age.yaml +10 -0
  36. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/risk_factors/minimum_score.yaml +11 -0
  37. policyengine_us/parameters/gov/states/in/fssa/README.md +1 -0
  38. policyengine_us/parameters/gov/states/in/fssa/tanf/README.md +1 -0
  39. policyengine_us/parameters/gov/states/in/fssa/tanf/eligibility/continuing/fpg_rate.yaml +12 -0
  40. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/benefit/earned_income_disregard/rate.yaml +12 -0
  41. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/earned_income_disregard/rate.yaml +12 -0
  42. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/flat_disregard/amount.yaml +12 -0
  43. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/work_expense/amount.yaml +12 -0
  44. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/at_application/amount.yaml +12 -0
  45. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/while_receiving/amount.yaml +12 -0
  46. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/vehicle_exemption/amount.yaml +12 -0
  47. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/amount.yaml +34 -0
  48. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/max_unit_size.yaml +12 -0
  49. policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml +1 -1
  50. policyengine_us/parameters/gov/states/mo/dss/tanf/child_care_deduction/amount.yaml +27 -0
  51. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/amount.yaml +14 -0
  52. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_only/amount.yaml +14 -0
  53. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/flat_amount.yaml +14 -0
  54. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/percentage.yaml +14 -0
  55. policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/two_thirds_disregard/percentage.yaml +14 -0
  56. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/max_table_size.yaml +12 -0
  57. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/rate.yaml +14 -0
  58. policyengine_us/parameters/gov/states/mo/dss/tanf/maximum_benefit/percentage.yaml +14 -0
  59. policyengine_us/parameters/gov/states/mo/dss/tanf/minimum_payment.yaml +12 -0
  60. policyengine_us/parameters/gov/states/mo/dss/tanf/resource_limit/amount.yaml +14 -0
  61. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/additional_person_increment.yaml +12 -0
  62. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/amount.yaml +38 -0
  63. policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/base_table_max_size.yaml +12 -0
  64. policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml +3 -0
  65. policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml +13 -4
  66. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/agi_subtractions.yaml +18 -0
  67. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml +14 -0
  68. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/flat_amount.yaml +14 -0
  69. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/percentage_of_disregard.yaml +16 -0
  70. policyengine_us/parameters/gov/states/oh/odjfs/owf/initial_eligibility/income_limit_rate.yaml +14 -0
  71. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/additional_person_increment.yaml +14 -0
  72. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/amounts.yaml +43 -0
  73. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/max_group_size.yaml +12 -0
  74. policyengine_us/parameters/gov/states/or/odhs/tanf/age_threshold/minor_child.yaml +12 -0
  75. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/additional_person.yaml +12 -0
  76. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/amount.yaml +32 -0
  77. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/max.yaml +12 -0
  78. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/per_child.yaml +12 -0
  79. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/additional_person.yaml +12 -0
  80. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/amount.yaml +32 -0
  81. policyengine_us/parameters/gov/states/or/odhs/tanf/income/earned_income_disregard_rate.yaml +12 -0
  82. policyengine_us/parameters/gov/states/or/odhs/tanf/income/eli_multiplier.yaml +12 -0
  83. policyengine_us/parameters/gov/states/or/odhs/tanf/maximum_need_group_size.yaml +12 -0
  84. policyengine_us/parameters/gov/states/or/odhs/tanf/minimum_benefit.yaml +12 -0
  85. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/additional_person.yaml +12 -0
  86. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/amount.yaml +32 -0
  87. policyengine_us/parameters/gov/states/or/odhs/tanf/resources/limit/amount.yaml +12 -0
  88. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_1.yaml +19 -0
  89. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_2.yaml +44 -0
  90. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_3.yaml +31 -0
  91. policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_4.yaml +29 -0
  92. policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/additional_person.yaml +14 -0
  93. policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/amount.yaml +69 -0
  94. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/earned_income_disregard/percentage.yaml +14 -0
  95. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/additional.yaml +15 -0
  96. policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/initial.yaml +14 -0
  97. policyengine_us/parameters/gov/states/pa/dhs/tanf/max_family_size_in_table.yaml +12 -0
  98. policyengine_us/parameters/gov/states/pa/dhs/tanf/resource_limit.yaml +7 -6
  99. policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/additional_person.yaml +14 -0
  100. policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/amount.yaml +69 -0
  101. policyengine_us/parameters/gov/states/wi/dcf/README.md +1 -0
  102. policyengine_us/parameters/gov/states/wi/dcf/works/README.md +1 -0
  103. policyengine_us/parameters/gov/states/wi/dcf/works/asset/limit.yaml +16 -0
  104. policyengine_us/parameters/gov/states/wi/dcf/works/asset/vehicle_exclusion.yaml +14 -0
  105. policyengine_us/parameters/gov/states/wi/dcf/works/income_limit/rate.yaml +16 -0
  106. policyengine_us/parameters/gov/states/wi/dcf/works/placement/amount.yaml +30 -0
  107. policyengine_us/parameters/gov/states/wi/dcf/works/placement/arp_pregnancy_month_threshold.yaml +14 -0
  108. policyengine_us/parameters/gov/states/wi/dcf/works/placement/cmc_infant_age_limit.yaml +15 -0
  109. policyengine_us/reforms/aca/__init__.py +3 -0
  110. policyengine_us/reforms/aca/aca_ptc_700_fpl_cliff.py +125 -0
  111. policyengine_us/reforms/reforms.py +5 -0
  112. policyengine_us/tests/microsimulation/test_microsim.py +46 -0
  113. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/integration.yaml +667 -0
  114. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.yaml +376 -0
  115. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/category/msp_category.yaml +69 -0
  116. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.yaml +62 -0
  117. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/income/msp_fpg.yaml +22 -0
  118. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/integration.yaml +84 -0
  119. policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/msp_benefit_value.yaml +62 -0
  120. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.yaml +157 -0
  121. policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.yaml +106 -0
  122. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.yaml +86 -0
  123. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.yaml +85 -0
  124. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +124 -0
  125. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +129 -0
  126. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_total.yaml +19 -0
  127. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +72 -0
  128. policyengine_us/tests/policy/baseline/gov/states/az/tax/income/az_property_tax_credit_agi.yaml +58 -0
  129. policyengine_us/tests/policy/baseline/gov/states/az/tax/income/integration.yaml +28 -0
  130. policyengine_us/tests/policy/baseline/gov/states/dc/tax/income/dc_ptc.yaml +27 -0
  131. policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/food_excise/hi_food_excise_credit.yaml +29 -1
  132. policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_cdcc.yaml +3 -3
  133. policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_integration.yaml +31 -1
  134. policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.yaml +6 -6
  135. policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +2 -2
  136. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +18 -5
  137. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +5 -5
  138. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +8 -8
  139. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_income_eligible.yaml +15 -0
  140. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.yaml +310 -0
  141. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.yaml +39 -0
  142. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.yaml +26 -0
  143. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.yaml +49 -0
  144. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/integration.yaml +102 -0
  145. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.yaml +31 -0
  146. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.yaml +15 -0
  147. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.yaml +15 -0
  148. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.yaml +85 -0
  149. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.yaml +46 -0
  150. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.yaml +48 -0
  151. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_eligible.yaml +38 -0
  152. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.yaml +74 -0
  153. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.yaml +43 -0
  154. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.yaml +43 -0
  155. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.yaml +43 -0
  156. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.yaml +75 -0
  157. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.yaml +74 -0
  158. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.yaml +100 -0
  159. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.yaml +91 -0
  160. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.yaml +102 -0
  161. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.yaml +160 -0
  162. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/integration.yaml +187 -0
  163. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/benefit/in_tanf_payment_standard.yaml +58 -0
  164. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.yaml +163 -0
  165. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.yaml +94 -0
  166. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.yaml +74 -0
  167. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.yaml +63 -0
  168. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/in_tanf.yaml +64 -0
  169. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.yaml +83 -0
  170. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.yaml +112 -0
  171. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.yaml +71 -0
  172. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/integration.yaml +249 -0
  173. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.yaml +38 -0
  174. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_resources_eligible.yaml +60 -0
  175. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/integration_with_eligibility.yaml +78 -0
  176. policyengine_us/tests/policy/baseline/gov/states/ma/tax/income/gross_income/integration.yaml +28 -0
  177. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/integration.yaml +87 -0
  178. policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_dependent_exemption_credit_amount_person.yaml +3 -2
  179. policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/mi_home_heating_credit.yaml +87 -0
  180. policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/mi_household_resources.yaml +57 -0
  181. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/integration.yaml +275 -0
  182. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf.yaml +60 -0
  183. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +187 -0
  184. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_countable_income.yaml +49 -0
  185. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_earned_income_deductions.yaml +53 -0
  186. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_eligible.yaml +59 -0
  187. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_gross_income_eligible.yaml +29 -0
  188. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_eligible.yaml +49 -0
  189. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.yaml +47 -0
  190. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_percentage_of_need_test.yaml +53 -0
  191. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_resources_eligible.yaml +23 -0
  192. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.yaml +71 -0
  193. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need_test.yaml +44 -0
  194. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml +176 -0
  195. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.yaml +65 -0
  196. policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml +29 -0
  197. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  198. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/integration.yaml +152 -0
  199. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_countable_income.yaml +113 -0
  200. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_eligible.yaml +239 -0
  201. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_fpg.yaml +73 -0
  202. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_income_eligible.yaml +80 -0
  203. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_initial_income_eligible.yaml +160 -0
  204. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_payment_standard.yaml +77 -0
  205. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/integration.yaml +363 -0
  206. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf.yaml +94 -0
  207. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income.yaml +77 -0
  208. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income_eligible.yaml +73 -0
  209. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_child_support_disregard.yaml +272 -0
  210. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income.yaml +70 -0
  211. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income_eligible.yaml +73 -0
  212. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_eligible.yaml +47 -0
  213. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_income_eligible.yaml +75 -0
  214. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eligible.yaml +68 -0
  215. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_income_eligible.yaml +211 -0
  216. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_payment_standard.yaml +68 -0
  217. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_resources_eligible.yaml +37 -0
  218. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.yaml +114 -0
  219. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.yaml +65 -0
  220. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.yaml +62 -0
  221. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +47 -0
  222. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.yaml +81 -0
  223. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/integration.yaml +386 -0
  224. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf.yaml +53 -0
  225. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_county_group.yaml +63 -0
  226. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.yaml +92 -0
  227. policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.yaml +73 -0
  228. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/integration.yaml +282 -0
  229. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works.yaml +50 -0
  230. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_income.yaml +49 -0
  231. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_resources.yaml +54 -0
  232. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_eligible.yaml +61 -0
  233. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_income_eligible.yaml +43 -0
  234. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_placement.yaml +111 -0
  235. policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_resources_eligible.yaml +38 -0
  236. policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.yaml +31 -0
  237. policyengine_us/tests/policy/contrib/aca/ptc_700_fpl_cliff.yaml +136 -0
  238. policyengine_us/tests/run_selective_tests.py +5 -0
  239. policyengine_us/tests/test_batched.py +144 -78
  240. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/has_emergency_medical_condition.py +16 -0
  241. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.py +33 -0
  242. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qi_eligible.py +33 -0
  243. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qmb_eligible.py +28 -0
  244. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_slmb_eligible.py +33 -0
  245. policyengine_us/variables/gov/hhs/medicare/savings_programs/category/msp_category.py +33 -0
  246. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_asset_eligible.py +26 -0
  247. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.py +20 -0
  248. policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_income_eligible.py +26 -0
  249. policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_countable_income.py +35 -0
  250. policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_fpg.py +40 -0
  251. policyengine_us/variables/gov/hhs/medicare/savings_programs/msp.py +15 -0
  252. policyengine_us/variables/gov/hhs/medicare/savings_programs/msp_benefit_value.py +37 -0
  253. policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.py +58 -0
  254. policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.py +17 -0
  255. policyengine_us/variables/gov/simulation/labor_supply_response/labor_supply_behavioral_response.py +57 -42
  256. policyengine_us/variables/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.py +58 -0
  257. policyengine_us/variables/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.py +60 -0
  258. policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +67 -0
  259. policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +82 -0
  260. policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +49 -0
  261. policyengine_us/variables/gov/states/az/tax/income/credits/property_tax_credit/az_property_tax_credit_agi.py +53 -0
  262. policyengine_us/variables/gov/states/dc/tax/income/credits/dc_ptc.py +7 -3
  263. policyengine_us/variables/gov/states/ia/tax/income/credits/ia_cdcc.py +4 -2
  264. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.py +23 -5
  265. policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +1 -1
  266. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +7 -3
  267. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_income_eligible.py +26 -0
  268. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.py +32 -0
  269. policyengine_us/variables/gov/states/il/isbe/income/il_isbe_countable_income.py +13 -0
  270. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa.py +15 -0
  271. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa_eligible.py +18 -0
  272. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.py +23 -0
  273. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.py +19 -0
  274. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.py +28 -0
  275. policyengine_us/variables/gov/states/il/isbe/pfae/il_pfae.py +19 -0
  276. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.py +40 -0
  277. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.py +23 -0
  278. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.py +21 -0
  279. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.py +65 -0
  280. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.py +17 -0
  281. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.py +18 -0
  282. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.py +18 -0
  283. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.py +23 -0
  284. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.py +21 -0
  285. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.py +21 -0
  286. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.py +16 -0
  287. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.py +20 -0
  288. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.py +37 -0
  289. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.py +21 -0
  290. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.py +36 -0
  291. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.py +54 -0
  292. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_priority_score.py +19 -0
  293. policyengine_us/variables/gov/states/il/isbe/pi/il_pi.py +15 -0
  294. policyengine_us/variables/gov/states/il/isbe/pi/il_pi_eligible.py +18 -0
  295. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.py +31 -0
  296. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.py +36 -0
  297. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.py +21 -0
  298. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.py +18 -0
  299. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_resources_eligible.py +25 -0
  300. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf.py +21 -0
  301. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf_payment_standard.py +19 -0
  302. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.py +20 -0
  303. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.py +33 -0
  304. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_eligibility.py +19 -0
  305. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.py +13 -0
  306. policyengine_us/variables/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.py +27 -0
  307. policyengine_us/variables/gov/states/ma/tax/income/gross_income/ma_part_c_gross_income.py +7 -1
  308. policyengine_us/variables/gov/states/me/tax/income/credits/dependent_exemption/me_dependent_exemption_credit_amount_person.py +1 -1
  309. policyengine_us/variables/gov/states/mi/tax/income/mi_household_resources.py +34 -5
  310. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_eligible.py +23 -0
  311. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_gross_income_eligible.py +24 -0
  312. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_income_eligible.py +18 -0
  313. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_percentage_of_need_test.py +20 -0
  314. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_resources_eligible.py +18 -0
  315. policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_standard_of_need_test.py +17 -0
  316. policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +24 -0
  317. policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_earned_income_deductions.py +36 -0
  318. policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_countable_income.py +21 -0
  319. policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_income_for_need_test.py +23 -0
  320. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf.py +21 -0
  321. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.py +19 -0
  322. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.py +23 -0
  323. policyengine_us/variables/gov/states/mo/tax/income/adjusted_gross_income/mo_adjusted_gross_income.py +1 -1
  324. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.py +16 -0
  325. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.py +20 -0
  326. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction_person.py +28 -0
  327. policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_indiv.py +3 -1
  328. policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_joint.py +3 -1
  329. policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py +3 -0
  330. policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py +3 -0
  331. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_eligible.py +39 -0
  332. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_income_eligible.py +33 -0
  333. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_initial_income_eligible.py +30 -0
  334. policyengine_us/variables/gov/states/oh/odjfs/owf/income/oh_owf_countable_income.py +40 -0
  335. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf.py +23 -0
  336. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_fpg.py +32 -0
  337. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_payment_standard.py +26 -0
  338. policyengine_us/variables/gov/states/or/odhs/tanf/benefit/or_tanf_payment_standard.py +23 -0
  339. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_adjusted_income_eligible.py +28 -0
  340. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_countable_income_eligible.py +28 -0
  341. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_eligible.py +16 -0
  342. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_income_eligible.py +20 -0
  343. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eligible.py +25 -0
  344. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_income_eligible.py +26 -0
  345. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_resources_eligible.py +19 -0
  346. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_adjusted_income.py +21 -0
  347. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_child_support_disregard.py +25 -0
  348. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_countable_income.py +20 -0
  349. policyengine_us/variables/gov/states/or/odhs/tanf/or_tanf.py +25 -0
  350. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.py +31 -0
  351. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.py +29 -0
  352. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.py +16 -0
  353. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.py +7 -5
  354. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_earned_income.py +15 -0
  355. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_income.py +16 -0
  356. policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.py +27 -0
  357. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf.py +19 -0
  358. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_county_group.py +38 -0
  359. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.py +30 -0
  360. policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.py +30 -0
  361. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_eligible.py +22 -0
  362. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_income_eligible.py +20 -0
  363. policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_resources_eligible.py +18 -0
  364. policyengine_us/variables/gov/states/wi/dcf/works/income/wi_works_countable_income.py +18 -0
  365. policyengine_us/variables/gov/states/wi/dcf/works/resources/wi_works_countable_resources.py +21 -0
  366. policyengine_us/variables/gov/states/wi/dcf/works/wi_works.py +19 -0
  367. policyengine_us/variables/gov/states/wi/dcf/works/wi_works_placement.py +45 -0
  368. policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.py +3 -3
  369. policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit_eligible.py +5 -2
  370. policyengine_us/variables/household/demographic/geographic/county/county.py +9 -0
  371. policyengine_us/variables/household/demographic/geographic/is_non_english_speaking_home.py +9 -0
  372. policyengine_us/variables/household/demographic/household/parent_has_less_than_high_school_education.py +9 -0
  373. policyengine_us/variables/household/demographic/person/has_developmental_delay.py +9 -0
  374. policyengine_us/variables/household/demographic/person/has_individualized_education_program.py +9 -0
  375. policyengine_us/variables/household/demographic/person/has_no_prior_formal_early_learning.py +9 -0
  376. policyengine_us/variables/household/demographic/person/is_born_outside_us.py +9 -0
  377. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/METADATA +1 -1
  378. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/RECORD +381 -69
  379. policyengine_us/parameters/gov/states/il/dhs/aabd/aged_age_threshold.yaml +0 -11
  380. policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit.yaml +0 -26
  381. policyengine_us/parameters/gov/states/pa/dhs/tanf/cash_assistance/age_limit.yaml +0 -11
  382. policyengine_us/parameters/gov/states/pa/dhs/tanf/pregnancy_eligibility/age_limit.yaml +0 -9
  383. policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.yaml +0 -39
  384. policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_limit.yaml +0 -23
  385. policyengine_us/tests/policy/baseline/gov/states/pa/tanf/cash_assistance/pa_tanf_age_eligible.yaml +0 -44
  386. policyengine_us/tests/policy/baseline/gov/states/pa/tanf/pregnancy_eligibility/pa_tanf_pregnancy_eligibility.yaml +0 -59
  387. policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +0 -24
  388. policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.py +0 -22
  389. policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_income_limit.py +0 -18
  390. policyengine_us/variables/gov/states/pa/dhs/tanf/cash_assistance/pa_tanf_age_eligible.py +0 -22
  391. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_countable_resources.py +0 -10
  392. policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pregnancy_eligibility/age_eligibility.py +0 -22
  393. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/WHEEL +0 -0
  394. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/entry_points.txt +0 -0
  395. {policyengine_us-1.458.0.dist-info → policyengine_us-1.471.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,111 @@
1
+ - name: Case 1, default to CSJ with no special conditions.
2
+ period: 2025-01
3
+ input:
4
+ people:
5
+ person1:
6
+ age: 30
7
+ is_pregnant: false
8
+ person2:
9
+ age: 5
10
+ households:
11
+ household1:
12
+ members: [person1, person2]
13
+ state_code: WI
14
+ output:
15
+ wi_works_placement: CSJ
16
+
17
+ - name: Case 2, CMC with infant under 2 months.
18
+ period: 2025-01
19
+ input:
20
+ people:
21
+ person1:
22
+ age: 25
23
+ is_pregnant: false
24
+ person2:
25
+ monthly_age: 1
26
+ households:
27
+ household1:
28
+ members: [person1, person2]
29
+ state_code: WI
30
+ output:
31
+ wi_works_placement: CMC
32
+
33
+ - name: Case 3, CMC with infant exactly 2 months.
34
+ period: 2025-01
35
+ input:
36
+ people:
37
+ person1:
38
+ age: 25
39
+ person2:
40
+ monthly_age: 2
41
+ households:
42
+ household1:
43
+ members: [person1, person2]
44
+ state_code: WI
45
+ output:
46
+ wi_works_placement: CMC
47
+
48
+ - name: Case 4, CSJ with child over 2 months.
49
+ period: 2025-01
50
+ input:
51
+ people:
52
+ person1:
53
+ age: 25
54
+ # Explicit monthly_age to avoid formula calculation issues
55
+ monthly_age: 300
56
+ person2:
57
+ # monthly_age > 2 to exceed CMC threshold
58
+ monthly_age: 3
59
+ households:
60
+ household1:
61
+ members: [person1, person2]
62
+ state_code: WI
63
+ output:
64
+ wi_works_placement: CSJ
65
+
66
+ - name: Case 5, ARP with pregnant person in third trimester.
67
+ period: 2025-01
68
+ input:
69
+ people:
70
+ person1:
71
+ age: 25
72
+ is_pregnant: true
73
+ current_pregnancy_month: 7
74
+ households:
75
+ household1:
76
+ members: [person1]
77
+ state_code: WI
78
+ output:
79
+ wi_works_placement: ARP
80
+
81
+ - name: Case 6, CSJ with pregnant person not in third trimester.
82
+ period: 2025-01
83
+ input:
84
+ people:
85
+ person1:
86
+ age: 25
87
+ is_pregnant: true
88
+ current_pregnancy_month: 6
89
+ households:
90
+ household1:
91
+ members: [person1]
92
+ state_code: WI
93
+ output:
94
+ wi_works_placement: CSJ
95
+
96
+ - name: Case 7, CMC takes priority over ARP.
97
+ period: 2025-01
98
+ input:
99
+ people:
100
+ person1:
101
+ age: 25
102
+ is_pregnant: true
103
+ current_pregnancy_month: 8
104
+ person2:
105
+ monthly_age: 1
106
+ households:
107
+ household1:
108
+ members: [person1, person2]
109
+ state_code: WI
110
+ output:
111
+ wi_works_placement: CMC
@@ -0,0 +1,38 @@
1
+ - name: Case 1, resources below limit.
2
+ period: 2025
3
+ input:
4
+ state_code: WI
5
+ wi_works_countable_resources: 2_000
6
+ output:
7
+ wi_works_resources_eligible: true
8
+
9
+ - name: Case 2, resources at exactly limit.
10
+ period: 2025
11
+ input:
12
+ state_code: WI
13
+ wi_works_countable_resources: 2_500
14
+ output:
15
+ wi_works_resources_eligible: true
16
+
17
+ - name: Case 3, resources above limit.
18
+ period: 2025
19
+ input:
20
+ state_code: WI
21
+ wi_works_countable_resources: 2_501
22
+ output:
23
+ wi_works_resources_eligible: false
24
+
25
+ - name: Case 4, zero resources.
26
+ period: 2025
27
+ input:
28
+ state_code: WI
29
+ wi_works_countable_resources: 0
30
+ output:
31
+ wi_works_resources_eligible: true
32
+
33
+ - name: Case 5, non-Wisconsin state.
34
+ period: 2025
35
+ input:
36
+ state_code: CA
37
+ output:
38
+ wi_works_resources_eligible: false
@@ -41,3 +41,34 @@
41
41
  # heptc_amount = property_tax - wv_sctc - p.ghi_percentage * wv_ghi = 20000-10000-800 = 8200
42
42
  output:
43
43
  wv_homestead_excess_property_tax_credit: 0
44
+
45
+ - name: WV no HEPTC credit with negative income and zero property taxes
46
+ absolute_error_margin: 2
47
+ period: 2024
48
+ input:
49
+ people:
50
+ person1:
51
+ is_tax_unit_head: true
52
+ age: 40
53
+ short_term_capital_gains: -896_056.95
54
+ partnership_s_corp_income: -727_887.75
55
+ taxable_interest_income: 0.012324943
56
+ person2:
57
+ is_tax_unit_spouse: true
58
+ age: 40
59
+ short_term_capital_gains: -896_056.95
60
+ partnership_s_corp_income: -727_887.75
61
+ taxable_interest_income: 0.012324943
62
+ tax_units:
63
+ tax_unit:
64
+ members: [person1, person2]
65
+ spm_units:
66
+ spm_unit:
67
+ members: [person1, person2]
68
+ households:
69
+ household:
70
+ members: [person1, person2]
71
+ state_fips: 54
72
+ output:
73
+ adjusted_gross_income: -3_000
74
+ wv_homestead_excess_property_tax_credit: 0
@@ -0,0 +1,136 @@
1
+ - name: Single filer at 0% FPL - zero contribution
2
+ period: 2026
3
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
4
+ absolute_error_margin: 0.00001
5
+ input:
6
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
7
+ aca_magi_fraction: 0.0
8
+ output:
9
+ aca_required_contribution_percentage: 0.0
10
+
11
+ - name: Single filer at 150% FPL - zero contribution
12
+ period: 2026
13
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
14
+ absolute_error_margin: 0.00001
15
+ input:
16
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
17
+ aca_magi_fraction: 1.5
18
+ output:
19
+ aca_required_contribution_percentage: 0.0
20
+
21
+ - name: Single filer at 200% FPL - 2% contribution
22
+ period: 2026
23
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
24
+ absolute_error_margin: 0.00001
25
+ input:
26
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
27
+ aca_magi_fraction: 2.0
28
+ output:
29
+ aca_required_contribution_percentage: 0.02
30
+
31
+ - name: Single filer at 250% FPL - 4% contribution
32
+ period: 2026
33
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
34
+ absolute_error_margin: 0.00001
35
+ input:
36
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
37
+ aca_magi_fraction: 2.5
38
+ output:
39
+ aca_required_contribution_percentage: 0.04
40
+
41
+ - name: Single filer at 300% FPL - 6% contribution
42
+ period: 2026
43
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
44
+ absolute_error_margin: 0.00001
45
+ input:
46
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
47
+ aca_magi_fraction: 3.0
48
+ output:
49
+ aca_required_contribution_percentage: 0.06
50
+
51
+ - name: Single filer at 400% FPL - 8.5% contribution (old cliff point)
52
+ period: 2026
53
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
54
+ absolute_error_margin: 0.00001
55
+ input:
56
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
57
+ aca_magi_fraction: 4.0
58
+ output:
59
+ aca_required_contribution_percentage: 0.085
60
+
61
+ - name: Single filer at 500% FPL - 8.5% contribution (flat rate)
62
+ period: 2026
63
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
64
+ absolute_error_margin: 0.00001
65
+ input:
66
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
67
+ aca_magi_fraction: 5.0
68
+ output:
69
+ aca_required_contribution_percentage: 0.085
70
+
71
+ - name: Single filer at 600% FPL - 8.5% contribution (flat rate continues)
72
+ period: 2026
73
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
74
+ absolute_error_margin: 0.00001
75
+ input:
76
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
77
+ aca_magi_fraction: 6.0
78
+ output:
79
+ aca_required_contribution_percentage: 0.085
80
+
81
+ - name: Single filer at 700% FPL - 9.25% contribution (new cliff point)
82
+ period: 2026
83
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
84
+ absolute_error_margin: 0.00001
85
+ input:
86
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
87
+ aca_magi_fraction: 7.0
88
+ output:
89
+ aca_required_contribution_percentage: 0.0925
90
+
91
+ - name: Single filer at 175% FPL - interpolated 1% contribution
92
+ period: 2026
93
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
94
+ absolute_error_margin: 0.00001
95
+ input:
96
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
97
+ aca_magi_fraction: 1.75
98
+ output:
99
+ aca_required_contribution_percentage: 0.01
100
+
101
+ - name: Single filer at 350% FPL - interpolated 7.25% contribution
102
+ period: 2026
103
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
104
+ absolute_error_margin: 0.00001
105
+ input:
106
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
107
+ aca_magi_fraction: 3.5
108
+ output:
109
+ aca_required_contribution_percentage: 0.0725
110
+
111
+ - name: Single filer at 650% FPL - interpolated 8.875% contribution
112
+ period: 2026
113
+ reforms: policyengine_us.reforms.aca.aca_ptc_700_fpl_cliff.aca_ptc_700_fpl_cliff
114
+ absolute_error_margin: 0.00001
115
+ input:
116
+ gov.contrib.aca.ptc_700_fpl_cliff.in_effect: true
117
+ aca_magi_fraction: 6.5
118
+ output:
119
+ # 8.5% + (9.25% - 8.5%) * 0.5 = 8.5% + 0.375% = 8.875%
120
+ aca_required_contribution_percentage: 0.08875
121
+
122
+ - name: Baseline comparison at 400% FPL - shows elimination of cliff
123
+ period: 2026
124
+ absolute_error_margin: 0.00001
125
+ input:
126
+ aca_magi_fraction: 4.0
127
+ output:
128
+ aca_required_contribution_percentage: 0.0996
129
+
130
+ - name: Baseline comparison at 500% FPL - shows new eligibility
131
+ period: 2026
132
+ absolute_error_margin: 0.00001
133
+ input:
134
+ aca_magi_fraction: 5.0
135
+ output:
136
+ aca_required_contribution_percentage: 0.0996
@@ -60,6 +60,11 @@ class SelectiveTestRunner:
60
60
  "file_pattern": r"policyengine_us/variables/household/",
61
61
  "test_pattern": r"policyengine_us/tests/policy/baseline/household",
62
62
  },
63
+ # Match household variables to microsimulation tests (for dataset-level tests)
64
+ {
65
+ "file_pattern": r"policyengine_us/variables/household/",
66
+ "test_pattern": r"policyengine_us/tests/microsimulation",
67
+ },
63
68
  # Match reforms in specific states
64
69
  {
65
70
  "file_pattern": r"policyengine_us/reforms/states/([^/]+)",
@@ -21,71 +21,160 @@ def count_yaml_files(directory: Path) -> int:
21
21
  return len(list(directory.rglob("*.yaml")))
22
22
 
23
23
 
24
- def get_test_directories(base_path: Path) -> Dict[str, int]:
25
- """Get all subdirectories and their test counts."""
26
- dir_counts = {}
27
-
28
- # Check for yaml files directly in base directory
29
- root_count = len(list(base_path.glob("*.yaml")))
30
- if root_count > 0:
31
- dir_counts["."] = root_count
32
-
33
- # Get all subdirectories with their test counts
34
- for item in base_path.iterdir():
35
- if item.is_dir():
36
- yaml_count = count_yaml_files(item)
37
- if yaml_count > 0:
38
- dir_counts[item.name] = yaml_count
39
-
40
- return dir_counts
41
-
42
-
43
- def split_into_batches(base_path: Path, num_batches: int) -> List[List[str]]:
24
+ def split_into_batches(
25
+ base_path: Path, num_batches: int, exclude: List[str] = None
26
+ ) -> List[List[str]]:
44
27
  """
45
28
  Split test directories into specified number of batches.
46
29
  Special handling for baseline tests to separate states.
47
30
  Special handling for contrib tests to divide by folder count.
31
+
32
+ Args:
33
+ base_path: Path to the test directory
34
+ num_batches: Number of batches to split into
35
+ exclude: List of directory names to exclude (for contrib tests)
48
36
  """
49
- # Special handling for contrib tests - each folder is its own batch
37
+ if exclude is None:
38
+ exclude = []
39
+
40
+ # Special handling for contrib tests - split into 7 batches by memory usage
50
41
  # Only apply to policy/contrib (structural tests), not baseline/contrib
51
42
  if str(base_path).endswith("policy/contrib"):
52
- # Get all subdirectories and sort them alphabetically
43
+ # Define batches by memory usage (measured empirically)
44
+ BATCH_1 = ["federal", "harris", "treasury"] # ~9.0 GB
45
+ BATCH_2 = ["ctc", "snap_ea", "ubi_center"] # ~8.6 GB
46
+ BATCH_3 = ["deductions", "aca", "snap"] # ~8.1 GB
47
+ BATCH_4 = [
48
+ "tax_exempt",
49
+ "eitc",
50
+ "state_dependent_exemptions",
51
+ "additional_tax_bracket",
52
+ ] # ~8.0 GB
53
+ # Batch 5 is the catch-all for unknown/new folders (~7.8 GB + headroom)
54
+ BATCH_5_DEFINED = [
55
+ "local",
56
+ "dc_single_joint_threshold_ratio.yaml",
57
+ "reconciliation",
58
+ "dc_kccatc.yaml",
59
+ "reported_state_income_tax.yaml",
60
+ ]
61
+ BATCH_6 = ["crfb"] # ~8.9 GB, always alone
62
+ BATCH_7 = ["congress"] # ~6.3 GB
63
+
64
+ # Get all subdirectories (excluding states which is in Heavy job)
53
65
  subdirs = sorted(
54
- [item for item in base_path.iterdir() if item.is_dir()]
66
+ [
67
+ item
68
+ for item in base_path.iterdir()
69
+ if item.is_dir() and item.name not in exclude
70
+ ]
55
71
  )
56
72
 
57
- # Get root level YAML files and sort them
73
+ # Get root level YAML files
58
74
  root_files = sorted(list(base_path.glob("*.yaml")))
59
75
 
60
- # Create one batch per subdirectory
61
- batches = []
76
+ # Build batches
77
+ def get_batch_paths(batch_names, subdirs, root_files):
78
+ paths = []
79
+ for name in batch_names:
80
+ # Check if it's a directory
81
+ for subdir in subdirs:
82
+ if subdir.name == name:
83
+ paths.append(str(subdir))
84
+ break
85
+ # Check if it's a root file
86
+ for f in root_files:
87
+ if f.name == name:
88
+ paths.append(str(f))
89
+ break
90
+ return paths
91
+
92
+ # Collect known folders/files
93
+ all_known = set(
94
+ BATCH_1
95
+ + BATCH_2
96
+ + BATCH_3
97
+ + BATCH_4
98
+ + BATCH_5_DEFINED
99
+ + BATCH_6
100
+ + BATCH_7
101
+ )
102
+
103
+ # Find unknown folders/files (new additions go to Batch 5)
104
+ unknown = []
62
105
  for subdir in subdirs:
63
- batches.append([str(subdir)])
106
+ if subdir.name not in all_known:
107
+ unknown.append(str(subdir))
108
+ for f in root_files:
109
+ if f.name not in all_known:
110
+ unknown.append(str(f))
111
+
112
+ # Build all batches
113
+ batch1 = get_batch_paths(BATCH_1, subdirs, root_files)
114
+ batch2 = get_batch_paths(BATCH_2, subdirs, root_files)
115
+ batch3 = get_batch_paths(BATCH_3, subdirs, root_files)
116
+ batch4 = get_batch_paths(BATCH_4, subdirs, root_files)
117
+ batch5 = (
118
+ get_batch_paths(BATCH_5_DEFINED, subdirs, root_files) + unknown
119
+ )
120
+ batch6 = get_batch_paths(BATCH_6, subdirs, root_files)
121
+ batch7 = get_batch_paths(BATCH_7, subdirs, root_files)
64
122
 
65
- # If there are root files, group them together in their own batch
66
- if root_files:
67
- root_batch = [str(file) for file in root_files]
68
- batches.append(root_batch)
123
+ # Return non-empty batches in order
124
+ batches = []
125
+ for batch in [batch1, batch2, batch3, batch4, batch5, batch6, batch7]:
126
+ if batch:
127
+ batches.append(batch)
69
128
 
70
129
  return batches
71
130
 
131
+ # Special handling for contrib/states - each subfolder is its own batch
132
+ # to allow garbage collection between state tests
133
+ # Memory usage per state varies significantly (1.3 GB - 5.2 GB measured)
134
+ # Note: contrib/congress runs all together (~6.3 GB total, under 7 GB limit)
135
+ if str(base_path).endswith("contrib/states"):
136
+ subdirs = sorted(
137
+ [item for item in base_path.iterdir() if item.is_dir()]
138
+ )
139
+ # Each state folder becomes its own batch
140
+ batches = [[str(subdir)] for subdir in subdirs]
141
+
142
+ # Also include any root-level YAML files as a separate batch
143
+ root_files = sorted(list(base_path.glob("*.yaml")))
144
+ if root_files:
145
+ batches.append([str(file) for file in root_files])
146
+
147
+ return batches if batches else [[str(base_path)]]
148
+
72
149
  # Special handling for reform tests - run all together in one batch
73
150
  if "reform" in str(base_path):
74
151
  return [[str(base_path)]]
75
152
 
76
- # Special handling for baseline tests with 2 batches
77
- if "baseline" in str(base_path) and num_batches == 2:
153
+ # Special handling for states directory - support excluding specific states
154
+ if str(base_path).endswith("gov/states"):
155
+ subdirs = sorted(
156
+ [
157
+ item
158
+ for item in base_path.iterdir()
159
+ if item.is_dir() and item.name not in exclude
160
+ ]
161
+ )
162
+ # Return all non-excluded state directories as a single batch
163
+ if subdirs:
164
+ return [[str(subdir) for subdir in subdirs]]
165
+ return []
166
+
167
+ # Special handling for baseline tests
168
+ if "baseline" in str(base_path) and str(base_path).endswith("baseline"):
78
169
  states_path = base_path / "gov" / "states"
79
- if states_path.exists() and count_yaml_files(states_path) > 0:
80
- # Batch 1: Only states
81
- batch1 = [str(states_path)]
82
170
 
83
- # Batch 2: Everything else (excluding states, household, and contrib)
84
- batch2 = []
171
+ # If --exclude states, skip states and run everything else
172
+ if "states" in exclude:
173
+ batch = []
85
174
 
86
175
  # Add root level files if any
87
176
  for yaml_file in base_path.glob("*.yaml"):
88
- batch2.append(str(yaml_file))
177
+ batch.append(str(yaml_file))
89
178
 
90
179
  # Add all directories except gov/states, household, and contrib
91
180
  for item in base_path.iterdir():
@@ -97,49 +186,17 @@ def split_into_batches(base_path: Path, num_batches: int) -> List[List[str]]:
97
186
  # Add gov subdirectories except states
98
187
  for gov_item in item.iterdir():
99
188
  if gov_item.is_dir() and gov_item.name != "states":
100
- batch2.append(str(gov_item))
189
+ batch.append(str(gov_item))
101
190
  elif gov_item.suffix == ".yaml":
102
- batch2.append(str(gov_item))
191
+ batch.append(str(gov_item))
103
192
  else:
104
193
  # Other non-gov directories
105
- batch2.append(str(item))
106
-
107
- return [batch1, batch2] if batch2 else [batch1]
108
-
109
- # Default behavior for non-baseline or different batch counts
110
- dir_counts = get_test_directories(base_path)
111
-
112
- if num_batches <= 0:
113
- num_batches = 1
194
+ batch.append(str(item))
114
195
 
115
- # If only 1 batch, return everything
116
- if num_batches == 1:
117
- return [[str(base_path)]]
118
-
119
- # Sort directories by test count (largest first)
120
- sorted_dirs = sorted(dir_counts.items(), key=lambda x: x[1], reverse=True)
121
-
122
- # Initialize batches
123
- batches = [[] for _ in range(num_batches)]
124
- batch_counts = [0] * num_batches
125
-
126
- # Distribute directories to batches (greedy algorithm - add to smallest batch)
127
- for dir_name, count in sorted_dirs:
128
- # Find batch with fewest tests
129
- min_batch_idx = batch_counts.index(min(batch_counts))
130
-
131
- # Add directory to that batch
132
- if dir_name == ".":
133
- # Root level files - add individually
134
- for yaml_file in base_path.glob("*.yaml"):
135
- batches[min_batch_idx].append(str(yaml_file))
136
- else:
137
- batches[min_batch_idx].append(str(base_path / dir_name))
138
-
139
- batch_counts[min_batch_idx] += count
196
+ return [batch] if batch else []
140
197
 
141
- # Filter out empty batches
142
- return [batch for batch in batches if batch]
198
+ # Default: return the entire path as a single batch
199
+ return [[str(base_path)]]
143
200
 
144
201
 
145
202
  def run_batch(test_paths: List[str], batch_name: str) -> Dict:
@@ -298,8 +355,15 @@ def main():
298
355
  default=2,
299
356
  help="Number of batches to split tests into (default: 2)",
300
357
  )
358
+ parser.add_argument(
359
+ "--exclude",
360
+ type=str,
361
+ default="",
362
+ help="Comma-separated list of directory names to exclude (for contrib tests)",
363
+ )
301
364
 
302
365
  args = parser.parse_args()
366
+ exclude_list = [x.strip() for x in args.exclude.split(",") if x.strip()]
303
367
 
304
368
  if not os.path.exists("policyengine_us"):
305
369
  print("Error: Must run from PolicyEngine US root directory")
@@ -314,13 +378,15 @@ def main():
314
378
  print("=" * 60)
315
379
  print(f"Test path: {test_path}")
316
380
  print(f"Requested batches: {args.batches}")
381
+ if exclude_list:
382
+ print(f"Excluding: {', '.join(exclude_list)}")
317
383
 
318
384
  # Count total tests
319
385
  total_tests = count_yaml_files(test_path)
320
386
  print(f"Total test files: {total_tests}")
321
387
 
322
388
  # Split into batches
323
- batches = split_into_batches(test_path, args.batches)
389
+ batches = split_into_batches(test_path, args.batches, exclude_list)
324
390
  if len(batches) != args.batches:
325
391
  print(
326
392
  f"Actual batches: {len(batches)} (optimized for {total_tests} files)"
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class has_emergency_medical_condition(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Has emergency medical condition"
8
+ definition_period = YEAR
9
+ default_value = False
10
+ reference = (
11
+ "https://www.law.cornell.edu/uscode/text/42/1396b#v_3",
12
+ "https://www.law.cornell.edu/cfr/text/42/440.255#c",
13
+ )
14
+ # Placing the patient's health in serious jeopardy
15
+ # Serious impairment to bodily functions
16
+ # Serious dysfunction of any bodily organ or part
@@ -0,0 +1,33 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class is_emergency_medicaid_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Eligible for Emergency Medicaid"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.law.cornell.edu/uscode/text/42/1396b#v_2",
11
+ "https://www.law.cornell.edu/cfr/text/42/435.406",
12
+ )
13
+
14
+ def formula(person, period, parameters):
15
+ p = parameters(period).gov.hhs.medicaid.emergency_medicaid
16
+
17
+ has_emergency_condition = person(
18
+ "has_emergency_medical_condition", period
19
+ )
20
+ medicaid_category = person("medicaid_category", period)
21
+ meets_medicaid_requirements = (
22
+ medicaid_category != medicaid_category.possible_values.NONE
23
+ )
24
+ immigration_status_eligible = person(
25
+ "is_medicaid_immigration_status_eligible", period
26
+ )
27
+
28
+ return (
29
+ p.enabled
30
+ & has_emergency_condition
31
+ & meets_medicaid_requirements
32
+ & ~immigration_status_eligible
33
+ )