Skip to content

Add chip_premium with 17-state CHIP premium implementations#8086

Merged
MaxGhenis merged 2 commits intomainfrom
chip-premiums
Apr 19, 2026
Merged

Add chip_premium with 17-state CHIP premium implementations#8086
MaxGhenis merged 2 commits intomainfrom
chip-premiums

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis commented Apr 19, 2026

Fixes #5889.

Summary

Adds chip_premium — a federal tax-unit variable that aggregates state-specific CHIP premium and enrollment-fee implementations — along with concrete implementations for 17 states:

State Structure Source
AL Per-child annual enrollment fee, family cap Alabama ALL Kids Premiums and Copays
CT Family flat monthly, Band 2 only HUSKY Health Monthly Income Chart 3/1/2025
DE Family flat monthly, two tiers Delaware Healthy Children Program
FL Family flat monthly, two tiers Florida KidCare 2025 Income Guidelines
GA Per-child monthly with cap, six FPL tiers Georgia DFCS Medicaid Manual 2194
IA Per-child monthly with cap, two tiers Iowa Hawki 2025 Income Guidelines
ID Per-child monthly, no family cap Idaho CHIP Title XXI State Plan
IL Per-child monthly with cap, two tiers Illinois HFS All Kids
IN One-child vs two-or-more-children monthly rates, four tiers Indiana Hoosier Healthwise Package C
KS Family flat monthly, three tiers Kansas Legislative Briefing Book 2026
LA Family flat monthly, LaCHIP Affordable Plan only LaCHIP Affordable Plan FAQ
MA Per-child monthly with 3-child cap 130 CMR 506.011
MI Family flat monthly, single tier MIChild general information
MO Family size × FPL tier monthly schedule Missouri DSS Appendix E
NY Per-child monthly with 3-child cap NYSDOH Child Health Plus
TX Annual enrollment fee, three tiers Texas Works Handbook D-1820
WI Per-child monthly, no cap, eleven tiers BadgerCare Plus Handbook 48.1

Federal-level chip_premium defaults to zero and aggregates each state's contribution via adds, so adding or updating a state is isolated to its own files.

Architecture

  • Tax-unit entity — CHIP premiums and enrollment fees are charged once per household.
  • Income basis — all tiers use tax_unit_medicaid_income_level (MAGI / FPL), matching existing CHIP eligibility.
  • Child count — per-child states sum is_chip_eligible_child across tax unit members and apply the family cap where applicable.
  • Effective dates — parameter files carry the dates supported by each state's published schedule.

Not included

States confirmed as charging premiums per KFF May 2024 but deferred:

  • NV — FPL tier boundaries for the $25/$50/$80 quarterly premium are not published on primary state sites.
  • PA — premium varies by chosen MCO, which is out of scope without an MCO selection variable.
  • ND, NJ — current status could not be verified from primary sources (NJ appears suspended; ND likely copays-only but not confirmed).

Also, the federal 5% of family income cost-sharing cap under 42 CFR 457.560 is cited in the federal variable but not enforced as a ceiling. It only binds at the top of CHIP income bands and can be added when premium + copay modeling is broader.

Testing

  • 47 state-level YAML tests covering each implemented state (zero case, one or more premium tiers, and family-cap behavior where relevant).
  • 4 federal aggregation tests: default-zero state, Texas enrollment fee, New York per-child premium, and Missouri family-size-tier premium.
  • 86/86 CHIP tests pass. Existing non-premium CHIP tests unaffected.
  • make format / ruff check clean.

Test plan

  • Full CHIP test suite passes locally (86/86)
  • Formatter / linter pass
  • CI passes

Introduces a federal `chip_premium` tax-unit variable that defaults to
zero and aggregates state-specific CHIP premiums/enrollment fees via
`adds`. Adds the first state implementation for Texas (`tx_chip_premium`)
using the Texas Works Handbook D-1820 fee schedule ($0/$35/$50 by FPL
band).

Related to #5889.
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (05d5d97) to head (62b249f).
⚠️ Report is 21 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8086   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           18        18           
  Lines          353       295   -58     
  Branches         4         0    -4     
=========================================
- Hits           353       295   -58     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Expands `chip_premium` coverage from Texas-only to 17 states total:
AL, CT, DE, FL, GA, IA, ID, IL, IN, KS, LA, MA, MI, MO, NY, TX, WI.

