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,376 @@
1
+ # Unit tests for is_emergency_medicaid_eligible variable
2
+ # Per 42 USC 1396b(v)(2), Emergency Medicaid eligibility requires:
3
+ # 1. Person is NOT eligible for regular Medicaid due to immigration status
4
+ # 2. Person meets other Medicaid eligibility requirements (income, categorical)
5
+ # 3. Person has an emergency medical condition
6
+ #
7
+ # Reference: https://www.law.cornell.edu/uscode/text/42/1396b#v
8
+
9
+ # ============================================================
10
+ # ELIGIBLE CASES - Undocumented/ineligible immigrants with emergency
11
+ # ============================================================
12
+
13
+ - name: Case 1, undocumented immigrant with emergency condition and low income.
14
+ period: 2025
15
+ input:
16
+ immigration_status: UNDOCUMENTED
17
+ has_emergency_medical_condition: true
18
+ medicaid_category: ADULT
19
+ is_medicaid_immigration_status_eligible: false
20
+ output:
21
+ is_emergency_medicaid_eligible: true
22
+
23
+ - name: Case 2, DACA recipient with emergency condition.
24
+ period: 2025
25
+ input:
26
+ immigration_status: DACA
27
+ has_emergency_medical_condition: true
28
+ medicaid_category: ADULT
29
+ is_medicaid_immigration_status_eligible: false
30
+ output:
31
+ is_emergency_medicaid_eligible: true
32
+
33
+ - name: Case 3, TPS recipient with emergency condition.
34
+ period: 2025
35
+ input:
36
+ immigration_status: TPS
37
+ has_emergency_medical_condition: true
38
+ medicaid_category: ADULT
39
+ is_medicaid_immigration_status_eligible: false
40
+ output:
41
+ is_emergency_medicaid_eligible: true
42
+
43
+ - name: Case 4, DACA-TPS combined status with emergency condition.
44
+ period: 2025
45
+ input:
46
+ immigration_status: DACA_TPS
47
+ has_emergency_medical_condition: true
48
+ medicaid_category: ADULT
49
+ is_medicaid_immigration_status_eligible: false
50
+ output:
51
+ is_emergency_medicaid_eligible: true
52
+
53
+ # ============================================================
54
+ # ELIGIBLE CASES - All Medicaid Category Types
55
+ # ============================================================
56
+
57
+ - name: Case 5, undocumented infant with emergency condition.
58
+ period: 2025
59
+ input:
60
+ immigration_status: UNDOCUMENTED
61
+ has_emergency_medical_condition: true
62
+ medicaid_category: INFANT
63
+ is_medicaid_immigration_status_eligible: false
64
+ output:
65
+ is_emergency_medicaid_eligible: true
66
+
67
+ - name: Case 6, undocumented young child with emergency condition.
68
+ period: 2025
69
+ input:
70
+ immigration_status: UNDOCUMENTED
71
+ has_emergency_medical_condition: true
72
+ medicaid_category: YOUNG_CHILD
73
+ is_medicaid_immigration_status_eligible: false
74
+ output:
75
+ is_emergency_medicaid_eligible: true
76
+
77
+ - name: Case 7, undocumented older child with emergency condition.
78
+ period: 2025
79
+ input:
80
+ immigration_status: UNDOCUMENTED
81
+ has_emergency_medical_condition: true
82
+ medicaid_category: OLDER_CHILD
83
+ is_medicaid_immigration_status_eligible: false
84
+ output:
85
+ is_emergency_medicaid_eligible: true
86
+
87
+ - name: Case 8, undocumented young adult with emergency condition.
88
+ period: 2025
89
+ input:
90
+ immigration_status: UNDOCUMENTED
91
+ has_emergency_medical_condition: true
92
+ medicaid_category: YOUNG_ADULT
93
+ is_medicaid_immigration_status_eligible: false
94
+ output:
95
+ is_emergency_medicaid_eligible: true
96
+
97
+ - name: Case 9, undocumented parent with emergency condition.
98
+ period: 2025
99
+ input:
100
+ immigration_status: UNDOCUMENTED
101
+ has_emergency_medical_condition: true
102
+ medicaid_category: PARENT
103
+ is_medicaid_immigration_status_eligible: false
104
+ output:
105
+ is_emergency_medicaid_eligible: true
106
+
107
+ - name: Case 10, undocumented pregnant woman with emergency condition.
108
+ period: 2025
109
+ input:
110
+ immigration_status: UNDOCUMENTED
111
+ has_emergency_medical_condition: true
112
+ medicaid_category: PREGNANT
113
+ is_medicaid_immigration_status_eligible: false
114
+ output:
115
+ is_emergency_medicaid_eligible: true
116
+
117
+ - name: Case 11, undocumented SSI recipient with emergency condition.
118
+ period: 2025
119
+ input:
120
+ immigration_status: UNDOCUMENTED
121
+ has_emergency_medical_condition: true
122
+ medicaid_category: SSI_RECIPIENT
123
+ is_medicaid_immigration_status_eligible: false
124
+ output:
125
+ is_emergency_medicaid_eligible: true
126
+
127
+ - name: Case 12, undocumented senior or disabled with emergency condition.
128
+ period: 2025
129
+ input:
130
+ immigration_status: UNDOCUMENTED
131
+ has_emergency_medical_condition: true
132
+ medicaid_category: SENIOR_OR_DISABLED
133
+ is_medicaid_immigration_status_eligible: false
134
+ output:
135
+ is_emergency_medicaid_eligible: true
136
+
137
+ # ============================================================
138
+ # INELIGIBLE CASES - US citizens and qualified aliens
139
+ # (Should get regular Medicaid, not Emergency Medicaid)
140
+ # ============================================================
141
+
142
+ - name: Case 13, US citizen should get regular Medicaid not Emergency Medicaid.
143
+ period: 2025
144
+ input:
145
+ immigration_status: CITIZEN
146
+ has_emergency_medical_condition: true
147
+ medicaid_category: ADULT
148
+ is_medicaid_immigration_status_eligible: true
149
+ output:
150
+ is_emergency_medicaid_eligible: false
151
+
152
+ - name: Case 14, legal permanent resident eligible for regular Medicaid.
153
+ period: 2025
154
+ input:
155
+ immigration_status: LEGAL_PERMANENT_RESIDENT
156
+ has_emergency_medical_condition: true
157
+ medicaid_category: ADULT
158
+ is_medicaid_immigration_status_eligible: true
159
+ output:
160
+ is_emergency_medicaid_eligible: false
161
+
162
+ - name: Case 15, refugee should get regular Medicaid not Emergency Medicaid.
163
+ period: 2025
164
+ input:
165
+ immigration_status: REFUGEE
166
+ has_emergency_medical_condition: true
167
+ medicaid_category: ADULT
168
+ is_medicaid_immigration_status_eligible: true
169
+ output:
170
+ is_emergency_medicaid_eligible: false
171
+
172
+ - name: Case 16, asylee should get regular Medicaid not Emergency Medicaid.
173
+ period: 2025
174
+ input:
175
+ immigration_status: ASYLEE
176
+ has_emergency_medical_condition: true
177
+ medicaid_category: ADULT
178
+ is_medicaid_immigration_status_eligible: true
179
+ output:
180
+ is_emergency_medicaid_eligible: false
181
+
182
+ - name: Case 17, deportation withheld status eligible for regular Medicaid.
183
+ period: 2025
184
+ input:
185
+ immigration_status: DEPORTATION_WITHHELD
186
+ has_emergency_medical_condition: true
187
+ medicaid_category: ADULT
188
+ is_medicaid_immigration_status_eligible: true
189
+ output:
190
+ is_emergency_medicaid_eligible: false
191
+
192
+ - name: Case 18, Cuban-Haitian entrant eligible for regular Medicaid.
193
+ period: 2025
194
+ input:
195
+ immigration_status: CUBAN_HAITIAN_ENTRANT
196
+ has_emergency_medical_condition: true
197
+ medicaid_category: ADULT
198
+ is_medicaid_immigration_status_eligible: true
199
+ output:
200
+ is_emergency_medicaid_eligible: false
201
+
202
+ - name: Case 19, conditional entrant eligible for regular Medicaid.
203
+ period: 2025
204
+ input:
205
+ immigration_status: CONDITIONAL_ENTRANT
206
+ has_emergency_medical_condition: true
207
+ medicaid_category: ADULT
208
+ is_medicaid_immigration_status_eligible: true
209
+ output:
210
+ is_emergency_medicaid_eligible: false
211
+
212
+ - name: Case 20, paroled one year eligible for regular Medicaid.
213
+ period: 2025
214
+ input:
215
+ immigration_status: PAROLED_ONE_YEAR
216
+ has_emergency_medical_condition: true
217
+ medicaid_category: ADULT
218
+ is_medicaid_immigration_status_eligible: true
219
+ output:
220
+ is_emergency_medicaid_eligible: false
221
+
222
+ # ============================================================
223
+ # INELIGIBLE CASES - No emergency medical condition
224
+ # ============================================================
225
+
226
+ - name: Case 21, undocumented immigrant without emergency condition.
227
+ period: 2025
228
+ input:
229
+ immigration_status: UNDOCUMENTED
230
+ has_emergency_medical_condition: false
231
+ medicaid_category: ADULT
232
+ is_medicaid_immigration_status_eligible: false
233
+ output:
234
+ is_emergency_medicaid_eligible: false
235
+
236
+ - name: Case 22, DACA recipient without emergency condition.
237
+ period: 2025
238
+ input:
239
+ immigration_status: DACA
240
+ has_emergency_medical_condition: false
241
+ medicaid_category: ADULT
242
+ is_medicaid_immigration_status_eligible: false
243
+ output:
244
+ is_emergency_medicaid_eligible: false
245
+
246
+ # ============================================================
247
+ # INELIGIBLE CASES - No Medicaid category eligibility
248
+ # ============================================================
249
+
250
+ - name: Case 23, undocumented immigrant with emergency but no Medicaid category.
251
+ period: 2025
252
+ input:
253
+ immigration_status: UNDOCUMENTED
254
+ has_emergency_medical_condition: true
255
+ medicaid_category: NONE
256
+ is_medicaid_immigration_status_eligible: false
257
+ output:
258
+ is_emergency_medicaid_eligible: false
259
+
260
+ - name: Case 24, DACA recipient with emergency but no Medicaid category.
261
+ period: 2025
262
+ input:
263
+ immigration_status: DACA
264
+ has_emergency_medical_condition: true
265
+ medicaid_category: NONE
266
+ is_medicaid_immigration_status_eligible: false
267
+ output:
268
+ is_emergency_medicaid_eligible: false
269
+
270
+ - name: Case 25, TPS recipient with emergency but no Medicaid category.
271
+ period: 2025
272
+ input:
273
+ immigration_status: TPS
274
+ has_emergency_medical_condition: true
275
+ medicaid_category: NONE
276
+ is_medicaid_immigration_status_eligible: false
277
+ output:
278
+ is_emergency_medicaid_eligible: false
279
+
280
+ # ============================================================
281
+ # EDGE CASES - Program enabled check (pre-1987)
282
+ # ============================================================
283
+
284
+ - name: Case 26, program not enabled before 1987.
285
+ period: 1986
286
+ input:
287
+ immigration_status: UNDOCUMENTED
288
+ has_emergency_medical_condition: true
289
+ medicaid_category: ADULT
290
+ is_medicaid_immigration_status_eligible: false
291
+ output:
292
+ is_emergency_medicaid_eligible: false
293
+
294
+ - name: Case 27, program enabled starting 1987.
295
+ period: 1987
296
+ input:
297
+ immigration_status: UNDOCUMENTED
298
+ has_emergency_medical_condition: true
299
+ medicaid_category: ADULT
300
+ is_medicaid_immigration_status_eligible: false
301
+ output:
302
+ is_emergency_medicaid_eligible: true
303
+
304
+ # ============================================================
305
+ # EDGE CASES - All conditions must be met
306
+ # ============================================================
307
+
308
+ - name: Case 28, all conditions false.
309
+ period: 2025
310
+ input:
311
+ immigration_status: CITIZEN
312
+ has_emergency_medical_condition: false
313
+ medicaid_category: NONE
314
+ is_medicaid_immigration_status_eligible: true
315
+ output:
316
+ is_emergency_medicaid_eligible: false
317
+
318
+ - name: Case 29, only emergency condition true.
319
+ period: 2025
320
+ input:
321
+ immigration_status: CITIZEN
322
+ has_emergency_medical_condition: true
323
+ medicaid_category: NONE
324
+ is_medicaid_immigration_status_eligible: true
325
+ output:
326
+ is_emergency_medicaid_eligible: false
327
+
328
+ - name: Case 30, only medicaid category met.
329
+ period: 2025
330
+ input:
331
+ immigration_status: CITIZEN
332
+ has_emergency_medical_condition: false
333
+ medicaid_category: ADULT
334
+ is_medicaid_immigration_status_eligible: true
335
+ output:
336
+ is_emergency_medicaid_eligible: false
337
+
338
+ - name: Case 31, only immigration ineligible.
339
+ period: 2025
340
+ input:
341
+ immigration_status: UNDOCUMENTED
342
+ has_emergency_medical_condition: false
343
+ medicaid_category: NONE
344
+ is_medicaid_immigration_status_eligible: false
345
+ output:
346
+ is_emergency_medicaid_eligible: false
347
+
348
+ - name: Case 32, emergency and immigration ineligible but no category.
349
+ period: 2025
350
+ input:
351
+ immigration_status: UNDOCUMENTED
352
+ has_emergency_medical_condition: true
353
+ medicaid_category: NONE
354
+ is_medicaid_immigration_status_eligible: false
355
+ output:
356
+ is_emergency_medicaid_eligible: false
357
+
358
+ - name: Case 33, category and immigration ineligible but no emergency.
359
+ period: 2025
360
+ input:
361
+ immigration_status: UNDOCUMENTED
362
+ has_emergency_medical_condition: false
363
+ medicaid_category: ADULT
364
+ is_medicaid_immigration_status_eligible: false
365
+ output:
366
+ is_emergency_medicaid_eligible: false
367
+
368
+ - name: Case 34, category and emergency but immigration eligible.
369
+ period: 2025
370
+ input:
371
+ immigration_status: CITIZEN
372
+ has_emergency_medical_condition: true
373
+ medicaid_category: ADULT
374
+ is_medicaid_immigration_status_eligible: true
375
+ output:
376
+ is_emergency_medicaid_eligible: false
@@ -0,0 +1,86 @@
1
+ # Unit tests for employer_medicare_tax_income_tax_revenue
2
+ # Tests Medicare HI trust fund revenue from taxing employer Medicare contributions
3
+
4
+ - name: Reform not active - zero revenue
5
+ period: 2024
6
+ input:
7
+ people:
8
+ person1:
9
+ age: 40
10
+ employment_income: 100_000
11
+ tax_units:
12
+ tax_unit:
13
+ members: [person1]
14
+ households:
15
+ household:
16
+ members: [person1]
17
+ output:
18
+ employer_medicare_tax_income_tax_revenue: 0
19
+
20
+ - name: Reform active - basic case
21
+ period: 2024
22
+ absolute_error_margin: 10
23
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
24
+ input:
25
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
26
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 1.0
27
+ people:
28
+ person1:
29
+ age: 40
30
+ employment_income: 50_000
31
+ tax_units:
32
+ tax_unit:
33
+ members: [person1]
34
+ households:
35
+ household:
36
+ members: [person1]
37
+ output:
38
+ # Employer Medicare tax = 1.45% * $50,000 = $725
39
+ employer_medicare_tax: 725
40
+ employer_medicare_tax_income_tax_revenue: 87
41
+
42
+ - name: Reform active - high income
43
+ period: 2024
44
+ absolute_error_margin: 50
45
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
46
+ input:
47
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
48
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 1.0
49
+ people:
50
+ person1:
51
+ age: 40
52
+ employment_income: 150_000
53
+ tax_units:
54
+ tax_unit:
55
+ members: [person1]
56
+ households:
57
+ household:
58
+ members: [person1]
59
+ output:
60
+ # Employer Medicare tax = 1.45% * $150,000 = $2,175
61
+ # At 22% marginal rate, revenue ~ $479
62
+ employer_medicare_tax: 2_175
63
+ employer_medicare_tax_income_tax_revenue: 479
64
+
65
+ - name: Reform active - partial percentage
66
+ period: 2024
67
+ absolute_error_margin: 10
68
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
69
+ input:
70
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
71
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.5
72
+ people:
73
+ person1:
74
+ age: 40
75
+ employment_income: 50_000
76
+ tax_units:
77
+ tax_unit:
78
+ members: [person1]
79
+ households:
80
+ household:
81
+ members: [person1]
82
+ output:
83
+ # Employer Medicare tax = 1.45% * $50,000 = $725
84
+ # Only 50% taxable = $362.50
85
+ employer_medicare_tax: 725
86
+ employer_medicare_tax_income_tax_revenue: 44
@@ -0,0 +1,85 @@
1
+ # Unit tests for employer_ss_tax_income_tax_revenue
2
+ # Tests OASDI trust fund revenue from taxing employer SS contributions
3
+
4
+ - name: Reform not active - zero revenue
5
+ period: 2024
6
+ input:
7
+ people:
8
+ person1:
9
+ age: 40
10
+ employment_income: 100_000
11
+ tax_units:
12
+ tax_unit:
13
+ members: [person1]
14
+ households:
15
+ household:
16
+ members: [person1]
17
+ output:
18
+ employer_ss_tax_income_tax_revenue: 0
19
+
20
+ - name: Reform active - basic case
21
+ period: 2024
22
+ absolute_error_margin: 10
23
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
24
+ input:
25
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
26
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 1.0
27
+ people:
28
+ person1:
29
+ age: 40
30
+ employment_income: 50_000
31
+ tax_units:
32
+ tax_unit:
33
+ members: [person1]
34
+ households:
35
+ household:
36
+ members: [person1]
37
+ output:
38
+ # Employer SS tax = 6.2% * $50,000 = $3,100
39
+ employer_social_security_tax: 3_100
40
+ employer_ss_tax_income_tax_revenue: 372
41
+
42
+ - name: Reform active - high income
43
+ period: 2024
44
+ absolute_error_margin: 10
45
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
46
+ input:
47
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
48
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 1.0
49
+ people:
50
+ person1:
51
+ age: 40
52
+ employment_income: 150_000
53
+ tax_units:
54
+ tax_unit:
55
+ members: [person1]
56
+ households:
57
+ household:
58
+ members: [person1]
59
+ output:
60
+ # Employer SS tax = 6.2% * $150,000 = $9,300
61
+ employer_social_security_tax: 9_300
62
+ employer_ss_tax_income_tax_revenue: 2_232
63
+
64
+ - name: Reform active - partial percentage
65
+ period: 2024
66
+ absolute_error_margin: 10
67
+ reforms: policyengine_us.reforms.crfb.tax_employer_payroll_tax.tax_employer_payroll_tax_reform_object
68
+ input:
69
+ gov.contrib.crfb.tax_employer_payroll_tax.in_effect: true
70
+ gov.contrib.crfb.tax_employer_payroll_tax.percentage: 0.5
71
+ people:
72
+ person1:
73
+ age: 40
74
+ employment_income: 50_000
75
+ tax_units:
76
+ tax_unit:
77
+ members: [person1]
78
+ households:
79
+ household:
80
+ members: [person1]
81
+ output:
82
+ # Employer SS tax = 6.2% * $50,000 = $3,100
83
+ # Only 50% taxable = $1,550
84
+ employer_social_security_tax: 3_100
85
+ employer_ss_tax_income_tax_revenue: 186
@@ -1,6 +1,6 @@
1
1
  # Unit tests for tob_revenue_medicare_hi
