Skip to content

Add California premium assistance (Covered California state subsidy) - #9233

Draft
DTrim99 wants to merge 4 commits into
mainfrom
ca-premium-assistance
Draft

Add California premium assistance (Covered California state subsidy)#9233
DTrim99 wants to merge 4 commits into
mainfrom
ca-premium-assistance

Conversation

@DTrim99

@DTrim99 DTrim99 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Add California Premium Subsidy (Covered California, PY2026)

Summary

Implements the California Premium Subsidy — the statutory "Individual Market Assistance" program (state advance premium assistance subsidies) administered by Covered California — as a state top-up to the federal ACA premium tax credit for on-Exchange enrollees with household income from 100% to 165% of the federal poverty level.

This is the plan-year 2026 revival of the SB 78 (2019) program: with the enhanced federal PTC expiring after 2025, the Covered California board adopted the 2026 Program Design on July 28, 2025 (effective January 1, 2026), funded by a $190 million appropriation from the Health Care Affordability Reserve Fund. The subsidy zeroes out the expected premium contribution up to 150% FPL and applies a reduced applicable-percentage schedule (3.19%–3.91%, versus the federal 4.19%–4.91%) from 150% to 165% FPL.

New variables:

  • ca_premium_subsidy — annual state subsidy amount (TaxUnit, year)
  • ca_premium_subsidy_eligible — eligibility flag (federal APTC eligibility plus the 100–165% FPL band)
  • ca_premium_subsidy_applicable_percentage — CA expected-contribution percentage (linear interpolation within tiers)

