policyengine-us 1.441.3__py3-none-any.whl → 1.450.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.

Potentially problematic release.


This version of policyengine-us might be problematic. Click here for more details.

Files changed (161) hide show
  1. policyengine_us/parameters/calibration/gov/hhs/medicare/per_capita_cost.yaml +12 -0
  2. policyengine_us/parameters/gov/hhs/medicare/part_a/deductible.yaml +13 -0
  3. policyengine_us/parameters/gov/hhs/medicare/part_a/default_quarters_of_coverage.yaml +10 -0
  4. policyengine_us/parameters/gov/hhs/medicare/part_a/full_premium.yaml +13 -0
  5. policyengine_us/parameters/gov/hhs/medicare/part_a/premium_free_quarters_threshold.yaml +10 -0
  6. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium.yaml +13 -0
  7. policyengine_us/parameters/gov/hhs/medicare/part_a/reduced_premium_quarters_threshold.yaml +10 -0
  8. policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +16 -0
  9. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +50 -0
  10. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +49 -0
  11. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +30 -0
  12. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +50 -0
  13. policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +49 -0
  14. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/in_effect.yaml +10 -0
  15. policyengine_us/parameters/gov/local/ny/mamdani_income_tax/rate.yaml +18 -0
  16. policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml +30 -0
  17. policyengine_us/parameters/gov/states/il/hfs/README.md +1 -0
  18. policyengine_us/parameters/gov/states/il/hfs/bcc/eligibility/age.yaml +12 -0
  19. policyengine_us/parameters/gov/states/il/hfs/hbwd/README.md +1 -0
  20. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/age.yaml +25 -0
  21. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/asset/limit.yaml +15 -0
  22. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/limit.yaml +15 -0
  23. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/earned.yaml +13 -0
  24. policyengine_us/parameters/gov/states/il/hfs/hbwd/eligibility/income/sources/unearned.yaml +25 -0
  25. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/earned.yaml +96 -0
  26. policyengine_us/parameters/gov/states/il/hfs/hbwd/premium/unearned.yaml +96 -0
  27. policyengine_us/parameters/gov/states/il/hfs/qualified_noncitizen_statuses.yaml +17 -0
  28. policyengine_us/parameters/gov/states/mt/tax/income/deductions/itemized/spouse_allocation_rate.yaml +13 -0
  29. policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml +12 -0
  30. policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml +32 -0
  31. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/amount.yaml +14 -0
  32. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/deductions/earned_income_disregard/percentage_disregarded.yaml +14 -0
  33. policyengine_us/parameters/gov/states/wa/dshs/tanf/income/limit.yaml +36 -0
  34. policyengine_us/parameters/gov/states/wa/dshs/tanf/maximum_family_size.yaml +14 -0
  35. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/amount.yaml +32 -0
  36. policyengine_us/parameters/gov/states/wa/dshs/tanf/payment_standard/maximum_amount.yaml +12 -0
  37. policyengine_us/parameters/gov/states/wa/dshs/tanf/resource_limit.yaml +15 -0
  38. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/adjustment_limit_basis.yaml +12 -0
  39. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/exemption_rate.yaml +13 -0
  40. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/rate.yaml +12 -0
  41. policyengine_us/parameters/gov/territories/pr/tax/income/gradual_adjustment/threshold.yaml +13 -0
  42. policyengine_us/parameters/gov/territories/pr/tax/income/regular_tax/percentage.yaml +21 -0
  43. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/deductions/sources.yaml +18 -0
  44. policyengine_us/parameters/gov/territories/pr/tax/income/taxable_income/exemptions/sources.yaml +15 -0
  45. policyengine_us/reforms/local/ny/__init__.py +4 -0
  46. policyengine_us/reforms/local/ny/mamdani_income_tax.py +84 -0
  47. policyengine_us/reforms/reforms.py +9 -0
  48. policyengine_us/reforms/states/ut/ut_refundable_eitc.py +3 -3
  49. policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml +65 -0
  50. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_a_premium.yaml +35 -0
  51. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +15 -0
  52. policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml +77 -0
  53. policyengine_us/tests/policy/baseline/gov/local/ca/la/general_relief/eligible/immigration/la_general_relief_immigration_status_eligible_person.yaml +2 -2
  54. policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/integration.yaml +35 -0
  55. policyengine_us/tests/policy/baseline/gov/states/co/tax/income/additions/federal_deduction/co_federal_deduction_addback.yaml +2 -2
  56. policyengine_us/tests/policy/baseline/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.yaml +26 -4
  57. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.yaml +39 -0
  58. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.yaml +95 -0
  59. policyengine_us/tests/policy/baseline/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.yaml +35 -0
  60. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.yaml +23 -0
  61. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.yaml +39 -0
  62. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.yaml +31 -0
  63. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +35 -0
  64. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +65 -0
  65. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.yaml +34 -0
  66. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.yaml +25 -0
  67. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_person.yaml +34 -0
  68. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/il_hbwd_premium.yaml +84 -0
  69. policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +183 -0
  70. policyengine_us/tests/policy/baseline/gov/states/il/hfs/il_hfs_immigration_status_eligible.yaml +47 -0
  71. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_federal_income_tax_deduction.yaml +2 -14
  72. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_a.yaml +2 -2
  73. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_b.yaml +1 -1
  74. policyengine_us/tests/policy/baseline/gov/states/mo/tax/income/deductions/mo_pension_and_ss_or_ssd_deduction/mo_pension_and_ss_or_ssd_deduction_section_c.yaml +1 -1
  75. policyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_itemized_deductions.yaml +2 -2
  76. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml +44 -0
  77. policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml +7 -8
  78. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.yaml +29 -0
  79. policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml +82 -0
  80. policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +1 -1
  81. policyengine_us/tests/policy/baseline/gov/states/ut/tax/income/credits/ss_benefits_credit/ut_ss_benefits_credit_max.yaml +5 -5
  82. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.yaml +48 -0
  83. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.yaml +65 -0
  84. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.yaml +96 -0
  85. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.yaml +70 -0
  86. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/integration.yaml +676 -0
  87. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf.yaml +102 -0
  88. policyengine_us/tests/policy/baseline/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.yaml +6 -7
  89. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.yaml +29 -0
  90. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.yaml +15 -0
  91. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi.yaml +17 -0
  92. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_agi_person.yaml +17 -0
  93. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/pr_tax_before_credits.yaml +19 -0
  94. policyengine_us/tests/policy/baseline/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.yaml +26 -0
  95. policyengine_us/tests/policy/baseline/gov/usda/snap/snap_min_allotment.yaml +3 -3
  96. policyengine_us/tests/policy/baseline/gov/usda/wic/integration.yaml +181 -0
  97. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_at_nutritional_risk.yaml +33 -0
  98. policyengine_us/tests/policy/baseline/gov/usda/wic/is_wic_eligible.yaml +28 -15
  99. policyengine_us/tests/policy/baseline/household/demographic/geographic/state_group.yaml +21 -0
  100. policyengine_us/tests/policy/baseline/household/expense/health/has_bcc_qualifying_coverage.yaml +12 -0
  101. policyengine_us/tests/policy/contrib/local/ny/nyc_mamdani_income_tax.yaml +51 -0
  102. policyengine_us/variables/gov/hhs/medicare/costs/medicare_cost.py +30 -0
  103. policyengine_us/variables/gov/hhs/medicare/costs/medicare_enrolled.py +14 -0
  104. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/base_part_a_premium.py +32 -0
  105. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/is_premium_free_part_a.py +22 -0
  106. policyengine_us/variables/gov/hhs/medicare/eligibility/part_a/medicare_quarters_of_coverage.py +16 -0
  107. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/base_part_b_premium.py +16 -0
  108. policyengine_us/variables/gov/hhs/medicare/eligibility/part_b/income_adjusted_part_b_premium.py +55 -0
  109. policyengine_us/variables/gov/states/ca/tax/income/alternative_minimum_tax/exemption/ca_amt_exemption.py +4 -2
  110. policyengine_us/variables/gov/states/ca/tax/income/ca_income_tax.py +1 -0
  111. policyengine_us/variables/gov/states/il/dhs/tanf/eligibility/il_tanf_immigration_status_eligible_person.py +5 -1
  112. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_age_eligible.py +15 -0
  113. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_eligible.py +27 -0
  114. policyengine_us/variables/gov/states/il/hfs/bcc/eligibility/il_bcc_insurance_eligible.py +29 -0
  115. policyengine_us/variables/gov/states/il/hfs/hbwd/asset/il_hbwd_countable_assets.py +34 -0
  116. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_age_eligible.py +20 -0
  117. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_asset_eligible.py +21 -0
  118. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +20 -0
  119. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.py +33 -0
  120. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_employment_eligible.py +25 -0
  121. policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_income_eligible.py +23 -0
  122. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd.py +17 -0
  123. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_person.py +24 -0
  124. policyengine_us/variables/gov/states/il/hfs/hbwd/il_hbwd_premium.py +23 -0
  125. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py +24 -0
  126. policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_gross_earned_income.py +16 -0
  127. policyengine_us/variables/gov/states/il/hfs/hbwd/income/il_hbwd_countable_income.py +21 -0
  128. policyengine_us/variables/gov/states/il/hfs/hbwd/income/unearned/il_hbwd_countable_unearned_income.py +16 -0
  129. policyengine_us/variables/gov/states/il/hfs/il_hfs_immigration_status_eligible.py +23 -0
  130. policyengine_us/variables/gov/states/mt/tax/income/deductions/itemized/general/mt_itemized_deductions_indiv.py +3 -2
  131. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py +8 -3
  132. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py +17 -0
  133. policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py +12 -6
  134. policyengine_us/variables/gov/states/oh/tax/income/credits/joint_filing_credit/oh_joint_filing_credit_qualifying_income.py +7 -3
  135. policyengine_us/variables/gov/states/wa/dshs/tanf/benefit/wa_tanf_payment_standard.py +22 -0
  136. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_eligible.py +42 -0
  137. policyengine_us/variables/gov/states/wa/dshs/tanf/eligibility/wa_tanf_income_eligible.py +31 -0
  138. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_earned_income.py +33 -0
  139. policyengine_us/variables/gov/states/wa/dshs/tanf/income/wa_tanf_countable_income.py +16 -0
  140. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf.py +34 -0
  141. policyengine_us/variables/gov/states/wa/dshs/tanf/wa_tanf_resources_eligible.py +3 -2
  142. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_amount.py +23 -0
  143. policyengine_us/variables/gov/territories/pr/tax/income/gradual_adjustment/pr_gradual_adjustment_eligible.py +16 -0
  144. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi.py +11 -1
  145. policyengine_us/variables/gov/territories/pr/tax/income/pr_agi_person.py +11 -1
  146. policyengine_us/variables/gov/territories/pr/tax/income/pr_regular_tax_before_credits.py +9 -0
  147. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/deductions/pr_deductions.py +13 -0
  148. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/exemptions/pr_exemptions.py +13 -0
  149. policyengine_us/variables/gov/territories/pr/tax/income/taxable_income/pr_net_taxable_income.py +6 -0
  150. policyengine_us/variables/gov/usda/wic/is_wic_at_nutritional_risk.py +3 -10
  151. policyengine_us/variables/gov/usda/wic/is_wic_eligible.py +10 -1
  152. policyengine_us/variables/household/demographic/geographic/state_group.py +8 -5
  153. policyengine_us/variables/household/expense/health/has_bcc_qualifying_coverage.py +16 -0
  154. {policyengine_us-1.441.3.dist-info → policyengine_us-1.450.0.dist-info}/METADATA +2 -2
  155. {policyengine_us-1.441.3.dist-info → policyengine_us-1.450.0.dist-info}/RECORD +160 -43
  156. {policyengine_us-1.441.3.dist-info → policyengine_us-1.450.0.dist-info}/WHEEL +1 -1
  157. policyengine_us/parameters/gov/states/wa/dshs/tanf/eligibility/resources/limit.yaml +0 -11
  158. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement.py +0 -0
  159. /policyengine_us/variables/gov/states/co/ssa/{state_suplement → state_supplement}/co_state_supplement_eligible.py +0 -0
  160. {policyengine_us-1.441.3.dist-info → policyengine_us-1.450.0.dist-info}/entry_points.txt +0 -0
  161. {policyengine_us-1.441.3.dist-info → policyengine_us-1.450.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,65 @@
1
+ - name: unit test 1 - enrolled, premium-free Part A
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ medicare_enrolled: true
7
+ medicare_quarters_of_coverage: 40
8
+ adjusted_gross_income:
9
+ 2023: 50_000 # IRMAA uses income from 2 years prior
10
+ tax_exempt_interest_income:
11
+ 2023: 0
12
+ output:
13
+ medicare_cost: 12_280 # $14,500 spending - $2,220 Part B premium (2025)
14
+
15
+ - name: unit test 2 - enrolled, pays full Part A premium
16
+ period: 2025
17
+ input:
18
+ age: 65
19
+ is_medicare_eligible: true
20
+ medicare_enrolled: true
21
+ medicare_quarters_of_coverage: 20
22
+ adjusted_gross_income:
23
+ 2023: 50_000 # IRMAA uses income from 2 years prior
24
+ tax_exempt_interest_income:
25
+ 2023: 0
26
+ output:
27
+ medicare_cost: 6_064 # $14,500 - $6,216 Part A - $2,220 Part B (2025)
28
+
29
+ - name: unit test 3 - enrolled with IRMAA
30
+ period: 2025
31
+ input:
32
+ age: 65
33
+ is_medicare_eligible: true
34
+ medicare_enrolled: true
35
+ medicare_quarters_of_coverage: 40
36
+ adjusted_gross_income:
37
+ 2023: 500_000 # IRMAA uses income from 2 years prior
38
+ tax_exempt_interest_income:
39
+ 2023: 0
40
+ filing_status: SINGLE
41
+ output:
42
+ medicare_cost: 6_953.2 # $14,500 - $7,546.80 Part B with IRMAA (2025)
43
+
44
+ - name: unit test 4 - eligible but not enrolled
45
+ period: 2025
46
+ input:
47
+ age: 65
48
+ is_medicare_eligible: true
49
+ medicare_enrolled: false
50
+ output:
51
+ medicare_cost: 0
52
+
53
+ - name: unit test 5 - 2021 data, premium-free
54
+ period: 2021
55
+ input:
56
+ age: 70
57
+ is_medicare_eligible: true
58
+ medicare_enrolled: true
59
+ medicare_quarters_of_coverage: 40
60
+ adjusted_gross_income:
61
+ 2019: 50_000 # IRMAA uses income from 2 years prior
62
+ tax_exempt_interest_income:
63
+ 2019: 0
64
+ output:
65
+ medicare_cost: 9_298 # $11,080 - $1,782 Part B (2021: $148.50*12)
@@ -0,0 +1,35 @@
1
+ - name: unit test 1 - premium-free Part A (40+ quarters)
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ medicare_quarters_of_coverage: 40
7
+ output:
8
+ base_part_a_premium: 0 # Premium-free with 40+ quarters
9
+
10
+ - name: unit test 2 - reduced premium (30-39 quarters)
11
+ period: 2025
12
+ input:
13
+ age: 65
14
+ is_medicare_eligible: true
15
+ medicare_quarters_of_coverage: 35
16
+ output:
17
+ base_part_a_premium: 3_420 # $285 * 12 months
18
+
19
+ - name: unit test 3 - full premium (<30 quarters)
20
+ period: 2025
21
+ input:
22
+ age: 65
23
+ is_medicare_eligible: true
24
+ medicare_quarters_of_coverage: 20
25
+ output:
26
+ base_part_a_premium: 6_216 # $518 * 12 months
27
+
28
+ - name: unit test 4 - not Medicare eligible
29
+ period: 2025
30
+ input:
31
+ age: 65
32
+ is_medicare_eligible: false
33
+ medicare_quarters_of_coverage: 40
34
+ output:
35
+ base_part_a_premium: 0
@@ -0,0 +1,15 @@
1
+ - name: unit test 1 - eligible
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ is_medicare_eligible: true
6
+ output:
7
+ base_part_b_premium: 2_220 # $185 * 12 months
8
+
9
+ - name: unit test 2 - not eligible
10
+ period: 2025
11
+ input:
12
+ age: 65
13
+ is_medicare_eligible: false
14
+ output:
15
+ base_part_b_premium: 0
@@ -0,0 +1,77 @@
1
+ - name: unit test 1 - surviving spouse, no extra premium
2
+ period: 2025
3
+ input:
4
+ age: 65
5
+ filing_status: SURVIVING_SPOUSE
6
+ adjusted_gross_income:
7
+ 2023: 80_000 # IRMAA uses income from 2 years prior
8
+ tax_exempt_interest_income:
9
+ 2023: 0
10
+ is_medicare_eligible: true
11
+ output:
12
+ income_adjusted_part_b_premium: 2_220 # $185 * 12 months
13
+
14
+ - name: unit test 2 - married, extra premium
15
+ period: 2025
16
+ input:
17
+ age: 65
18
+ filing_status: JOINT
19
+ adjusted_gross_income:
20
+ 2023: 266_001 # IRMAA uses income from 2 years prior
21
+ tax_exempt_interest_income:
22
+ 2023: 0
23
+ is_medicare_eligible: true
24
+ output:
25
+ income_adjusted_part_b_premium: 4_440 # $370 * 12 months
26
+
27
+ - name: unit test 3 - single, extra premium
28
+ period: 2025
29
+ input:
30
+ age: 65
31
+ filing_status: SINGLE
32
+ adjusted_gross_income:
33
+ 2023: 500_000 # IRMAA uses income from 2 years prior
34
+ tax_exempt_interest_income:
35
+ 2023: 0
36
+ is_medicare_eligible: true
37
+ output:
38
+ income_adjusted_part_b_premium: 7_546.8 # $628.90 * 12 months
39
+
40
+ - name: unit test 4 - HOH, extra premium
41
+ period: 2025
42
+ input:
43
+ age: 65
44
+ filing_status: SURVIVING_SPOUSE
45
+ adjusted_gross_income:
46
+ 2023: 106_002 # IRMAA uses income from 2 years prior
47
+ tax_exempt_interest_income:
48
+ 2023: 0
49
+ is_medicare_eligible: true
50
+ output:
51
+ income_adjusted_part_b_premium: 3_108 # $259 * 12 months
52
+
53
+ - name: unit test 5 - married, no extra premium
54
+ period: 2025
55
+ input:
56
+ age: 65
57
+ filing_status: JOINT
58
+ adjusted_gross_income:
59
+ 2023: 200_000 # IRMAA uses income from 2 years prior
60
+ tax_exempt_interest_income:
61
+ 2023: 0
62
+ is_medicare_eligible: true
63
+ output:
64
+ income_adjusted_part_b_premium: 2_220 # $185 * 12 months
65
+
66
+ - name: unit test 6 - married, extra premium, rich
67
+ period: 2025
68
+ input:
69
+ age: 65
70
+ filing_status: JOINT
71
+ adjusted_gross_income:
72
+ 2023: 1_000_000 # IRMAA uses income from 2 years prior
73
+ tax_exempt_interest_income:
74
+ 2023: 0
75
+ is_medicare_eligible: true
76
+ output:
77
+ income_adjusted_part_b_premium: 7_546.8 # $628.90 * 12 months
@@ -6,11 +6,11 @@
6
6
  output:
7
7
  la_general_relief_immigration_status_eligible_person: true
8
8
 
9
- - name: Residents are eligible
9
+ - name: Legal Permanent Residents are eligible
10
10
  period: 2022
11
11
  input:
12
12
  in_la: true
13
- immigration_status: RESIDENT
13
+ immigration_status: LEGAL_PERMANENT_RESIDENT
14
14
  output:
15
15
  la_general_relief_immigration_status_eligible_person: true
16
16
 
@@ -197,3 +197,38 @@
197
197
  state_fips: 5
198
198
  output:
199
199
  ar_income_tax: 1_085
200
+
201
+ - name: 3864-AR.yaml
202
+ absolute_error_margin: 2
203
+ period: 2024
204
+ input:
205
+ people:
206
+ person1:
207
+ age: 40
208
+ employment_income: 93904.383
209
+ ssi: 0
210
+ wic: 0
211
+ head_start: 0
212
+ early_head_start: 0
213
+ commodity_supplemental_food_program: 0
214
+ taxable_interest_income: 2514.2869
215
+ is_tax_unit_head: true
216
+ tax_units:
217
+ tax_unit:
218
+ members: [person1]
219
+ premium_tax_credit: 0
220
+ local_income_tax: 0
221
+ state_sales_tax: 0
222
+ spm_units:
223
+ spm_unit:
224
+ members: [person1]
225
+ snap: 0
226
+ tanf: 0
227
+ free_school_meals: 0
228
+ reduced_price_school_meals: 0
229
+ households:
230
+ household:
231
+ members: [person1]
232
+ state_fips: 5
233
+ output:
234
+ ar_income_tax: 3_410
@@ -203,7 +203,7 @@
203
203
  input:
204
204
  state_code: CO
205
205
  co_federal_deduction_addback_required: true
206
- filing_status: HEAD_OF_HOUSE_HOLD
206
+ filing_status: HEAD_OF_HOUSEHOLD
207
207
  itemized_taxable_income_deductions: 40_000
208
208
  output:
209
209
  co_federal_deduction_addback: 10_000
@@ -304,7 +304,7 @@
304
304
  input:
305
305
  state_code: CO
306
306
  co_federal_deduction_addback_required: true
307
- filing_status: HEAD_OF_HOUSE_HOLD
307
+ filing_status: HEAD_OF_HOUSEHOLD
308
308
  taxable_income_deductions: 32_000
309
309
  output:
310
310
  co_federal_deduction_addback: 20_000
@@ -1,4 +1,4 @@
1
- - name: Eligible refugee
1
+ - name: Eligible refugee
2
2
  period: 2023
3
3
  input:
4
4
  immigration_status: REFUGEE
@@ -6,7 +6,7 @@
6
6
  output:
7
7
  il_tanf_immigration_status_eligible_person: true
8
8
 
9
- - name: Not eligible undocumented
9
+ - name: Not eligible undocumented
10
10
  period: 2023
11
11
  input:
12
12
  immigration_status: UNDOCUMENTED
@@ -22,10 +22,32 @@
22
22
  output:
23
23
  il_tanf_immigration_status_eligible_person: true
24
24
 
25
- - name: Eligible HONORABLY_DISCHARGED_VETERAN
25
+ # Per 89 Ill. Admin. Code 112.10, honorably discharged veterans are eligible
26
+ # regardless of immigration status. Veteran status is tracked separately
27
+ # from immigration status via the is_veteran variable.
28
+ - name: Eligible veteran (non-citizen LPR who is a veteran)
26
29
  period: 2023
27
30
  input:
28
- immigration_status: HONORABLY_DISCHARGED_VETERAN
31
+ immigration_status: LEGAL_PERMANENT_RESIDENT
32
+ is_veteran: true
29
33
  state_code: IL
30
34
  output:
31
35
  il_tanf_immigration_status_eligible_person: true
36
+
37
+ - name: Eligible veteran (undocumented person who is a veteran)
38
+ period: 2023
39
+ input:
40
+ immigration_status: UNDOCUMENTED
41
+ is_veteran: true
42
+ state_code: IL
43
+ output:
44
+ il_tanf_immigration_status_eligible_person: true
45
+
46
+ - name: Not eligible (undocumented non-veteran)
47
+ period: 2023
48
+ input:
49
+ immigration_status: UNDOCUMENTED
50
+ is_veteran: false
51
+ state_code: IL
52
+ output:
53
+ il_tanf_immigration_status_eligible_person: false
@@ -0,0 +1,39 @@
1
+ - name: Age eligible at 0 (newborn)
2
+ period: 2024
3
+ input:
4
+ state_code: IL
5
+ age: 0
6
+ output:
7
+ il_bcc_age_eligible: true
8
+
9
+ - name: Age eligible at 30
10
+ period: 2024
11
+ input:
12
+ state_code: IL
13
+ age: 30
14
+ output:
15
+ il_bcc_age_eligible: true
16
+
17
+ - name: Age eligible at 64
18
+ period: 2024
19
+ input:
20
+ state_code: IL
21
+ age: 64
22
+ output:
23
+ il_bcc_age_eligible: true
24
+
25
+ - name: Age ineligible at 65
26
+ period: 2024
27
+ input:
28
+ state_code: IL
29
+ age: 65
30
+ output:
31
+ il_bcc_age_eligible: false
32
+
33
+ - name: Age ineligible at 70
34
+ period: 2024
35
+ input:
36
+ state_code: IL
37
+ age: 70
38
+ output:
39
+ il_bcc_age_eligible: false
@@ -0,0 +1,95 @@
1
+ - name: Eligible female US citizen under 65 without insurance
2
+ period: 2024
3
+ input:
4
+ state_code: IL
5
+ is_female: true
6
+ age: 45
7
+ immigration_status: CITIZEN
8
+ is_medicaid_eligible: false
9
+ has_bcc_qualifying_coverage: false
10
+ output:
11
+ il_bcc_eligible: true
12
+
13
+ - name: Eligible female legal permanent resident
14
+ period: 2024
15
+ input:
16
+ state_code: IL
17
+ is_female: true
18
+ age: 35
19
+ immigration_status: LEGAL_PERMANENT_RESIDENT
20
+ is_medicaid_eligible: false
21
+ has_bcc_qualifying_coverage: false
22
+ output:
23
+ il_bcc_eligible: true
24
+
25
+ - name: Eligible female refugee
26
+ period: 2024
27
+ input:
28
+ state_code: IL
29
+ is_female: true
30
+ age: 28
31
+ immigration_status: REFUGEE
32
+ is_medicaid_eligible: false
33
+ has_bcc_qualifying_coverage: false
34
+ output:
35
+ il_bcc_eligible: true
36
+
37
+ - name: Ineligible due to age over 65
38
+ period: 2024
39
+ input:
40
+ state_code: IL
41
+ is_female: true
42
+ age: 70
43
+ immigration_status: CITIZEN
44
+ is_medicaid_eligible: false
45
+ has_bcc_qualifying_coverage: false
46
+ output:
47
+ il_bcc_eligible: false
48
+
49
+ - name: Ineligible due to non-qualifying immigration status
50
+ period: 2024
51
+ input:
52
+ state_code: IL
53
+ is_female: true
54
+ age: 40
55
+ immigration_status: UNDOCUMENTED
56
+ is_medicaid_eligible: false
57
+ has_bcc_qualifying_coverage: false
58
+ output:
59
+ il_bcc_eligible: false
60
+
61
+ - name: Ineligible male
62
+ period: 2024
63
+ input:
64
+ state_code: IL
65
+ is_female: false
66
+ age: 45
67
+ immigration_status: CITIZEN
68
+ is_medicaid_eligible: false
69
+ has_bcc_qualifying_coverage: false
70
+ output:
71
+ il_bcc_eligible: false
72
+
73
+ - name: Ineligible due to qualifying health coverage
74
+ period: 2024
75
+ input:
76
+ state_code: IL
77
+ is_female: true
78
+ age: 45
79
+ immigration_status: CITIZEN
80
+ is_medicaid_eligible: false
81
+ has_bcc_qualifying_coverage: true
82
+ output:
83
+ il_bcc_eligible: false
84
+
85
+ - name: Ineligible due to Medicaid coverage
86
+ period: 2024
87
+ input:
88
+ state_code: IL
89
+ is_female: true
90
+ age: 45
91
+ immigration_status: CITIZEN
92
+ is_medicaid_eligible: true
93
+ has_bcc_qualifying_coverage: false
94
+ output:
95
+ il_bcc_eligible: false
@@ -0,0 +1,35 @@
1
+ - name: Eligible - no insurance
2
+ period: 2024
3
+ input:
4
+ state_code: IL
5
+ is_medicaid_eligible: false
6
+ has_bcc_qualifying_coverage: false
7
+ output:
8
+ il_bcc_insurance_eligible: true
9
+
10
+ - name: Ineligible - on Medicaid
11
+ period: 2024
12
+ input:
13
+ state_code: IL
14
+ is_medicaid_eligible: true
15
+ has_bcc_qualifying_coverage: false
16
+ output:
17
+ il_bcc_insurance_eligible: false
18
+
19
+ - name: Ineligible - has qualifying health coverage
20
+ period: 2024
21
+ input:
22
+ state_code: IL
23
+ is_medicaid_eligible: false
24
+ has_bcc_qualifying_coverage: true
25
+ output:
26
+ il_bcc_insurance_eligible: false
27
+
28
+ - name: Ineligible - both Medicaid and qualifying coverage
29
+ period: 2024
30
+ input:
31
+ state_code: IL
32
+ is_medicaid_eligible: true
33
+ has_bcc_qualifying_coverage: true
34
+ output:
35
+ il_bcc_insurance_eligible: false
@@ -0,0 +1,23 @@
1
+ - name: Case 1, countable assets for single person.
2
+ period: 2024-01
3
+ input:
4
+ state_code: IL
5
+ spm_unit_cash_assets: 15_000
6
+ output:
7
+ il_hbwd_countable_assets: 15_000
8
+
9
+ - name: Case 2, countable assets at limit.
10
+ period: 2024-01
11
+ input:
12
+ state_code: IL
13
+ spm_unit_cash_assets: 25_000
14
+ output:
15
+ il_hbwd_countable_assets: 25_000
16
+
17
+ - name: Case 3, countable assets with zero.
18
+ period: 2024-01
19
+ input:
20
+ state_code: IL
21
+ spm_unit_cash_assets: 0
22
+ output:
23
+ il_hbwd_countable_assets: 0
@@ -0,0 +1,39 @@
1
+ - name: Case 1, age eligible at 16.
2
+ period: 2024-01
3
+ input:
4
+ state_code: IL
5
+ age: 16
6
+ output:
7
+ il_hbwd_age_eligible: true
8
+
9
+ - name: Case 2, age eligible at 30.
10
+ period: 2024-01
11
+ input:
12
+ state_code: IL
13
+ age: 30
14
+ output:
15
+ il_hbwd_age_eligible: true
16
+
17
+ - name: Case 3, age eligible at 64.
18
+ period: 2024-01
19
+ input:
20
+ state_code: IL
21
+ age: 64
22
+ output:
23
+ il_hbwd_age_eligible: true
24
+
25
+ - name: Case 4, age ineligible at 15.
26
+ period: 2024-01
27
+ input:
28
+ state_code: IL
29
+ age: 15
30
+ output:
31
+ il_hbwd_age_eligible: false
32
+
33
+ - name: Case 5, age ineligible at 65.
34
+ period: 2024-01
35
+ input:
36
+ state_code: IL
37
+ age: 65
38
+ output:
39
+ il_hbwd_age_eligible: false
@@ -0,0 +1,31 @@
1
+ - name: Case 1, asset eligible below limit.
2
+ period: 2024-01
3
+ input:
4
+ state_code: IL
5
+ spm_unit_cash_assets: 20_000
6
+ output:
7
+ il_hbwd_asset_eligible: true
8
+
9
+ - name: Case 2, asset eligible at limit.
10
+ period: 2024-01
11
+ input:
12
+ state_code: IL
13
+ spm_unit_cash_assets: 25_000
14
+ output:
15
+ il_hbwd_asset_eligible: true
16
+
17
+ - name: Case 3, asset ineligible above limit.
18
+ period: 2024-01
19
+ input:
20
+ state_code: IL
21
+ spm_unit_cash_assets: 25_001
22
+ output:
23
+ il_hbwd_asset_eligible: false
24
+
25
+ - name: Case 4, asset eligible with zero assets.
26
+ period: 2024-01
27
+ input:
28
+ state_code: IL
29
+ spm_unit_cash_assets: 0
30
+ output:
31
+ il_hbwd_asset_eligible: true
@@ -0,0 +1,35 @@
1
+ - name: Case 1, disability eligible via SSI disability.
2
+ period: 2024-01
3
+ input:
4
+ state_code: IL
5
+ is_ssi_disabled: true
6
+ social_security_disability: 0
7
+ output:
8
+ il_hbwd_disability_eligible: true
9
+
10
+ - name: Case 2, disability eligible via SSDI receipt.
11
+ period: 2024-01
12
+ input:
13
+ state_code: IL
14
+ is_ssi_disabled: false
15
+ social_security_disability: 14_400 # $1,200/month
16
+ output:
17
+ il_hbwd_disability_eligible: true
18
+
19
+ - name: Case 3, disability eligible via both.
20
+ period: 2024-01
21
+ input:
22
+ state_code: IL
23
+ is_ssi_disabled: true
24
+ social_security_disability: 14_400 # $1,200/month
25
+ output:
26
+ il_hbwd_disability_eligible: true
27
+
28
+ - name: Case 4, disability ineligible.
29
+ period: 2024-01
30
+ input:
31
+ state_code: IL
32
+ is_ssi_disabled: false
33
+ social_security_disability: 0
34
+ output:
35
+ il_hbwd_disability_eligible: false
@@ -0,0 +1,65 @@
1
+ - name: Case 1, eligible working disabled person.
2
+ period: 2024-01
3
+ input:
4
+ state_code: IL
5
+ age: 35
6
+ is_ssi_disabled: true
7
+ employment_income: 30_000 # $2,500/month
8
+ spm_unit_cash_assets: 10_000
9
+ output:
10
+ il_hbwd_eligible: true
11
+
12
+ - name: Case 2, eligible SSDI recipient with job.
13
+ period: 2024-01
14
+ input:
15
+ state_code: IL
16
+ age: 50
17
+ social_security_disability: 14_400 # $1,200/month
18
+ employment_income: 21_600 # $1,800/month
19
+ spm_unit_cash_assets: 20_000
20
+ output:
21
+ il_hbwd_eligible: true
22
+
23
+ - name: Case 3, ineligible due to age.
24
+ period: 2024-01
25
+ input:
26
+ state_code: IL
27
+ age: 70
28
+ is_ssi_disabled: true
29
+ employment_income: 24_000 # $2,000/month
30
+ spm_unit_cash_assets: 5_000
31
+ output:
32
+ il_hbwd_eligible: false
33
+
34
+ - name: Case 4, ineligible due to no employment.
35
+ period: 2024-01
36
+ input:
37
+ state_code: IL
38
+ age: 40
39
+ is_ssi_disabled: true
40
+ social_security_disability: 18_000 # $1,500/month
41
+ spm_unit_cash_assets: 5_000
42
+ output:
43
+ il_hbwd_eligible: false
44
+
45
+ - name: Case 5, ineligible due to high income.
46
+ period: 2024-01
47
+ input:
48
+ state_code: IL
49
+ age: 45
50
+ is_ssi_disabled: true
51
+ employment_income: 72_000 # $6,000/month
52
+ spm_unit_cash_assets: 5_000
53
+ output:
54
+ il_hbwd_eligible: false
55
+
56
+ - name: Case 6, ineligible due to high assets.
57
+ period: 2024-01
58
+ input:
59
+ state_code: IL
60
+ age: 30
61
+ is_ssi_disabled: true
62
+ employment_income: 24_000 # $2,000/month
63
+ spm_unit_cash_assets: 30_000
64
+ output:
65
+ il_hbwd_eligible: false