2
2
  # Tests Medicare HI trust fund revenue allocation from SS benefit taxation
3
- # Medicare HI receives revenue proportional to tier 2's share of total taxable SS
3
+ # Uses double-branching methodology per 42 U.S.C. 401 note
4
4
 
5
5
  - name: No SS benefits - zero Medicare revenue
6
6
  period: 2024
@@ -36,7 +36,6 @@
36
36
  household:
37
37
  members: [person1]
38
38
  output:
39
- # No taxable SS → no TOB revenue → no Medicare share
40
39
  tob_revenue_medicare_hi: 0
41
40
 
42
41
  - name: Tier 1 only - zero Medicare revenue
@@ -55,10 +54,10 @@
55
54
  household:
56
55
  members: [person1]
57
56
  output:
58
- # In tier 1 only: tier2 = $0 0% to Medicare
57
+ # Taxable SS <= 50% of gross, all goes to OASDI
59
58
  tob_revenue_medicare_hi: 0
60
59
 
61
- - name: In tier 2 - proportional split
60
+ - name: High income single - branching allocation
62
61
  period: 2024
63
62
  absolute_error_margin: 100
64
63
  input:
@@ -75,31 +74,51 @@
75
74
  household:
76
75
  members: [person1]
77
76
  output:
78
- # Tier 1 = $4,500, Tier 2 = $21,000, Total = $25,500
79
- # Medicare share = 21,000 / 25,500 = 82.4%
80
- # Total TOB ~$4,240 → Medicare = $4,240 * 0.824 = ~$3,492
81
- tob_revenue_medicare_hi: 3_492
77
+ # Using branching: HI gets marginal tax on portion above 50% of gross
78
+ tax_unit_taxable_social_security: 25_500
79
+ tob_revenue_total: 4_240
80
+ tob_revenue_oasdi: 1_930
81
+ tob_revenue_medicare_hi: 2_310
82
82
 