Parameter tree: gov.states.ca.hbex.premium_subsidy (HBEX = California Health Benefit Exchange, Covered California's statutory name — mirrors the NM hca and MD mhbe agency-node pattern).

Closes #9220.

Note: issue #1394 covers the legacy 2020 FTB Form 3849 "California Premium Assistance Subsidy" (SB 78 vintage, paused in 2021 under ARPA); this PR models the revived PY2026 program under re-enacted Title 25 authority and supersedes that stub.

Regulatory Authority

Eligibility

An "applicable return filer" qualifies when all of the following hold (Program Design subdiv. (c), (d)(7), p.1–2):

  1. On-Exchange subsidized application — enrollment through Covered California's single streamlined application (W&I Code §15926; PD (c)(1), p.1). Captured by the existing Marketplace-enrollment machinery (is_aca_ptc_eligible / pays_aca_premium); takeup is assigned during microdata construction.
  2. Full federal §36B APTC eligibility (PD (c)(2), p.2) — modeled as tax_unit.any(is_aca_ptc_eligible). This inherits the married-filing-jointly requirement with its 26 CFR 1.36B-2(b)(2) exceptions (PD (d)(7)(A), p.3), the dependent exclusion (PD (d)(7)(B), p.3 — structural in the model), and the Medi-Cal interaction at ≤138% FPL (Policy Explainer Table 1 notes, p.2).
  3. Household income from 100% to 165% FPL (PD (d)(7), p.2) — encoded as explicit fpl_floor (1.0) and fpl_limit (1.65) gates on aca_magi_fraction. The floor is explicit rather than inherited because the federal gate includes the below-poverty immigration exception, which the CA statutory "applicable return filer" definition excludes.

Household income is ACA MAGI (26 CFR 1.36B-1(e); PD (d)(12), p.3), and the FPL vintage is the level in effect on the first day of open enrollment — the prior-year FPL, matching the existing aca_magi_fraction convention (PD (d)(11), p.3).

Benefit Calculation

The applicable-percentage schedule (PD (d)(4), p.2; cross-checked against Policy Explainer Table 1, p.2):

Household income (% FPL) Initial premium % Final premium %
100% up to 150% 0% 0%
Above 150% up to 165% 3.19% 3.91%

The percentage rises linearly within each tier ("on a sliding scale in a linear manner", PD (d)(4)) — the formula reuses the searchsorted bracket interpolation from aca_required_contribution_percentage, so at 157.5% FPL the applicable percentage is 3.55%.

The subsidy is the residual after the federal APTC (PD (b), p.1):

ca_premium_subsidy = max(0, SLCSP − aca_ptc − ca_applicable_pct × max(aca_magi, 0))

gated by ca_premium_subsidy_eligible, with the SLCSP benchmark annualized from the monthly slcsp variable and the result floored at $0 ("the excess (if any)", PD (b)(1)(B)). Below 150% FPL the CA percentage is zero, so the state fills the full post-APTC gap to the benchmark (net consumer premium of approximately $0); from 150% to 165% FPL it pays the difference between the federal (4.19%–4.91%) and CA (3.19%–3.91%) expected-contribution amounts. Above 165% FPL only the federal APTC applies — unlike New Mexico, the program has no above-400%-FPL component.

Requirements Coverage

REQ Description Parameter Variable Test
REQ-001/023 In effect PY2026 (carried through PY2027) in_effect.yaml ca_premium_subsidy_eligible eligible cases 9–11; subsidy cases 8, 13; integration scenario 7
REQ-002 On-Exchange subsidized application via is_aca_ptc_eligible machinery documented in eligible variable
REQ-003 Full federal §36B APTC eligibility tax_unit.any(is_aca_ptc_eligible) eligible cases 6–7
REQ-004/021/022 100–165% FPL band, explicit floor and cap fpl_floor.yaml, fpl_limit.yaml ca_premium_subsidy_eligible eligible cases 1–5, 12
REQ-005 MFJ requirement (with 1.36B-2(b)(2) exceptions) inherited via federal gate documented
REQ-006 No subsidy for claimed dependents structural (TaxUnit-level) documented
REQ-007 Medi-Cal ≤138% FPL interaction inherited via federal gate documented
REQ-008/018/019/020 CA applicable-percentage schedule applicable_percentage/{threshold,initial,final}.yaml ca_premium_subsidy_applicable_percentage percentage cases 1–12
REQ-009/025 Linear interpolation within tiers searchsorted interpolation (federal clone) percentage cases 5–7, 12
REQ-010/026 Residual formula net of APTC ca_premium_subsidy subsidy cases 1–13
REQ-011 Floor at zero outer max_(0, ...) subsidy case 5; integration scenario 5
REQ-012 Enrolled-plan premium cap SLCSP-path approximation, documented see Not Modeled note
REQ-013 Income = ACA MAGI, clamped at zero max_(aca_magi, 0) subsidy case 6
REQ-014 Benchmark = SLCSP, annualized add(tax_unit, period, ["slcsp"]) all subsidy/integration cases
REQ-015 Prior-year FPL vintage inherited via aca_magi_fraction covered by band tests
REQ-016 Annual amount (sum of coverage months) year definition period all cases
REQ-017 Net of federal APTC aca_ptc subtrahend subsidy cases 1–2; integration 1–5
REQ-024 Eligibility variable ca_premium_subsidy_eligible (TaxUnit, defined_for CA) eligible cases 1–12
REQ-027 Household healthcare aggregate healthcare_benefit_value adds entry healthcare_benefit_value case 7
REQ-028 Program registry programs.yaml entry (verified_years: "2026-2027")
REQ-029 Changelog fragment changelog.d/ca-premium-assistance.added.md
REQ-030 Per-variable unit tests three unit YAMLs (37 cases)
REQ-031 Boundary tests at 0.99/1.00/1.50/1.575/1.65/1.66 FPL eligible cases 1–5; percentage cases 1–3, 5, 9–10
REQ-032 Integration tests (full pipeline, non-CA, pre-2026, both bands) integration.yaml scenarios 1–7

All 51 tests pass (12 eligibility, 12 applicable percentage, 13 subsidy, 7 integration, 7 healthcare_benefit_value).

Not Modeled

  • REQ-012 — Enrolled-plan premium cap (PD (a), (b)(1)(A)): the subsidy cannot exceed the premiums of the plan actually enrolled in; the model lacks plan-selection inputs, so it uses the SLCSP-benchmark path — the same approximation as aca_ptc and the NM program. Documented in the variable.
  • REQ-033 — FTB reconciliation and repayment caps (PD (e)–(g); GC §100810): a static annual calculation with projected income equal to actual income produces no reconciliation delta.
  • REQ-034 — $190M appropriation cap / non-entitlement (GC §100825): a discretionary funding cap not derivable per household.
  • REQ-035 — Advance-payment mechanics and the CA Enhanced CSR wrap (GC §100805; AB 2530): payment plumbing and the separate cost-sharing program are out of scope.

Historical Notes

  • SB 78 (2019) created the original Individual Market Assistance program; the California Premium Subsidy operated for plan year 2020 (and into 2021) before ARPA's enhanced federal PTC superseded it. The program paused in 2021 and the SB 78-vintage Title 25 §100800 was repealed effective January 1, 2023.
  • With the enhanced federal PTC expiring after 2025, the Budget Act of 2025 (item 4800-101-3381) appropriated $190 million from the Health Care Affordability Reserve Fund and the Covered California board adopted the 2026 Program Design on July 28, 2025, conditioned on the federal enhanced PTC not being extended by September 30, 2025 (the condition was met). Covered California reports about 389,590 enrollees receiving the state subsidy in 2026 (roughly $45/month on average).
  • Carry-forward assumption: PY2026 board-adopted values are carried through PY2027 (in_effect true 2026-01-01, false 2028-01-01). A PY2027 Program Design exists (board meeting May 21, 2026), confirming continuation, but its values have not been verified against this implementation — programs.yaml records verified_years: "2026-2027" and the assumption is documented in in_effect.yaml.

Files Added

changelog.d/
  ca-premium-assistance.added.md
policyengine_us/parameters/gov/states/ca/hbex/premium_subsidy/
  applicable_percentage/
    threshold.yaml        # [1.0, 1.5, 1.65]
    initial.yaml          # [0, 0.0319]
    final.yaml            # [0, 0.0391]
  fpl_floor.yaml          # 1.0
  fpl_limit.yaml          # 1.65
  in_effect.yaml          # true 2026-01-01, false 2028-01-01
policyengine_us/variables/gov/states/ca/hbex/premium_subsidy/
  ca_premium_subsidy.py
  ca_premium_subsidy_applicable_percentage.py
  ca_premium_subsidy_eligible.py
policyengine_us/tests/policy/baseline/gov/states/ca/hbex/premium_subsidy/
  ca_premium_subsidy.yaml                        # 13 cases
  ca_premium_subsidy_applicable_percentage.yaml  # 12 cases
  ca_premium_subsidy_eligible.yaml               # 12 cases
  integration.yaml                               # 7 scenarios

Modified: policyengine_us/variables/household/healthcare_benefit_value.py (adds ca_premium_subsidy), policyengine_us/tests/policy/baseline/household/healthcare_benefit_value.yaml (new case 7), policyengine_us/programs.yaml (new entry).

🤖 Generated with Claude Code

DTrim99 and others added 3 commits August 5, 2026 10:15
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (63bcfc5) to head (5f05623).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##              main     #9233    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files           12         4     -8     
  Lines          192        69   -123     
==========================================
- Hits           192        69   -123     
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 Harness.
📢 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.

…tests)

