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,65 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pfae_secondary_priority_factor_count(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Number of secondary priority factors for Illinois PFAE"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/pages/preschool-for-all.aspx",
11
+ "https://www.isbe.net/Documents/pdg-eg-grant-enrollment-form.pdf#page=2",
12
+ )
13
+ defined_for = StateCode.IL
14
+
15
+ def formula(person, period, parameters):
16
+ spm_unit = person.spm_unit
17
+ household = person.household
18
+
19
+ # Factor 5: Income <= 100% FPL
20
+ is_low_income = person("il_pfae_is_low_income", period)
21
+
22
+ # Factor 6: Parent didn't complete high school (Household-level variable)
23
+ parent_low_education = household(
24
+ "parent_has_less_than_high_school_education", period
25
+ )
26
+
27
+ # Factor 7: Teen parent at birth of first child
28
+ # Parent was under 20 when first child was born
29
+ was_teen_parent = spm_unit(
30
+ "il_isbe_was_teen_parent_at_first_birth", period
31
+ )
32
+
33
+ # Factor 8: Child or parent born outside US
34
+ born_outside_us = person("is_born_outside_us", period)
35
+ is_immigrant_family = spm_unit.any(born_outside_us)
36
+
37
+ # Factor 9: Non-English speaking home (Household-level variable)
38
+ is_non_english_home = household("is_non_english_speaking_home", period)
39
+
40
+ # Factor 10: Active Duty Military family
41
+ is_active_duty_military = person("military_basic_pay", period) > 0
42
+ is_military_family = spm_unit.any(is_active_duty_military)
43
+
44
+ # Factor 11: Developmental delay (without IEP)
45
+ has_developmental_delay = person("has_developmental_delay", period)
46
+ has_iep = person("has_individualized_education_program", period)
47
+ delay_without_iep = has_developmental_delay & ~has_iep
48
+
49
+ # Factor 12: No prior formal early learning
50
+ no_prior_learning = person(
51
+ "has_no_prior_formal_early_learning", period
52
+ )
53
+
54
+ factors = [
55
+ is_low_income,
56
+ parent_low_education,
57
+ was_teen_parent,
58
+ is_immigrant_family,
59
+ is_non_english_home,
60
+ is_military_family,
61
+ delay_without_iep,
62
+ no_prior_learning,
63
+ ]
64
+
65
+ return sum([f.astype(int) for f in factors])
@@ -0,0 +1,17 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_basic_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Meets basic eligibility for Illinois PI (age and income)"
8
+ definition_period = YEAR
9
+ reference = "https://www.isbe.net/Pages/Birth-to-Age-3-Years.aspx"
10
+ defined_for = StateCode.IL
11
+
12
+ def formula(person, period, parameters):
13
+ # Basic eligibility: demographic eligible (child under 3 or pregnant)
14
+ # and income eligible (≤400% FPL).
15
+ demographic_eligible = person("il_pi_demographic_eligible", period)
16
+ income_eligible = person("il_isbe_income_eligible", period)
17
+ return demographic_eligible & income_eligible
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_demographic_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Meets demographic requirements for Illinois PI"
8
+ definition_period = YEAR
9
+ reference = "https://www.isbe.net/Pages/Birth-to-Age-3-Years.aspx"
10
+ defined_for = StateCode.IL
11
+
12
+ def formula(person, period, parameters):
13
+ # Eligible if child under 3 or pregnant woman.
14
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.age_threshold
15
+ age = person("age", period)
16
+ is_child_under_3 = age < p.child
17
+ is_pregnant = person("is_pregnant", period)
18
+ return is_child_under_3 | is_pregnant
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_risk_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Meets risk factor requirements for Illinois PI"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=3",
11
+ )
12
+ defined_for = StateCode.IL
13
+
14
+ def formula(person, period, parameters):
15
+ # Eligible if priority score meets minimum (50 points).
16
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.risk_factors
17
+ priority_score = person("il_pi_priority_score", period)
18
+ return priority_score >= p.minimum_score
@@ -0,0 +1,23 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_is_deep_poverty(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "In deep poverty or receiving TANF for Illinois PI (Factor 4)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ )
12
+ defined_for = StateCode.IL
13
+
14
+ def formula(person, period, parameters):
15
+ spm_unit = person.spm_unit
16
+ # Factor 4 (50 pts): Family income at or below 50% FPL and/or receiving TANF.
17
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.income
18
+ fpg = spm_unit("spm_unit_fpg", period)
19
+ income = spm_unit("il_isbe_countable_income", period)
20
+ threshold = fpg * p.deep_poverty_rate
21
+ is_below_50_fpl = income <= threshold
22
+ receives_tanf = spm_unit("il_tanf", period) > 0
23
+ return is_below_50_fpl | receives_tanf
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_is_low_income(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Low income for Illinois PI (Factor 6, 25 points)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ )
12
+ defined_for = StateCode.IL
13
+
14
+ def formula(person, period, parameters):
15
+ spm_unit = person.spm_unit
16
+ # Factor 6 (25 pts): Family income at or below 100% FPL.
17
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.income
18
+ fpg = spm_unit("spm_unit_fpg", period)
19
+ income = spm_unit("il_isbe_countable_income", period)
20
+ threshold = fpg * p.low_income_rate
21
+ return income <= threshold
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_is_poverty(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Experiencing poverty for Illinois PI (Factor 36, 10 points)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=3",
11
+ )
12
+ defined_for = StateCode.IL
13
+
14
+ def formula(person, period, parameters):
15
+ spm_unit = person.spm_unit
16
+ # Factor 36 (10 pts): Child/Family experiencing poverty (200% FPL).
17
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.income
18
+ fpg = spm_unit("spm_unit_fpg", period)
19
+ income = spm_unit("il_isbe_countable_income", period)
20
+ threshold = fpg * p.poverty_rate
21
+ return income <= threshold
@@ -0,0 +1,16 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_has_developmental_delay(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "SPM unit has developmental delay or disability for Illinois PI"
8
+ definition_period = YEAR
9
+ reference = "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2"
10
+ defined_for = StateCode.IL
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Factor 18: Member of household has developmental delay or disability
14
+ has_disability = spm_unit.members("is_disabled", period)
15
+ has_dev_delay = spm_unit.members("has_developmental_delay", period)
16
+ return spm_unit.any(has_disability | has_dev_delay)
@@ -0,0 +1,20 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_has_geriatric_pregnancy(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Household has geriatric pregnancy for Illinois PI"
8
+ definition_period = YEAR
9
+ reference = "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=3"
10
+ defined_for = StateCode.IL
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Factor 28: Pregnant woman age 40 or over
14
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.priority
15
+ is_pregnant = spm_unit.members("is_pregnant", period)
16
+ age = spm_unit.members("age", period)
17
+ has_geriatric_pregnancy = is_pregnant & (
18
+ age >= p.geriatric_pregnancy_age
19
+ )
20
+ return spm_unit.any(has_geriatric_pregnancy)
@@ -0,0 +1,37 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_highest_priority_score(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Illinois PI highest priority score (50 pts factors)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ )
12
+ defined_for = "il_pi_demographic_eligible"
13
+
14
+ def formula(person, period, parameters):
15
+ household = person.household
16
+
17
+ # Highest priority factors (50 pts each):
18
+ # Factor 1: Homeless (McKinney-Vento)
19
+ is_homeless = household("is_homeless", period)
20
+ # Factor 2: Youth in Care (foster care, child welfare)
21
+ is_in_foster_care = person("is_in_foster_care", period)
22
+ # Factor 3: Developmental delay
23
+ has_developmental_delay = person("has_developmental_delay", period)
24
+ # Factor 4: Deep poverty (<=50% FPL) and/or receiving TANF
25
+ is_deep_poverty = person("il_pi_is_deep_poverty", period)
26
+ # Factor 5: Non-English speaking home
27
+ is_non_english_home = household("is_non_english_speaking_home", period)
28
+
29
+ highest_priority_factors = [
30
+ is_homeless,
31
+ is_in_foster_care,
32
+ has_developmental_delay,
33
+ is_deep_poverty,
34
+ is_non_english_home,
35
+ ]
36
+
37
+ return sum([f.astype(int) for f in highest_priority_factors]) * 50
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_is_young_parent_family(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Young parent family for Illinois PI (Factor 11)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ )
12
+ defined_for = StateCode.IL
13
+
14
+ def formula(spm_unit, period, parameters):
15
+ # Factor 11 (25 pts): Parent is currently age 21 years or younger.
16
+ p = parameters(period).gov.states.il.isbe.pi.eligibility.age_threshold
17
+ age = spm_unit.members("age", period)
18
+ is_parent = spm_unit.members("is_parent", period)
19
+ is_young = age <= p.young_parent
20
+ # Eligible if any parent is 21 or younger.
21
+ return spm_unit.any(is_parent & is_young)
@@ -0,0 +1,36 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_lower_priority_score(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Illinois PI lower priority score (10 pts factors)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=3",
11
+ )
12
+ defined_for = "il_pi_demographic_eligible"
13
+
14
+ def formula(person, period, parameters):
15
+ household = person.household
16
+ spm_unit = person.spm_unit
17
+
18
+ # Lower priority factors (10 pts each):
19
+ # Factor 33: Teen parent at birth of first child (SPMUnit-level variable)
20
+ # Parent was under 20 when first child was born
21
+ is_teen_parent_family = spm_unit(
22
+ "il_isbe_was_teen_parent_at_first_birth", period
23
+ )
24
+ # Factor 35: Parent/Caregiver is single parent
25
+ is_parent = spm_unit.members("is_tax_unit_head_or_spouse", period)
26
+ is_single_parent = spm_unit.sum(is_parent) == 1
27
+ # Factor 36: Experiencing poverty (<=200% FPL)
28
+ is_poverty = person("il_pi_is_poverty", period)
29
+
30
+ lower_priority_factors = [
31
+ is_teen_parent_family,
32
+ is_single_parent,
33
+ is_poverty,
34
+ ]
35
+
36
+ return sum([f.astype(int) for f in lower_priority_factors]) * 10
@@ -0,0 +1,54 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_other_priority_score(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Illinois PI other priority score (25 pts factors)"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ )
12
+ defined_for = "il_pi_demographic_eligible"
13
+
14
+ def formula(person, period, parameters):
15
+ spm_unit = person.spm_unit
16
+ household = person.household
17
+
18
+ # Other priority factors (25 pts each):
19
+ # Factor 6: Low income (<=100% FPL)
20
+ is_low_income = person("il_pi_is_low_income", period)
21
+ # Factor 7: Parent didn't complete high school (Household-level variable)
22
+ parent_low_education = household(
23
+ "parent_has_less_than_high_school_education", period
24
+ )
25
+ # Factor 8: Child/parent born outside US
26
+ born_outside_us = person("is_born_outside_us", period)
27
+ is_immigrant_family = spm_unit.any(born_outside_us)
28
+ # Factor 10: Active Duty Military family
29
+ is_active_duty_military = person("military_basic_pay", period) > 0
30
+ is_military_family = spm_unit.any(is_active_duty_military)
31
+ # Factor 11: Parent is currently age 21 or younger
32
+ is_young_parent_family = spm_unit(
33
+ "il_pi_is_young_parent_family", period
34
+ )
35
+ # Factor 18: Member of household has developmental delay or disability
36
+ has_developmental_delay = spm_unit(
37
+ "il_pi_has_developmental_delay", period
38
+ )
39
+ # Factor 28: Geriatric pregnancy (pregnant woman age 40+)
40
+ has_geriatric_pregnancy = spm_unit(
41
+ "il_pi_has_geriatric_pregnancy", period
42
+ )
43
+
44
+ other_priority_factors = [
45
+ is_low_income,
46
+ parent_low_education,
47
+ is_immigrant_family,
48
+ is_military_family,
49
+ is_young_parent_family,
50
+ has_developmental_delay,
51
+ has_geriatric_pregnancy,
52
+ ]
53
+
54
+ return sum([f.astype(int) for f in other_priority_factors]) * 25
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_priority_score(Variable):
5
+ value_type = int
6
+ entity = Person
7
+ label = "Weighted priority score for Illinois PI eligibility"
8
+ definition_period = YEAR
9
+ reference = (
10
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=2",
11
+ "https://www.isbe.net/Documents/Prevention-Initiative-Eligibility-Form.pdf#page=3",
12
+ )
13
+ defined_for = "il_pi_demographic_eligible"
14
+
15
+ adds = [
16
+ "il_pi_highest_priority_score",
17
+ "il_pi_other_priority_score",
18
+ "il_pi_lower_priority_score",
19
+ ]
@@ -0,0 +1,15 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "Illinois Prevention Initiative (PI) benefit"
8
+ definition_period = YEAR
9
+ unit = USD
10
+ reference = (
11
+ "https://www.isbe.net/Pages/Birth-to-Age-3-Years.aspx",
12
+ "https://gov-pritzker-newsroom.prezly.com/gov-pritzker-announces-5150-new-preschool-seats-through-smart-start-initiative",
13
+ )
14
+ defined_for = "il_pi_eligible"
15
+ adds = ["gov.states.il.isbe.pi.benefit.amount"]
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class il_pi_eligible(Variable):
5
+ value_type = bool
6
+ entity = Person
7
+ label = "Eligible for Illinois Prevention Initiative"
8
+ definition_period = YEAR
9
+ reference = "https://www.isbe.net/Pages/Birth-to-Age-3-Years.aspx"
10
+ defined_for = StateCode.IL
11
+
12
+ def formula(person, period, parameters):
13
+ # Eligibility requires: demographic eligible (child under 3 OR pregnant),
14
+ # income eligible (≤400% FPL), and risk eligible (≥50 pts).
15
+ demographic_eligible = person("il_pi_demographic_eligible", period)
16
+ income_eligible = person("il_isbe_income_eligible", period)
17
+ risk_eligible = person("il_pi_risk_eligible", period)
18
+ return demographic_eligible & income_eligible & risk_eligible
@@ -0,0 +1,31 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Indiana TANF countable income eligible"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-1",
11
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-1-1.7",
12
+ )
13
+ defined_for = StateCode.IN
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ # Initial: standard of need; Continuing: FPL * rate
17
+ p = parameters(period).gov.states["in"].fssa.tanf
18
+ countable = spm_unit(
19
+ "in_tanf_countable_income_for_eligibility", period
20
+ )
21
+ is_enrolled = spm_unit("is_tanf_enrolled", period)
22
+
23
+ fpg = spm_unit("tanf_fpg", period)
24
+ continuing_threshold = fpg * p.eligibility.continuing.fpg_rate
25
+
26
+ threshold = where(
27
+ is_enrolled,
28
+ continuing_threshold,
29
+ spm_unit("in_tanf_payment_standard", period),
30
+ )
31
+ return countable < threshold
@@ -0,0 +1,36 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Indiana TANF eligible"
8
+ definition_period = MONTH
9
+ reference = "https://iar.iga.in.gov/code/2026/470/10.3" # 470 IAC 10.3
10
+ defined_for = StateCode.IN
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Demographic eligibility - use federal baseline
14
+ # Per IC 12-14-1-0.5 and 470 IAC 10.3-3
15
+ demographic_eligible = spm_unit("is_demographic_tanf_eligible", period)
16
+
17
+ # Immigration eligibility - must have at least one citizen or qualified noncitizen
18
+ # Per IC 12-14-1-1
19
+ person = spm_unit.members
20
+ immigration_eligible = spm_unit.any(
21
+ person("is_citizen_or_legal_immigrant", period.this_year)
22
+ )
23
+
24
+ # Income eligibility - state-specific
25
+ income_eligible = spm_unit("in_tanf_income_eligible", period)
26
+
27
+ # Resources eligibility - state-specific
28
+ # Per 470 IAC 10.3-3-6
29
+ resources_eligible = spm_unit("in_tanf_resources_eligible", period)
30
+
31
+ return (
32
+ demographic_eligible
33
+ & immigration_eligible
34
+ & income_eligible
35
+ & resources_eligible
36
+ )
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_income_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Indiana TANF income eligible"
8
+ definition_period = MONTH
9
+ reference = "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4" # 470 IAC 10.3-4
10
+ defined_for = StateCode.IN
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ # Indiana uses two income tests per 470 IAC 10.3-4:
14
+ # 1. Countable income test (with eligibility disregards)
15
+ # 2. Payment test (with payment disregards)
16
+ # Must pass both tests for fiscal eligibility.
17
+ countable_eligible = spm_unit(
18
+ "in_tanf_countable_income_eligible", period
19
+ )
20
+ payment_eligible = spm_unit("in_tanf_payment_eligible", period)
21
+ return countable_eligible & payment_eligible
@@ -0,0 +1,18 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_payment_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Indiana TANF payment eligible"
8
+ definition_period = MONTH
9
+ reference = (
10
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-3",
11
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-5",
12
+ )
13
+ defined_for = StateCode.IN
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ countable = spm_unit("in_tanf_countable_income_for_payment", period)
17
+ payment_standard = spm_unit("in_tanf_payment_standard", period)
18
+ return countable < payment_standard
@@ -0,0 +1,25 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_resources_eligible(Variable):
5
+ value_type = bool
6
+ entity = SPMUnit
7
+ label = "Indiana TANF resources eligible"
8
+ definition_period = MONTH
9
+ defined_for = StateCode.IN
10
+ reference = (
11
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-2",
12
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-1-1",
13
+ )
14
+
15
+ def formula(spm_unit, period, parameters):
16
+ p = parameters(period).gov.states["in"].fssa.tanf.resources.limit
17
+ countable = spm_unit("in_tanf_countable_resources", period)
18
+ is_enrolled = spm_unit("is_tanf_enrolled", period)
19
+
20
+ limit = where(
21
+ is_enrolled,
22
+ p.while_receiving.amount,
23
+ p.at_application.amount,
24
+ )
25
+ return countable <= limit
@@ -0,0 +1,21 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana Temporary Assistance for Needy Families (TANF)"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-5",
12
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-4",
13
+ )
14
+ defined_for = "in_tanf_eligible"
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ payment_standard = spm_unit("in_tanf_payment_standard", period)
18
+ countable_income = spm_unit(
19
+ "in_tanf_countable_income_for_payment", period
20
+ )
21
+ return max_(payment_standard - countable_income, 0)
@@ -0,0 +1,19 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_payment_standard(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana TANF payment standard"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = (
11
+ "https://iga.in.gov/laws/2025/ic/titles/12/#12-14-2-5",
12
+ "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-3",
13
+ )
14
+ defined_for = StateCode.IN
15
+
16
+ def formula(spm_unit, period, parameters):
17
+ p = parameters(period).gov.states["in"].fssa.tanf.standard_of_need
18
+ capped_size = min_(spm_unit("spm_unit_size", period), p.max_unit_size)
19
+ return p.amount[capped_size]
@@ -0,0 +1,20 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class in_tanf_countable_earned_income(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ label = "Indiana TANF countable earned income"
8
+ unit = USD
9
+ definition_period = MONTH
10
+ reference = "https://iar.iga.in.gov/code/2026/470/10.3#470-10.3-4-4"
11
+ defined_for = StateCode.IN
12
+
13
+ def formula(spm_unit, period, parameters):
14
+ p = parameters(period).gov.states["in"].fssa.tanf.income.deductions
15
+ person = spm_unit.members
16
+ gross_earned = person("tanf_gross_earned_income", period)
17
+ # 75% disregard per 470 IAC 10.3-4-4(d)(1)
18
+ return spm_unit.sum(
19
+ gross_earned * (1 - p.benefit.earned_income_disregard.rate)
20
+ )