policyengine-us 1.465.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 (207) hide show
  1. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/enabled.yaml +14 -0
  2. policyengine_us/parameters/gov/hhs/medicaid/emergency_medicaid/uses_medicaid_income_thresholds.yaml +13 -0
  3. policyengine_us/parameters/gov/ssa/revenue/oasdi_share_of_gross_ss.yaml +13 -0
  4. policyengine_us/parameters/gov/states/il/isbe/age_threshold/teen_parent.yaml +15 -0
  5. policyengine_us/parameters/gov/states/il/isbe/income/countable_sources.yaml +28 -0
  6. policyengine_us/parameters/gov/states/il/isbe/income/income_limit_rate.yaml +13 -0
  7. policyengine_us/parameters/gov/states/il/isbe/pfa/benefit/amount.yaml +15 -0
  8. policyengine_us/parameters/gov/states/il/isbe/pfae/benefit/amount.yaml +15 -0
  9. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/age_range.yaml +26 -0
  10. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/deep_poverty_rate.yaml +10 -0
  11. policyengine_us/parameters/gov/states/il/isbe/pfae/eligibility/income/low_income_rate.yaml +10 -0
  12. policyengine_us/parameters/gov/states/il/isbe/pi/benefit/amount.yaml +16 -0
  13. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/child.yaml +13 -0
  14. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/age_threshold/young_parent.yaml +11 -0
  15. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/deep_poverty_rate.yaml +11 -0
  16. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/low_income_rate.yaml +11 -0
  17. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/income/poverty_rate.yaml +11 -0
  18. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/priority/geriatric_pregnancy_age.yaml +10 -0
  19. policyengine_us/parameters/gov/states/il/isbe/pi/eligibility/risk_factors/minimum_score.yaml +11 -0
  20. policyengine_us/parameters/gov/states/in/fssa/README.md +1 -0
  21. policyengine_us/parameters/gov/states/in/fssa/tanf/README.md +1 -0
  22. policyengine_us/parameters/gov/states/in/fssa/tanf/eligibility/continuing/fpg_rate.yaml +12 -0
  23. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/benefit/earned_income_disregard/rate.yaml +12 -0
  24. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/earned_income_disregard/rate.yaml +12 -0
  25. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/eligibility/flat_disregard/amount.yaml +12 -0
  26. policyengine_us/parameters/gov/states/in/fssa/tanf/income/deductions/work_expense/amount.yaml +12 -0
  27. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/at_application/amount.yaml +12 -0
  28. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/limit/while_receiving/amount.yaml +12 -0
  29. policyengine_us/parameters/gov/states/in/fssa/tanf/resources/vehicle_exemption/amount.yaml +12 -0
  30. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/amount.yaml +34 -0
  31. policyengine_us/parameters/gov/states/in/fssa/tanf/standard_of_need/max_unit_size.yaml +12 -0
  32. policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml +3 -0
  33. policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml +13 -4
  34. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/agi_subtractions.yaml +18 -0
  35. policyengine_us/parameters/gov/states/mo/tax/income/subtractions/net_capital_gain/rate.yaml +14 -0
  36. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/flat_amount.yaml +14 -0
  37. policyengine_us/parameters/gov/states/oh/odjfs/owf/income/deductions/earned_income_disregard/percentage_of_disregard.yaml +16 -0
  38. policyengine_us/parameters/gov/states/oh/odjfs/owf/initial_eligibility/income_limit_rate.yaml +14 -0
  39. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/additional_person_increment.yaml +14 -0
  40. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/amounts.yaml +43 -0
  41. policyengine_us/parameters/gov/states/oh/odjfs/owf/payment_standard/max_group_size.yaml +12 -0
  42. policyengine_us/parameters/gov/states/or/odhs/tanf/age_threshold/minor_child.yaml +12 -0
  43. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/additional_person.yaml +12 -0
  44. policyengine_us/parameters/gov/states/or/odhs/tanf/income/adjusted_income_limit/amount.yaml +32 -0
  45. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/max.yaml +12 -0
  46. policyengine_us/parameters/gov/states/or/odhs/tanf/income/child_support_disregard/per_child.yaml +12 -0
  47. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/additional_person.yaml +12 -0
  48. policyengine_us/parameters/gov/states/or/odhs/tanf/income/countable_income_limit/amount.yaml +32 -0
  49. policyengine_us/parameters/gov/states/or/odhs/tanf/income/earned_income_disregard_rate.yaml +12 -0
  50. policyengine_us/parameters/gov/states/or/odhs/tanf/income/eli_multiplier.yaml +12 -0
  51. policyengine_us/parameters/gov/states/or/odhs/tanf/maximum_need_group_size.yaml +12 -0
  52. policyengine_us/parameters/gov/states/or/odhs/tanf/minimum_benefit.yaml +12 -0
  53. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/additional_person.yaml +12 -0
  54. policyengine_us/parameters/gov/states/or/odhs/tanf/payment_standard/amount.yaml +32 -0
  55. policyengine_us/parameters/gov/states/or/odhs/tanf/resources/limit/amount.yaml +12 -0
  56. policyengine_us/tests/microsimulation/test_microsim.py +46 -0
  57. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/integration.yaml +667 -0
  58. policyengine_us/tests/policy/baseline/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.yaml +376 -0
  59. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.yaml +86 -0
  60. policyengine_us/tests/policy/baseline/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.yaml +85 -0
  61. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +40 -21
  62. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +57 -14
  63. policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +17 -35
  64. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_income_eligible.yaml +15 -0
  65. policyengine_us/tests/policy/baseline/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.yaml +310 -0
  66. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.yaml +39 -0
  67. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.yaml +26 -0
  68. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.yaml +49 -0
  69. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/integration.yaml +102 -0
  70. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.yaml +31 -0
  71. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.yaml +15 -0
  72. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.yaml +15 -0
  73. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.yaml +85 -0
  74. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.yaml +46 -0
  75. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.yaml +48 -0
  76. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_eligible.yaml +38 -0
  77. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.yaml +74 -0
  78. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.yaml +43 -0
  79. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.yaml +43 -0
  80. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.yaml +43 -0
  81. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.yaml +75 -0
  82. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.yaml +74 -0
  83. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.yaml +100 -0
  84. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.yaml +91 -0
  85. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.yaml +102 -0
  86. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.yaml +160 -0
  87. policyengine_us/tests/policy/baseline/gov/states/il/isbe/pi/integration.yaml +187 -0
  88. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/benefit/in_tanf_payment_standard.yaml +58 -0
  89. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.yaml +163 -0
  90. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.yaml +94 -0
  91. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.yaml +74 -0
  92. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.yaml +63 -0
  93. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/in_tanf.yaml +64 -0
  94. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.yaml +83 -0
  95. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.yaml +112 -0
  96. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.yaml +71 -0
  97. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/integration.yaml +249 -0
  98. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.yaml +38 -0
  99. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/in_tanf_resources_eligible.yaml +60 -0
  100. policyengine_us/tests/policy/baseline/gov/states/in/fssa/tanf/resources/integration_with_eligibility.yaml +78 -0
  101. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.yaml +176 -0
  102. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.yaml +65 -0
  103. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  104. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/integration.yaml +152 -0
  105. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_countable_income.yaml +113 -0
  106. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_eligible.yaml +239 -0
  107. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_fpg.yaml +73 -0
  108. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_income_eligible.yaml +80 -0
  109. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_initial_income_eligible.yaml +160 -0
  110. policyengine_us/tests/policy/baseline/gov/states/oh/odjfs/owf/oh_owf_payment_standard.yaml +77 -0
  111. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/integration.yaml +363 -0
  112. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf.yaml +94 -0
  113. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income.yaml +77 -0
  114. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_adjusted_income_eligible.yaml +73 -0
  115. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_child_support_disregard.yaml +272 -0
  116. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income.yaml +70 -0
  117. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_countable_income_eligible.yaml +73 -0
  118. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_eligible.yaml +47 -0
  119. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eli_income_eligible.yaml +75 -0
  120. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_eligible.yaml +68 -0
  121. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_income_eligible.yaml +211 -0
  122. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_payment_standard.yaml +68 -0
  123. policyengine_us/tests/policy/baseline/gov/states/or/odhs/tanf/or_tanf_resources_eligible.yaml +37 -0
  124. policyengine_us/tests/run_selective_tests.py +5 -0
  125. policyengine_us/tests/test_batched.py +106 -11
  126. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/has_emergency_medical_condition.py +16 -0
  127. policyengine_us/variables/gov/hhs/medicaid/emergency_medicaid/is_emergency_medicaid_eligible.py +33 -0
  128. policyengine_us/variables/gov/ssa/revenue/employer_medicare_tax_income_tax_revenue.py +58 -0
  129. policyengine_us/variables/gov/ssa/revenue/employer_ss_tax_income_tax_revenue.py +60 -0
  130. policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +51 -15
  131. policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +66 -15
  132. policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +11 -6
  133. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_income_eligible.py +26 -0
  134. policyengine_us/variables/gov/states/il/isbe/eligibility/il_isbe_was_teen_parent_at_first_birth.py +32 -0
  135. policyengine_us/variables/gov/states/il/isbe/income/il_isbe_countable_income.py +13 -0
  136. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa.py +15 -0
  137. policyengine_us/variables/gov/states/il/isbe/pfa/il_pfa_eligible.py +18 -0
  138. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_age_eligible_child.py +23 -0
  139. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_basic_eligible.py +19 -0
  140. policyengine_us/variables/gov/states/il/isbe/pfae/eligibility/il_pfae_eligible.py +28 -0
  141. policyengine_us/variables/gov/states/il/isbe/pfae/il_pfae.py +19 -0
  142. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_has_highest_priority_factor.py +40 -0
  143. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_deep_poverty.py +23 -0
  144. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_is_low_income.py +21 -0
  145. policyengine_us/variables/gov/states/il/isbe/pfae/priority/il_pfae_secondary_priority_factor_count.py +65 -0
  146. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_basic_eligible.py +17 -0
  147. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_demographic_eligible.py +18 -0
  148. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/il_pi_risk_eligible.py +18 -0
  149. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_deep_poverty.py +23 -0
  150. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_low_income.py +21 -0
  151. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/income/il_pi_is_poverty.py +21 -0
  152. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_developmental_delay.py +16 -0
  153. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_has_geriatric_pregnancy.py +20 -0
  154. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_highest_priority_score.py +37 -0
  155. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_is_young_parent_family.py +21 -0
  156. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_lower_priority_score.py +36 -0
  157. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_other_priority_score.py +54 -0
  158. policyengine_us/variables/gov/states/il/isbe/pi/eligibility/priority/il_pi_priority_score.py +19 -0
  159. policyengine_us/variables/gov/states/il/isbe/pi/il_pi.py +15 -0
  160. policyengine_us/variables/gov/states/il/isbe/pi/il_pi_eligible.py +18 -0
  161. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_countable_income_eligible.py +31 -0
  162. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_eligible.py +36 -0
  163. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_income_eligible.py +21 -0
  164. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_payment_eligible.py +18 -0
  165. policyengine_us/variables/gov/states/in/fssa/tanf/eligibility/in_tanf_resources_eligible.py +25 -0
  166. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf.py +21 -0
  167. policyengine_us/variables/gov/states/in/fssa/tanf/in_tanf_payment_standard.py +19 -0
  168. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income.py +20 -0
  169. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_earned_income_for_eligibility.py +33 -0
  170. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_eligibility.py +19 -0
  171. policyengine_us/variables/gov/states/in/fssa/tanf/income/in_tanf_countable_income_for_payment.py +13 -0
  172. policyengine_us/variables/gov/states/in/fssa/tanf/resources/in_tanf_countable_resources.py +27 -0
  173. policyengine_us/variables/gov/states/mo/tax/income/adjusted_gross_income/mo_adjusted_gross_income.py +1 -1
  174. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_agi_subtractions.py +16 -0
  175. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction.py +20 -0
  176. policyengine_us/variables/gov/states/mo/tax/income/subtractions/mo_capital_gains_subtraction_person.py +28 -0
  177. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_eligible.py +39 -0
  178. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_income_eligible.py +33 -0
  179. policyengine_us/variables/gov/states/oh/odjfs/owf/eligibility/oh_owf_initial_income_eligible.py +30 -0
  180. policyengine_us/variables/gov/states/oh/odjfs/owf/income/oh_owf_countable_income.py +40 -0
  181. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf.py +23 -0
  182. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_fpg.py +32 -0
  183. policyengine_us/variables/gov/states/oh/odjfs/owf/oh_owf_payment_standard.py +26 -0
  184. policyengine_us/variables/gov/states/or/odhs/tanf/benefit/or_tanf_payment_standard.py +23 -0
  185. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_adjusted_income_eligible.py +28 -0
  186. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_countable_income_eligible.py +28 -0
  187. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_eligible.py +16 -0
  188. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eli_income_eligible.py +20 -0
  189. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_eligible.py +25 -0
  190. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_income_eligible.py +26 -0
  191. policyengine_us/variables/gov/states/or/odhs/tanf/eligibility/or_tanf_resources_eligible.py +19 -0
  192. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_adjusted_income.py +21 -0
  193. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_child_support_disregard.py +25 -0
  194. policyengine_us/variables/gov/states/or/odhs/tanf/income/or_tanf_countable_income.py +20 -0
  195. policyengine_us/variables/gov/states/or/odhs/tanf/or_tanf.py +25 -0
  196. policyengine_us/variables/household/demographic/geographic/county/county.py +9 -0
  197. policyengine_us/variables/household/demographic/geographic/is_non_english_speaking_home.py +9 -0
  198. policyengine_us/variables/household/demographic/household/parent_has_less_than_high_school_education.py +9 -0
  199. policyengine_us/variables/household/demographic/person/has_developmental_delay.py +9 -0
  200. policyengine_us/variables/household/demographic/person/has_individualized_education_program.py +9 -0
  201. policyengine_us/variables/household/demographic/person/has_no_prior_formal_early_learning.py +9 -0
  202. policyengine_us/variables/household/demographic/person/is_born_outside_us.py +9 -0
  203. {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/METADATA +1 -1
  204. {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/RECORD +207 -19
  205. {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/WHEEL +0 -0
  206. {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/entry_points.txt +0 -0
  207. {policyengine_us-1.465.0.dist-info → policyengine_us-1.471.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,75 @@
1
+ # Oregon TANF ELI Income Eligibility (OAR 461-155-0030(3))
2
+ # Tests countable income < (payment standard × 2)
3
+
4
+ - name: Zero countable income passes ELI test
5
+ # 3-person ELI limit = $506 × 2 = $1,012
6
+ period: 2024-01
7
+ input:
8
+ state_code: OR
9
+ spm_unit_size: 3
10
+ or_tanf_countable_income: 0
11
+ output:
12
+ or_tanf_eli_income_eligible: true
13
+
14
+ - name: Countable income below ELI limit is eligible
15
+ # 3-person ELI limit = $506 × 2 = $1,012
16
+ period: 2024-01
17
+ input:
18
+ state_code: OR
19
+ spm_unit_size: 3
20
+ or_tanf_countable_income: 800
21
+ output:
22
+ or_tanf_eli_income_eligible: true
23
+
24
+ - name: Countable income just below ELI limit is eligible
25
+ # 3-person ELI limit = $506 × 2 = $1,012
26
+ # $1,011 < $1,012 = eligible
27
+ period: 2024-01
28
+ input:
29
+ state_code: OR
30
+ spm_unit_size: 3
31
+ or_tanf_countable_income: 1_011
32
+ output:
33
+ or_tanf_eli_income_eligible: true
34
+
35
+ - name: Countable income at ELI limit is not eligible
36
+ # 3-person ELI limit = $506 × 2 = $1,012
37
+ # $1,012 >= $1,012 = not eligible
38
+ period: 2024-01
39
+ input:
40
+ state_code: OR
41
+ spm_unit_size: 3
42
+ or_tanf_countable_income: 1_012
43
+ output:
44
+ or_tanf_eli_income_eligible: false
45
+
46
+ - name: Countable income above ELI limit is not eligible
47
+ # 3-person ELI limit = $506 × 2 = $1,012
48
+ period: 2024-01
49
+ input:
50
+ state_code: OR
51
+ spm_unit_size: 3
52
+ or_tanf_countable_income: 1_100
53
+ output:
54
+ or_tanf_eli_income_eligible: false
55
+
56
+ - name: Single person ELI test
57
+ # 1-person ELI limit = $339 × 2 = $678
58
+ period: 2024-01
59
+ input:
60
+ state_code: OR
61
+ spm_unit_size: 1
62
+ or_tanf_countable_income: 677
63
+ output:
64
+ or_tanf_eli_income_eligible: true
65
+
66
+ - name: Large household ELI test with additional person increment
67
+ # 11-person payment standard = $1,204 + $110 = $1,314
68
+ # ELI limit = $1,314 × 2 = $2,628
69
+ period: 2024-01
70
+ input:
71
+ state_code: OR
72
+ spm_unit_size: 11
73
+ or_tanf_countable_income: 2_627
74
+ output:
75
+ or_tanf_eli_income_eligible: true
@@ -0,0 +1,68 @@
1
+ # Oregon TANF Overall Eligibility (OAR 461-135-0070)
2
+ # Requires: demographic eligibility + citizenship + income eligibility + resources eligibility
3
+
4
+ - name: All eligibility criteria met is eligible
5
+ period: 2024-01
6
+ input:
7
+ state_code: OR
8
+ is_demographic_tanf_eligible: true
9
+ is_citizen_or_legal_immigrant: true
10
+ or_tanf_income_eligible: true
11
+ or_tanf_resources_eligible: true
12
+ output:
13
+ or_tanf_eligible: true
14
+
15
+ - name: Not demographic eligible is not eligible
16
+ period: 2024-01
17
+ input:
18
+ state_code: OR
19
+ is_demographic_tanf_eligible: false
20
+ is_citizen_or_legal_immigrant: true
21
+ or_tanf_income_eligible: true
22
+ or_tanf_resources_eligible: true
23
+ output:
24
+ or_tanf_eligible: false
25
+
26
+ - name: No citizen or legal immigrant is not eligible
27
+ period: 2024-01
28
+ input:
29
+ state_code: OR
30
+ is_demographic_tanf_eligible: true
31
+ is_citizen_or_legal_immigrant: false
32
+ or_tanf_income_eligible: true
33
+ or_tanf_resources_eligible: true
34
+ output:
35
+ or_tanf_eligible: false
36
+
37
+ - name: Not income eligible is not eligible
38
+ period: 2024-01
39
+ input:
40
+ state_code: OR
41
+ is_demographic_tanf_eligible: true
42
+ is_citizen_or_legal_immigrant: true
43
+ or_tanf_income_eligible: false
44
+ or_tanf_resources_eligible: true
45
+ output:
46
+ or_tanf_eligible: false
47
+
48
+ - name: Not resources eligible is not eligible
49
+ period: 2024-01
50
+ input:
51
+ state_code: OR
52
+ is_demographic_tanf_eligible: true
53
+ is_citizen_or_legal_immigrant: true
54
+ or_tanf_income_eligible: true
55
+ or_tanf_resources_eligible: false
56
+ output:
57
+ or_tanf_eligible: false
58
+
59
+ - name: Multiple eligibility failures
60
+ period: 2024-01
61
+ input:
62
+ state_code: OR
63
+ is_demographic_tanf_eligible: false
64
+ is_citizen_or_legal_immigrant: false
65
+ or_tanf_income_eligible: false
66
+ or_tanf_resources_eligible: false
67
+ output:
68
+ or_tanf_eligible: false
@@ -0,0 +1,211 @@
1
+ # Oregon TANF Income Eligibility (OAR 461-160-0100)
2
+ # Standard test: countable income < countable limit AND adjusted income < adjusted limit
3
+ # ELI test (for enrolled recipients with earned income): countable income < ELI limit (2 × payment standard)
4
+
5
+ - name: Zero income passes both tests
6
+ period: 2024-01
7
+ input:
8
+ state_code: OR
9
+ spm_unit_size: 3
10
+ or_tanf_countable_income: 0
11
+ or_tanf_adjusted_income: 0
12
+ output:
13
+ or_tanf_income_eligible: true
14
+
15
+ - name: Countable income below limit and adjusted income below limit is eligible
16
+ # 3-person household:
17
+ # Countable income limit = $616
18
+ # Adjusted income limit = $485
19
+ # Countable income ($400) < $616 - passes
20
+ # Adjusted income ($300) < $485 - passes
21
+ period: 2024-01
22
+ input:
23
+ state_code: OR
24
+ spm_unit_size: 3
25
+ or_tanf_countable_income: 400
26
+ or_tanf_adjusted_income: 300
27
+ output:
28
+ or_tanf_income_eligible: true
29
+
30
+ - name: Countable income at or above limit is ineligible
31
+ # 3-person household:
32
+ # Countable income limit = $616
33
+ # Adjusted income limit = $485
34
+ # Countable income ($616) >= $616 - fails
35
+ period: 2024-01
36
+ input:
37
+ state_code: OR
38
+ spm_unit_size: 3
39
+ or_tanf_countable_income: 616
40
+ or_tanf_adjusted_income: 300
41
+ output:
42
+ or_tanf_income_eligible: false
43
+
44
+ - name: Adjusted income at or above limit is ineligible
45
+ # 3-person household:
46
+ # Countable income limit = $616
47
+ # Adjusted income limit = $485
48
+ # Countable income ($500) < $616 - passes
49
+ # Adjusted income ($485) >= $485 - fails
50
+ period: 2024-01
51
+ input:
52
+ state_code: OR
53
+ spm_unit_size: 3
54
+ or_tanf_countable_income: 500
55
+ or_tanf_adjusted_income: 485
56
+ output:
57
+ or_tanf_income_eligible: false
58
+
59
+ - name: Just below both limits is eligible
60
+ # 3-person household:
61
+ # Countable income ($615) < $616 - passes
62
+ # Adjusted income ($484) < $485 - passes
63
+ period: 2024-01
64
+ input:
65
+ state_code: OR
66
+ spm_unit_size: 3
67
+ or_tanf_countable_income: 615
68
+ or_tanf_adjusted_income: 484
69
+ output:
70
+ or_tanf_income_eligible: true
71
+
72
+ - name: Single person household income test
73
+ # 1-person household:
74
+ # Countable income limit = $345
75
+ # Adjusted income limit = $326
76
+ # Countable income ($300) < $345 - passes
77
+ # Adjusted income ($250) < $326 - passes
78
+ period: 2024-01
79
+ input:
80
+ state_code: OR
81
+ spm_unit_size: 1
82
+ or_tanf_countable_income: 300
83
+ or_tanf_adjusted_income: 250
84
+ output:
85
+ or_tanf_income_eligible: true
86
+
87
+ # ELI (Exit Limit Increase) test cases
88
+ # ELI applies when enrolled in TANF AND has earned income
89
+ # ELI limit = payment_standard × eli_multiplier (2)
90
+
91
+ - name: ELI eligible - income above standard limit but below ELI limit
92
+ # 3-person household:
93
+ # Standard countable limit = $616
94
+ # ELI limit = $506 × 2 = $1,012
95
+ # Countable income ($800) > $616 (fails standard) but < $1,012 (passes ELI)
96
+ # With ELI, family remains eligible
97
+ period: 2024-01
98
+ input:
99
+ state_code: OR
100
+ spm_unit_size: 3
101
+ is_tanf_enrolled: true
102
+ or_tanf_countable_income: 800
103
+ or_tanf_adjusted_income: 500
104
+ employment_income_before_lsr: 6_000
105
+ output:
106
+ or_tanf_income_eligible: true
107
+
108
+ - name: ELI eligible - income at ELI limit is ineligible
109
+ # 3-person household:
110
+ # ELI limit = $506 × 2 = $1,012
111
+ # Countable income ($1,012) >= $1,012 - fails ELI test
112
+ period: 2024-01
113
+ input:
114
+ state_code: OR
115
+ spm_unit_size: 3
116
+ is_tanf_enrolled: true
117
+ or_tanf_countable_income: 1_012
118
+ or_tanf_adjusted_income: 600
119
+ employment_income_before_lsr: 6_000
120
+ output:
121
+ or_tanf_income_eligible: false
122
+
123
+ - name: ELI eligible - income just below ELI limit is eligible
124
+ # 3-person household:
125
+ # ELI limit = $506 × 2 = $1,012
126
+ # Countable income ($1,011) < $1,012 - passes ELI test
127
+ period: 2024-01
128
+ input:
129
+ state_code: OR
130
+ spm_unit_size: 3
131
+ is_tanf_enrolled: true
132
+ or_tanf_countable_income: 1_011
133
+ or_tanf_adjusted_income: 600
134
+ employment_income_before_lsr: 6_000
135
+ output:
136
+ or_tanf_income_eligible: true
137
+
138
+ - name: Not ELI eligible - enrolled but no earned income uses standard test
139
+ # 3-person household with only unearned income (not ELI eligible)
140
+ # Standard countable limit = $616
141
+ # Countable income ($700) >= $616 - fails standard test
142
+ period: 2024-01
143
+ input:
144
+ state_code: OR
145
+ spm_unit_size: 3
146
+ is_tanf_enrolled: true
147
+ or_tanf_countable_income: 700
148
+ or_tanf_adjusted_income: 400
149
+ output:
150
+ or_tanf_income_eligible: false
151
+
152
+ - name: Not enrolled with earned income - uses standard test not ELI
153
+ # New applicant (not enrolled) with earned income
154
+ # ELI does NOT apply to new applicants
155
+ # Standard countable limit = $616
156
+ # Countable income ($700) >= $616 - fails standard test
157
+ period: 2024-01
158
+ input:
159
+ state_code: OR
160
+ spm_unit_size: 3
161
+ is_tanf_enrolled: false
162
+ or_tanf_countable_income: 700
163
+ or_tanf_adjusted_income: 400
164
+ employment_income_before_lsr: 6_000
165
+ output:
166
+ or_tanf_income_eligible: false
167
+
168
+ # Household size > 10 (additional person increment tests)
169
+
170
+ - name: Eleven person household income test with additional person increment
171
+ # 11-person household:
172
+ # Countable income limit = $1,209 (size 10) + $125 = $1,334
173
+ # Adjusted income limit = $1,150 (size 10) + $110 = $1,260
174
+ # Countable income ($1,200) < $1,334 - passes
175
+ # Adjusted income ($1,100) < $1,260 - passes
176
+ period: 2024-01
177
+ input:
178
+ state_code: OR
179
+ spm_unit_size: 11
180
+ or_tanf_countable_income: 1_200
181
+ or_tanf_adjusted_income: 1_100
182
+ output:
183
+ or_tanf_income_eligible: true
184
+
185
+ - name: Twelve person household income test
186
+ # 12-person household:
187
+ # Countable income limit = $1,209 + 2 × $125 = $1,459
188
+ # Adjusted income limit = $1,150 + 2 × $110 = $1,370
189
+ # Countable income ($1,400) < $1,459 - passes
190
+ # Adjusted income ($1,300) < $1,370 - passes
191
+ period: 2024-01
192
+ input:
193
+ state_code: OR
194
+ spm_unit_size: 12
195
+ or_tanf_countable_income: 1_400
196
+ or_tanf_adjusted_income: 1_300
197
+ output:
198
+ or_tanf_income_eligible: true
199
+
200
+ - name: Eleven person household fails adjusted income test
201
+ # 11-person household:
202
+ # Adjusted income limit = $1,150 + $110 = $1,260
203
+ # Adjusted income ($1,260) >= $1,260 - fails
204
+ period: 2024-01
205
+ input:
206
+ state_code: OR
207
+ spm_unit_size: 11
208
+ or_tanf_countable_income: 1_200
209
+ or_tanf_adjusted_income: 1_260
210
+ output:
211
+ or_tanf_income_eligible: false
@@ -0,0 +1,68 @@
1
+ # Oregon TANF Payment Standards (OAR 461-155-0030)
2
+ # Monthly payment standards for benefit groups containing an adult
3
+ # Values effective since July 1, 2011
4
+
5
+ - name: Single person household gets $339 monthly payment standard
6
+ period: 2024-01
7
+ input:
8
+ state_code: OR
9
+ spm_unit_size: 1
10
+ output:
11
+ or_tanf_payment_standard: 339
12
+
13
+ - name: Two person household gets $432 monthly payment standard
14
+ period: 2024-01
15
+ input:
16
+ state_code: OR
17
+ spm_unit_size: 2
18
+ output:
19
+ or_tanf_payment_standard: 432
20
+
21
+ - name: Three person household gets $506 monthly payment standard
22
+ period: 2024-01
23
+ input:
24
+ state_code: OR
25
+ spm_unit_size: 3
26
+ output:
27
+ or_tanf_payment_standard: 506
28
+
29
+ - name: Four person household gets $621 monthly payment standard
30
+ period: 2024-01
31
+ input:
32
+ state_code: OR
33
+ spm_unit_size: 4
34
+ output:
35
+ or_tanf_payment_standard: 621
36
+
37
+ - name: Five person household gets $721 monthly payment standard
38
+ period: 2024-01
39
+ input:
40
+ state_code: OR
41
+ spm_unit_size: 5
42
+ output:
43
+ or_tanf_payment_standard: 721
44
+
45
+ - name: Six person household gets $833 monthly payment standard
46
+ period: 2024-01
47
+ input:
48
+ state_code: OR
49
+ spm_unit_size: 6
50
+ output:
51
+ or_tanf_payment_standard: 833
52
+
53
+ - name: Ten person household gets $1,204 monthly payment standard
54
+ period: 2024-01
55
+ input:
56
+ state_code: OR
57
+ spm_unit_size: 10
58
+ output:
59
+ or_tanf_payment_standard: 1_204
60
+
61
+ - name: Eleven person household gets payment standard with additional increment
62
+ # Size 10 ($1,204) + $110 increment = $1,314
63
+ period: 2024-01
64
+ input:
65
+ state_code: OR
66
+ spm_unit_size: 11
67
+ output:
68
+ or_tanf_payment_standard: 1_314
@@ -0,0 +1,37 @@
1
+ # Oregon TANF Resources Eligibility (OAR 461-160-0015)
2
+ # Resource limit: $10,000
3
+
4
+ - name: Zero resources is eligible
5
+ period: 2024-01
6
+ input:
7
+ state_code: OR
8
+ spm_unit_assets: 0
9
+ output:
10
+ or_tanf_resources_eligible: true
11
+
12
+ - name: Resources below limit is eligible
13
+ # Countable resources ($5,000) <= $10,000 limit
14
+ period: 2024-01
15
+ input:
16
+ state_code: OR
17
+ spm_unit_assets: 5_000
18
+ output:
19
+ or_tanf_resources_eligible: true
20
+
21
+ - name: Resources at limit is eligible
22
+ # Countable resources ($10,000) <= $10,000 limit
23
+ period: 2024-01
24
+ input:
25
+ state_code: OR
26
+ spm_unit_assets: 10_000
27
+ output:
28
+ or_tanf_resources_eligible: true
29
+
30
+ - name: Resources above limit is not eligible
31
+ # Countable resources ($10,001) > $10,000 limit
32
+ period: 2024-01
33
+ input:
34
+ state_code: OR
35
+ spm_unit_assets: 10_001
36
+ output:
37
+ or_tanf_resources_eligible: false
@@ -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/([^/]+)",
@@ -37,11 +37,31 @@ def split_into_batches(
37
37
  if exclude is None:
38
38
  exclude = []
39
39
 
40
- # Special handling for contrib tests - each folder is its own batch
40
+ # Special handling for contrib tests - split into 7 batches by memory usage
41
41
  # Only apply to policy/contrib (structural tests), not baseline/contrib
42
42
  if str(base_path).endswith("policy/contrib"):
43
- # Get all subdirectories and sort them alphabetically
44
- # Exclude specified directories
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)
45
65
  subdirs = sorted(
46
66
  [
47
67
  item
@@ -50,25 +70,100 @@ def split_into_batches(
50
70
  ]
51
71
  )
52
72
 
53
- # Get root level YAML files and sort them
73
+ # Get root level YAML files
54
74
  root_files = sorted(list(base_path.glob("*.yaml")))
55
75
 
56
- # Create one batch per subdirectory
57
- 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 = []
58
105
  for subdir in subdirs:
59
- 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)
60
122
 
61
- # If there are root files, group them together in their own batch
62
- if root_files:
63
- root_batch = [str(file) for file in root_files]
64
- 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)
65
128
 
66
129
  return batches
67
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
+
68
149
  # Special handling for reform tests - run all together in one batch
69
150
  if "reform" in str(base_path):
70
151
  return [[str(base_path)]]
71
152
 
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
+
72
167
  # Special handling for baseline tests
73
168
  if "baseline" in str(base_path) and str(base_path).endswith("baseline"):
74
169
  states_path = base_path / "gov" / "states"
@@ -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
+ )