- ca_premium_subsidy_eligible.py: add(...) > 0 instead of tax_unit.any(members(...))
- fpl_floor.yaml / applicable_percentage/threshold.yaml: drop trailing .0 on the
  integer 1 (numerically identical)
- ca_premium_subsidy.py: docstring notes the raw-subsidy healthcare_benefit_value
  convention (sibling co_omnisalud/or pattern; takeup-gated variant a future
  refinement) and the out-of-scope reconciliation/appropriation caps
- fpl_floor.yaml: section-anchored CA Gov. Code Section 100800(d)(7) reference;
  eligible variable dual #page anchor
- Tests: derived-from-raw-income integration scenario asserting a genuine
  $246.85 subsidy; multi-member asymmetric-eligibility positive-dollar case;
  applicable-% clamp cross-checks; dual-nonzero healthcare_benefit_value case;
  positive PY2027 carry-forward case; slcsp==aca_ptc floor case (58/58 passing)

No parameter values (beyond 1.0->1 formatting) or formula logic changed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DTrim99

DTrim99 commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Review fixes applied (/review-program/fix-pr)

Full multi-agent review pass (regulatory, references, code patterns, test coverage, PDF value audit against the 2026 Program Design + Policy Explainer). 0 critical, 0 value mismatches — the applicable-% schedule ([1, 1.5, 1.65] → 0% / 3.19%→3.91%), the 100–165% FPL band, the residual formula, and every #page anchor verified; the exactly-150%-FPL knot confirmed as the documented Explainer/federal convention (right-continuous bracketing). Applied all should-address items and suggestions:

Code / docs

  • .any()add(...) > 0 in ca_premium_subsidy_eligible.py (house idiom; behavior-identical).
  • Dropped trailing .0 on the integer 1 in fpl_floor.yaml and the first threshold element (numerically identical).
  • ca_premium_subsidy.py docstring: documented that the raw (ungated) subsidy is summed into healthcare_benefit_value following the sibling-program convention (co_omnisalud, or_healthier_oregon_cost) — a take-up-gated assigned_ variant is a possible future refinement — and that FTB reconciliation, repayment caps, and the $190M appropriation cap are out of scope.
  • fpl_floor.yaml: section-anchored the CA Gov. Code reference to §100800(d)(7); dual #page anchor on the eligibility reference.

Tests (58/58 passing)

  • A derived-from-raw-income integration scenario: aca_magi_fraction, slcsp, and aca_ptc all derive from raw employment_income (→ 157% FPL), asserting a genuine $246.85 state subsidy — so a change to the federal ACA chain would be caught rather than silently pass.
  • A multi-member asymmetric-eligibility case (one member APTC-eligible, one not) asserting a full positive amount (not halved/zeroed).
  • Applicable-% clamp cross-checks (amount = 0 in the ineligible region), a dual-nonzero healthcare_benefit_value case, a positive-amount PY2027 carry-forward case, and a slcsp == aca_ptc floor case.

No parameter values (beyond 1.01 formatting) or formula logic changed. CI green.

🤖 Generated with Claude Code

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.

Model California state premium subsidy (Covered California PY2026 ARPA backfill ≤165% FPL)

1 participant