83
- - name: Joint filers in tier 2
83
+ - name: Very high income - branching allocation
84
84
  period: 2024
85
- absolute_error_margin: 200
85
+ absolute_error_margin: 100
86
86
  input:
87
87
  people:
88
88
  person1:
89
89
  age: 67
90
- social_security: 40_000
91
- employment_income: 60_000
92
- person2:
93
- age: 65
90
+ social_security: 30_000
91
+ employment_income: 100_000
94
92
  tax_units:
95
93
  tax_unit:
96
- members: [person1, person2]
97
- filing_status: JOINT
94
+ members: [person1]
95
+ filing_status: SINGLE
98
96
  households:
99
97
  household:
100
- members: [person1, person2]
98
+ members: [person1]
101
99
  output:
102
- # Tier 1 = $6,000, Tier 2 = $28,000, Total = $34,000
103
- # Medicare share = 28,000 / 34,000 = 82.4%
104
- taxable_social_security_tier_1: 6_000
105
- taxable_social_security_tier_2: 28_000
100
+ # Higher marginal rates affect the split
101
+ tax_unit_taxable_social_security: 25_500
102
+ tob_revenue_total: 5_778
103
+ tob_revenue_oasdi: 3_300
104
+ tob_revenue_medicare_hi: 2_478
105
+
106
+ - name: Zero taxable SS - zero revenue
107
+ period: 2024
108
+ input:
109
+ people:
110
+ person1:
111
+ age: 67
112
+ social_security: 15_000
113
+ employment_income: 5_000
114
+ tax_units:
115
+ tax_unit:
116
+ members: [person1]
117
+ filing_status: SINGLE
118
+ households:
119
+ household:
120
+ members: [person1]
121
+ output:
122
+ tax_unit_taxable_social_security: 0
123
+ tob_revenue_oasdi: 0
124
+ tob_revenue_medicare_hi: 0