Add Connecticut premium assistance (Covered Connecticut) - #9246
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9246 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 12 3 -9
Lines 192 38 -154
==========================================
- Hits 192 38 -154
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ance Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The fpl_limit reference title cites Sec. 16(b)(1)(B)(iv), whose "one hundred seventy-five per cent of the federal poverty level" text is on FILE page 23 of the P.A. 21-2 PDF; #page=21 landed on the Sec. 16 header. Reference href only; no value change (1.75 verbatim-confirmed in statute). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Retarget P.A. 21-2 reference anchors to the operative pages: in_effect and both variables to #page=22 (the "fully subsidized coverage" mandate Sec. 16(b)(1)); add #page=24 for Sec. 16(d) (not-CT-taxable) which the ct_covered_connecticut documentation cites. - Clarify the in_effect comment: statutory launch was July 1 2021 (parents/caretakers) and July 1 2022 (all adults 18-64); 2026-01-01 is the modeled verified-coverage-start floor, not the standing-law year. - Add the CT DSS program page as a second in_effect reference (ongoing status) and repoint the fpl_limit DSS href off the navigation stub. - programs.yaml agency "DSS (Access Health CT)" -> "State" (sibling convention); document the statutory age-cohort scope choice in the eligible-variable docs; comment the defensive max_(0,...) floor. - Add tests: 1.7501 FPL epsilon boundary, MFS-via-derived-is_aca_ptc_ eligible, immigration-ineligible arm, a derived low-income integration scenario (documents the Medicaid/APTC split lower bound at ~140% FPL in this expansion state), a derived healthcare_benefit_value case, a 2027 carry-forward case, and a negative-income case. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32ef05c to
15cdb86
Compare
Review fixes applied (
|
Summary
Closes #9226.
Adds the Covered Connecticut Program — Connecticut's state-funded premium wrap that pays the enrollee's residual benchmark silver-plan premium (after the federal APTC) down to $0 for Access Health CT enrollees at or below 175% of the federal poverty level who are eligible for the federal ACA premium tax credit.
Scope is the premium axis only (residual premium to $0) for plan year 2026. The program's separate cost-sharing, dental, and non-emergency medical transportation benefits are not modeled (see Not modeled), which is why the
programs.yamlstatus ispartial.Authority: June Special Session, Public Act No. 21-2 (2021), §16.
Regulatory authority
The program is created by June Sp. Sess., Public Act No. 21-2 (2021), §16 (Senate Bill No. 1202) — session law, not codified as a standalone CGS section. Program text spans PDF pages 21–24 (
#page=21anchors the §16 body).fpl_limit = 1.75).slcsp).ct_agi).Operational references: CT DSS and Access Health CT Covered Connecticut program pages.
Eligibility
A tax unit is eligible when all three hold (
ct_covered_connecticut_eligible,defined_for = StateCode.CT):in_effectparameter is true (2026-01-01 onward).tax_unit.any(members("is_aca_ptc_eligible")). This embeds on-Marketplace enrollment, the MFS exclusion, and the federal required-contribution income test.aca_magi_fraction <= 1.75(175% FPL).Notes:
is_aca_ptc_eligiblegate already excludes Medicaid/HUSKY-eligible people (~≤138% FPL for CT adults), so Covered Connecticut effectively covers the ~138–175% FPL band.Benefit calculation
Residual-to-zero premium (a 0% target-contribution case):
slcsp(the benchmark second-lowest-cost silver plan premium) proxies the statutory benchmark; it is MONTH-period and annualized by summing 12 months viaadd(...).aca_ptcis the annual federal advance premium tax credit.aca_ptc <= slcspfor benchmark enrollees, the result is implicitly capped atslcspand never negative — no separate cap term is needed. This is the VT premium-assistance formula with the CT target contribution set to 0%, so the reduction machinery collapses to the residual; it is implemented directly.defined_for = "ct_covered_connecticut_eligible", so ineligible tax units return 0.Requirements coverage
40/40 YAML tests pass;
ruff formatclean.in_effectgatect_covered_connecticut_eligible.py, eligible casesct_covered_connecticut_eligible.pyaca_magi_fraction <= 1.75defined_for CTct_covered_connecticut_eligible.pymax_(0, slcsp - aca_ptc)ct_covered_connecticut.py, amount casesct_covered_connecticut.pyslcspct_agifpl_limit.yaml = 1.75in_effect.yaml(false → 2026 true, open-ended)ct_covered_connecticut.py(float/TaxUnit/YEAR)ct_covered_connecticut_eligible.py(bool/TaxUnit/YEAR/CT)healthcare_benefit_value.addshealthcare_benefit_value.py+ Case 7programs.yamlentry (statuspartial)programs.yamlchangelog.d/make formatgov/states/ct/dss/covered_connecticut/Test files (40 cases total):
ct_covered_connecticut_eligible.yaml— 9 casesct_covered_connecticut.yaml— 13 casesintegration.yaml— 11 cases, including two scenarios derived from raw income (no injected ACA inputs) at ~150% and ~160% FPLhousehold/healthcare_benefit_value.yaml— 7 cases (Case 7 asserts flow-through)Not modeled
The Covered Connecticut Program does more than the premium wrap. The following are a separate benefits axis, deliberately out of scope for this PR — hence
programs.yamlstatuspartial:Also not modeled:
Files added