Each state has a dedicated `{st}_chip_premium` tax-unit variable and
parameter file(s) sourced from the authoritative state CHIP handbook,
regulation, or agency fee schedule, covering the common structural
patterns:
- Family-flat monthly premium (CT, DE, FL, KS, LA, MI)
- Per-child monthly with family cap (GA, IA, IL, MA, NY)
- Per-child monthly without a cap (ID, WI)
- Per-child annual enrollment fee with family cap (AL)
- Differentiated 1-child vs 2+-children monthly rates (IN)
- Family-size-by-FPL-tier monthly schedule (MO)

Also moves the Texas implementation from `gov/states/tx/hhsc/chip/`
to `gov/states/tx/hhs/chip/` for consistency with the other states.

States confirmed as charging premiums per the KFF May 2024 50-state
survey but not included: NV (FPL tier boundaries not published), PA
(varies by chosen MCO), ND and NJ (could not verify current status
from primary sources).
@MaxGhenis MaxGhenis changed the title Add chip_premium with Texas CHIP enrollment fee Add chip_premium with 17-state CHIP premium implementations Apr 19, 2026
@MaxGhenis MaxGhenis merged commit fb98f11 into main Apr 19, 2026
12 of 15 checks passed
@MaxGhenis MaxGhenis deleted the chip-premiums branch April 19, 2026 11:35
MaxGhenis added a commit that referenced this pull request Apr 19, 2026
Wires the `chip_premium` variable (added in #8086) into
`spm_unit_spm_expenses` so CHIP premium reforms propagate to SPM
resources. Follows the existing pattern for TaxUnit-level variables
flowing into SPM-unit aggregates (e.g. `premium_tax_credit` →
`spm_unit_benefits`).

Addresses the model half of #8089. Baseline SPM double-counts CHIP
premiums slightly (computed premium plus CPS-imputed MOOP) until the
us-data side strips the baseline-year CHIP component from imputed
`health_insurance_premiums_without_medicare_part_b`.
MaxGhenis added a commit that referenced this pull request Apr 19, 2026
* Include chip_premium in SPM expenses

Wires the `chip_premium` variable (added in #8086) into
`spm_unit_spm_expenses` so CHIP premium reforms propagate to SPM
resources. Follows the existing pattern for TaxUnit-level variables
flowing into SPM-unit aggregates (e.g. `premium_tax_credit` →
`spm_unit_benefits`).

Addresses the model half of #8089. Baseline SPM double-counts CHIP
premiums slightly (computed premium plus CPS-imputed MOOP) until the
us-data side strips the baseline-year CHIP component from imputed
`health_insurance_premiums_without_medicare_part_b`.

* Use explicit formula for cross-entity chip_premium aggregation
MaxGhenis added a commit that referenced this pull request Apr 19, 2026
Introduces a new SPM-unit-level MOOP variable that combines the
person-level imputed `medical_out_of_pocket_expenses` with TaxUnit-level
rules-based premium variables. `chip_premium` (from #8086) is the first
such premium; Marketplace and Medicare Part B (#8095) and Medicaid
expansion premiums (#8102) will slot in here as they land.

`spm_unit_spm_expenses` now reads the wrapper rather than listing the
premium variables individually. This keeps person-level MOOP stable for
existing consumers (SNAP excess medical deduction, state itemized
medical deductions) while SPM resources correctly reflect computed
premium costs.

Addresses #8100.
MaxGhenis added a commit that referenced this pull request Apr 19, 2026
…8103)

Introduces a new SPM-unit-level MOOP variable that combines the
person-level imputed `medical_out_of_pocket_expenses` with TaxUnit-level
rules-based premium variables. `chip_premium` (from #8086) is the first
such premium; Marketplace and Medicare Part B (#8095) and Medicaid
expansion premiums (#8102) will slot in here as they land.

`spm_unit_spm_expenses` now reads the wrapper rather than listing the
premium variables individually. This keeps person-level MOOP stable for
existing consumers (SNAP excess medical deduction, state itemized
medical deductions) while SPM resources correctly reflect computed
premium costs.

Addresses #8100.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CHIP premiums

1 participant