Add Connecticut CCAP (Care 4 Kids)#7778
Draft
hua7450 wants to merge 6 commits intoPolicyEngine:mainfrom
Draft
Conversation
Closes PolicyEngine#7777 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…yEngine#7777) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7778 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 3 13 +10
Lines 33 231 +198
==========================================
+ Hits 33 231 +198
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Jan 2024 and Jul 2024 rate data to all 16 C4K payment rate parameter files (center, family, relative, recreational × 4 care levels). Fixes microsimulation crash for 2024 where rate parameter lookups failed with empty vectorial nodes. Remove lessons/agent-lessons.md which duplicates local memory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements Connecticut Care 4 Kids (C4K) child care subsidy program in PolicyEngine.
Closes #7777
C4K is Connecticut's CCDF-funded child care assistance program, administered by the Office of Early Childhood (OEC). This implementation covers the complete benefit calculation pipeline: child eligibility, two-tier income eligibility (initial vs. continuing), countable income with exclusions and deductions, sliding-scale family fee, multi-dimensional payment rate lookup (5 regions x 4 provider types x 3 age groups x 4 care levels), special needs supplements, accreditation bonuses, and final subsidy computation. Two rate periods are modeled: Jan-Jun 2025 and Jul 2025-Jun 2026 (11% increase). Reuses existing federal CCDF infrastructure for asset eligibility, immigration eligibility, SMI standards, and enrollment status.
Regulatory Authority
Income Eligibility Tests
Initial Application: < 60% SMI
New applicants must have gross countable income below 60% of State Median Income for their family size.
is_enrolled_in_ccdfto distinguish new applicants from continuing recipientsContinuing Recipients: < 85% SMI
Active recipients at redetermination must have income below 85% of SMI.
SMI Standards
Uses federal
hhs_smivariable which computes State Median Income by state and family size from HHS-published figures.Income Deductions & Exemptions
Countable Income (RCSA 17b-749-05(b))
Gross earnings of all parents/adult family members + unearned income of ALL family members. Implemented via
sources.yamlparameter list with 11 income types:employment_income,self_employment_income,farm_incomesocial_security,pension_income,unemployment_compensation,workers_compensation,alimony_income,rental_income,veterans_benefits,disability_benefitsExcluded Income (RCSA 17b-749-05(b)(2))
22+ income types excluded by omission from the sources list:
Deductions (RCSA 17b-749-05(c))
self_employment_incomeis already net of IRS standard deductionschild_support_expensesubtracted viadeductions.yamlparameterIncome Standards
SMI-based thresholds by family size (FY 2024-2025, source: C4K-POL-24-01):
Benefit Calculation
Formula
Where:
Family Fee Sliding Scale
Pre-January 2025 (source: RCSA 17b-749-13(f)):
Effective January 1, 2025 (source: C4K-POL-24-02):
Rules: Families with only unearned income have no fee. Fee allocated to youngest child first.
Payment Rate Structure
5 regions x 4 provider types x 3 age groups x 4 care levels = 240 rate cells per period.
Care Levels: Full-Time Plus (51-65 hrs/wk), Full-Time (35-50), Half-Time (16-34), Quarter-Time (1-15)
Provider Types: Centers/Group Homes/School Programs, Licensed Family Child Care Homes, Unlicensed Relative Care, Recreational Programs (Summer)
Age Groups: Infant/Toddler, Pre-School, School-Age
Regions (county-to-region approximation): Eastern, North Central, Northwest, South Central, Southwest
Rate Periods:
Example weekly rates (Jul 2025, Centers, Full-Time Plus):
Supplements
Requirements Coverage
defined_for=StateCode.CTstate_code: CTage_threshold/child.yaml,special_needs_child.yamlct_c4k_eligible_childct_c4k_eligible_child.yaml(9 cases)ct_c4k_eligible_child(reusesis_ccdf_immigration_eligible_child)ct_c4k_eligible_child.yamlcases 1,7ct_c4k_eligible_child(reusesis_tax_unit_dependent)ct_c4k_eligible_child.yamlcase 6income/initial_limit_smi.yamlct_c4k_income_eligiblect_c4k_income_eligible.yamlcases 1-2,5income/continuing_limit_smi.yamlct_c4k_income_eligiblect_c4k_income_eligible.yamlcases 3-4,6income/sources.yaml(11 types)ct_c4k_countable_incomect_c4k_countable_income.yaml(5 cases)sources.yamlct_c4k_countable_incomect_c4k_countable_income.yamlcase 5sources.yamlincludesself_employment_income(net)ct_c4k_countable_incomect_c4k_countable_income.yamlcase 4income/deductions.yamlct_c4k_countable_incomect_c4k_countable_income.yamlcase 3hhs_smict_c4k_income_eligiblect_c4k_income_eligible.yamlcases 5-6family_fee/rate.yaml(2020-01-01 brackets)ct_c4k_family_feefamily_fee/rate.yaml(2025-01-01 brackets)ct_c4k_family_feect_c4k_family_fee.yaml(6 cases)ct_c4k_family_fee(has_earned_incomecheck)ct_c4k_family_fee.yamlcase 5rate/**/*.yaml(16 files)ct_c4k_payment_ratect_c4k_payment_rate.yaml(9 cases)ct_c4k_payment_ratect_c4k_payment_rate.yamlcases 1-2,5region/*.yaml(5 files)ct_c4k_regionct_c4k_region.yaml(8 cases, all 8 CT counties)WEEKS_IN_YEAR/12(52/12=4.33)ct_c4k_payment_ratecare_level.yamlct_c4k_care_levelct_c4k_care_level.yaml(8 cases)special_needs_supplement.yamlct_c4k_payment_ratect_c4k_payment_rate.yamlcases 6,8accreditation_bonus.yamlct_c4k_payment_rate+ct_c4k_provider_accreditedct_c4k_payment_rate.yamlcases 7-8ct_c4kct_c4k.yaml(3 cases) +integration.yaml(7 cases)ct_c4k_eligible(reusesis_ccdf_asset_eligible)ct_c4k_eligible.yamlcase 4ct_c4k_eligible(usesct_tfa_eligible)ct_c4k_eligible.yamlcase 6Coverage: 24/25 fully covered, 1/25 partial (REQ-022: weekly-to-monthly uses 52/12=4.333 vs. specified 4.3 -- ~0.8% discrepancy)
Not Modeled
meets_ccdf_activity_test)Files Added
Totals: 34 parameter files + 13 variable files + 11 test files = 58 files