Appearance
State Subsidy Programs
Supplementary data for states with their own premium assistance
Overview
Most states rely solely on federal APTC. A small number add state-funded premium subsidies on top. For these states, our calculation must account for both federal and state components.
Confirmed State Subsidies
California (CAPS + CAPC) ✅ Validated
Source: 2026 CA Premium Subsidy Program Design
Formula: Identical to federal APTC but with California's own (lower) applicable percentage table.
CAPS = (SLCSP - CA_contribution) - Federal_APTC
= Federal_contribution - CA_contribution (when CA% < Federal%)California 2026 Applicable Percentage Table:
| Income (% FPL) | Initial % | Final % |
|---|---|---|
| 100% to 150% | 0.00% | 0.00% |
| 150% to 165% | 3.19% | 3.91% |
| Above 165% | No state subsidy |
CAPC: $1 per covered member per month (all enrollees, regardless of income)
Validation: Within $0.44-$8.29 of Covered California's displayed savings across 4 marketplace scenarios.
Non-Medicaid-Expansion FFM States — income-bump (ENG-414) ✅ Shipped
Not a state-funded subsidy — this section documents a federal-subsidy display fix specific to the 9 FFM states that never expanded Medicaid. It belongs in this doc because the fix is state-aware and the affected user population overlaps the "states requiring research" conceptual space (low-income residents who fall through standard ACA UX patterns).
The bug we fixed
In Medicaid-expansion states (UT, OH, MI, NC, AZ, etc.) a user at 0-138% FPL hits CMS with is_medicaid_chip: true → /api/eligibility re-queries CMS at the bumped income (~138.5% FPL) to surface the full APTC + CSR-94 result that the user would receive if Medicaid denies them. This is the "Medicaid death-loop" pattern from the prior Medicaid fix.
In the 9 non-expansion FFM states (TX, FL, AL, MS, SC, TN, WY, KS, WI) CMS never sets is_medicaid_chip: true for these users (their state didn't expand) — so the bump path never triggered. Result:
- <100% FPL users saw
aptc=0, in_coverage_gap=true→ a no-subsidy dead-end. - 100-138% FPL users saw the partial APTC CMS calculated at their literal low income — meaningfully smaller than the full subsidy an expansion-state peer would see at the same income.
Both technically reflect what CMS returns at the literal income, but both fail the UX intent: show the user the full subsidy they qualify for upfront; navigate state-specific qualification details (Medicaid vs marketplace) later in the funnel.
The fix (PR #543, deployed 2026-06-01)
Widened the income-bump trigger in apps/web/src/app/api/eligibility/route.ts (FFM proxy branch) to also fire when NON_EXPANSION_FFM_STATES.has(place.state) && fplPercent < 138.5. Reuses 100% of the existing calculateMedicaidThreshold math and CMS re-query mechanism. Adds:
NON_EXPANSION_FFM_STATESconstant inpackages/shared/src/constants/index.ts—Set { TX, FL, AL, MS, SC, TN, WY, KS, WI }. GA is excluded even though it never expanded Medicaid — for 2026 GA runs its own marketplace (Georgia Access), so the FFM proxy branch never runs for GA users (the SBE redirect fires first).is_non_expansion_bumpsibling flag in the/api/eligibilityresponse, mutually exclusive with theis_medicaid_chip-driven bump. Plumbed throughfetch-plans.ts→use-calculator→LandingCalculator.- Distinct takeover banner copy when
isNonExpansionBump=true: "Your income qualifies for the highest ACA subsidy" + body that names the state didn't expand Medicaid and frames the marketplace subsidy as the federal entitlement it is (instead of the misleading "Medicaid threshold" wording reused from the expansion-state path).
Verified apex behavior (2026-06-01, after deploy)
| Scenario | Before | After |
|---|---|---|
| TX 75201 single 35M $14K (~92% FPL — coverage gap) | aptc=$0, dead-end | $21.25/mo Silver, APTC $566, CSR-94, is_non_expansion_bump=true |
| FL 33101 single 35M $17K (~109% FPL) | aptc=$0, dead-end | $27.47/mo Silver, APTC $580, CSR-94 |
| AL 35036 single 35M $21K (~134% FPL) | partial APTC at literal income | $10.58/mo Silver, APTC $552, CSR-94 |
| CONTROL UT 84094 single 35M $21K (existing Medicaid path) | bumped via is_medicaid_chip | Unchanged — is_non_expansion_bump=false, shape identical |
| CONTROL TX 75201 single 35M $30K (~190% FPL, above bump band) | normal subsidy passthrough | Unchanged — no is_medicaid_adjusted flag (bump correctly did NOT trigger) |
Regression coverage
Locked into scripts/audit/calculator-baseline.ts as scenarios #15 (TX $14K), #16 (FL $17K), #17 (AL $21K). All 14 original scenarios continue to pass ZERO DIFFS against the captured fixture — the fix is precisely scoped to the previously-unhandled <138% FPL band in non-expansion FFM states.
Non-expansion states are NOT eligible for state subsidies
None of the 9 non-expansion states run their own state-funded premium subsidy program (CA's CAPS+CAPC, etc.). The "subsidy" surfaced here is federal APTC + CSR-94 — ACA §1401 — which they were always entitled to; we just weren't displaying it properly. So these states do NOT need an entry in the state_subsidies MongoDB collection.
Refresh cadence
Re-verify the membership of NON_EXPANSION_FFM_STATES annually with the plan-year refresh. NC expanded in 2024, SD in 2023 — both are excluded from the set today. Authoritative source: https://www.kff.org/medicaid/issue-brief/status-of-state-medicaid-expansion-decisions/
States Requiring Research
| State | Program | Status |
|---|---|---|
| New York | Essential Plan / Basic Health Program | ❌ Need to research |
| Colorado | Colorado Option | ❌ Need to research |
| Washington | Cascade Care | ❌ Need to research |
| Connecticut | State subsidy program | ❌ Need to research |
| Others | Most SBE states have NO state subsidy | Federal APTC only |
Implementation
State subsidy data stored in MongoDB state_subsidies collection:
json
{
"state": "CA",
"plan_year": 2026,
"program_name": "CAPS + CAPC",
"applicable_pct_table": [
{"min_fpl": 1.00, "max_fpl": 1.50, "initial_pct": 0, "final_pct": 0},
{"min_fpl": 1.50, "max_fpl": 1.65, "initial_pct": 0.0319, "final_pct": 0.0391}
],
"per_member_credit": 1.00,
"source_url": "https://board.coveredca.com/...",
"last_verified": "2026-04-07"
}For states without entries, federal APTC is the complete answer.