Skip to content

Add Delaware CCAP (Child Care Assistance Program)#7865

Merged
MaxGhenis merged 12 commits intoPolicyEngine:mainfrom
hua7450:de-ccap
Apr 6, 2026
Merged

Add Delaware CCAP (Child Care Assistance Program)#7865
MaxGhenis merged 12 commits intoPolicyEngine:mainfrom
hua7450:de-ccap

Conversation

@hua7450
Copy link
Copy Markdown
Collaborator

@hua7450 hua7450 commented Mar 25, 2026

Summary

Implements Delaware Purchase of Care (POC) child care subsidy program in PolicyEngine. POC is Delaware's CCDF-funded child care assistance program, administered by the Division of Social Services (DSS). This implementation covers income eligibility (dual FPL/SMI thresholds), copayment calculation, provider reimbursement rates by age group and provider type, and benefit computation.

Closes #7863

Regulatory Authority

Eligibility Tests

Child Eligibility

Activity Requirement

  • At least one parent must be employed (employment_income > 0) or a full-time student

Income Eligibility

  • Initial eligibility (new applicants, de_poc_enrolled = false):
  • At redetermination (enrolled families, de_poc_enrolled = true):
  • Hard cap: income must not exceed 85% of State Median Income (SMI) at any time
  • Effective income limit: min(FPL-based threshold, 85% SMI)
  • Asset test: reuses federal is_ccdf_asset_eligible

Income Counting

  • Gross monthly income from all sources (15 countable source categories via adds parameter list)
  • 20 categories of excluded income (excluded by omission from the countable sources list)
  • Self-employment net profit counted

Copayment Structure

Condition Copayment
Income <= 150% FPL Waived ($0)
Income > 150% FPL 7% of gross monthly income

Provider Reimbursement Rates

Statewide rates effective July 1, 2024 - June 30, 2027. Source: POC Billing Guidance, DSS Child Care Services Page

Age Group Family Home (weekly) Center (weekly)
Infant (age 0) $222.50 $325.00
Toddler (age 1) $200.00 $290.00
Preschool (ages 2-5) $200.00 $255.00
School Age Full-time (6+, >= 4 hrs/day) $160.00 $190.00
School Age Part-time (6+, < 4 hrs/day) $100.00 $135.00
  • Special needs: 5% rate increase across all categories
  • Full-time vs part-time determined by childcare_hours_per_day >= 4 (only affects school-age children)
  • Weekly-to-monthly conversion: weekly_rate * 52 / 12

Benefit Calculation

benefit = min(actual_expenses - copay, max_reimbursement)

Where:

  • actual_expenses = spm_unit_pre_subsidy_childcare_expenses (monthly family child care costs)
  • copay = 7% of gross monthly income (waived if income <= 150% FPL)
  • max_reimbursement = sum of per-child weekly rates (by age group and provider type, with 5% special needs increase if applicable) converted to monthly

Result floored at $0. Source: standard CCDF benefit formula, consistent with RI CCAP and NH CCAP implementations.

Not Modeled

Requirement Reason
No minimum work hours specified (REQ-007) No threshold to encode — any employment qualifies
DE residency (REQ-014) Handled by defined_for = StateCode.DE
No copay increase during 12-month period (REQ-018) Temporal constraint, not simulatable in static model
DFS referral exempts financial/citizenship (REQ-020) Administrative referral process
POC Plus provider billing (REQ-028) Provider-side differential billing, not a family benefit
10 absent days/month reimbursed (REQ-029) Attendance-based
12-month authorization period (REQ-030/031) Temporal constraint
90-day job search allowance (REQ-032) Temporal constraint
Priority categories for waitlist (REQ-033) Administrative process

Known Gaps

  • REQ-030 Graduated phase-out (200-300% FPL): The redetermination.yaml parameter is set to 300% FPL (hard cutoff for enrolled families). Regulation specifies a graduated phase-out for families whose income rises between 200-300% FPL at redetermination. Currently modeled as a binary eligible/ineligible at 300% FPL — no graduated copay adjustment or tiered reduction exists. This is functionally conservative (more families remain eligible than under a strict 200% cutoff).

Files Added

policyengine_us/
  parameters/gov/states/de/dss/poc/
    age_group.yaml
    age_threshold/
      child.yaml
      disabled_child.yaml
    copay/
      rate.yaml
      waiver_fpl_rate.yaml
    full_time_hours_per_day.yaml
    income/
      countable_income/
        sources.yaml
      fpl_rate/
        initial_eligibility.yaml
        redetermination.yaml
      smi_rate.yaml
    rates/
      center.yaml
      family_home.yaml
      special_needs/
        center.yaml
        family_home.yaml
  variables/gov/states/de/dss/poc/
    de_child_care_subsidies.py
    de_poc.py
    de_poc_age_group.py
    de_poc_copay.py
    de_poc_countable_income.py
    de_poc_enrolled.py
    de_poc_maximum_weekly_benefit.py
    de_poc_provider_type.py
    eligibility/
      de_poc_activity_eligible.py
      de_poc_eligible.py
      de_poc_eligible_child.py
      de_poc_income_eligible.py
  tests/policy/baseline/gov/states/de/dss/poc/
    de_poc.yaml
    de_poc_activity_eligible.yaml
    de_poc_age_group.yaml
    de_poc_copay.yaml
    de_poc_eligible.yaml
    de_poc_eligible_child.yaml
    de_poc_income_eligible.yaml
    de_poc_maximum_weekly_benefit.yaml
    integration.yaml

Totals: 14 parameters, 12 variables, 9 test files (35 files)

Review Fixes (f308a80)

  • Fixed SN Center Preschool rate: $278.25 → $278.45 (transcription error confirmed at 600 DPI)
  • Added de_child_care_subsidies to household_state_benefits.yaml
  • Fixed duplicate reference in copay/waiver_fpl_rate.yaml; added billing guidance and CCDF plan citations
  • Documented FPL threshold divergence from Admin Code (SB 325 expansion)
  • Added de_tanf circular dependency comment in countable income sources
  • Guarded de_poc_age_group with is_tax_unit_dependent; adults now return NONE instead of a childcare age group
  • Replaced hard-coded bracket value 3 with DEPOCAgeGroup.SCHOOL_AGE_FULL_TIME.index
  • Fixed activity eligibility to require ALL parents qualify in two-parent families (DSSM 11003.6)
  • Added foster/protective/homeless categorical child eligibility (DSSM 11003.7)
  • Added multi-child age group test case

Test plan

  • 61 tests pass
  • CI passes

hua7450 and others added 4 commits March 25, 2026 13:25
Closes PolicyEngine#7863

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closes PolicyEngine#7863

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (fd8a1f8) to head (c3e963f).
⚠️ Report is 38 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7865   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           12        12           
  Lines          174       185   +11     
=========================================
+ Hits           174       185   +11     
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.

hua7450 and others added 8 commits March 25, 2026 15:21
- Fix initial eligibility FPL: 185% → 200% (verified by table dollar amounts)
- Fix redetermination FPL: 200% → 300% (verified by table dollar amounts)
- Replace broken pocbillingguidance.pdf URLs (404) with dhss.delaware.gov/dss/childcr/
- Replace broken pocprovhndbk.pdf URLs (999) with WordPress URL
- Replace uniform 5% special needs rate with per-category absolute rates
- Update affected test expected values and comments

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- initial_eligibility: 185% FPL (2024) → 200% FPL (Oct 2025)
- redetermination: 200% FPL (2024) → 300% FPL (Oct 2025)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The 40% FPL excess financial burden copay waiver requires net income
after shelter/utility deductions, which are not modeled. The 150% FPL
gross income waiver already covers all families below that threshold.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SB 325 (FY2025 Operating Budget) authorized POC eligibility expansion
to 200% FPL. The 300% FPL redetermination threshold is from the
current DSS eligibility table.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Backdate stable parameters to 2024-01-01: smi_rate (federal 85% since
  CCDF 1996), age thresholds (Del. Admin. Code 11003.3), countable income
  sources (Del. Admin. Code 11003.9.1(4), adopted Jan 2021).

- Move tests exercising Oct 2025 FPL expansion (200% initial, 300%
  redetermination) from period 2025-01 to 2026-01 so they use the correct
  parameter values.

- Remove duplicate reference in center.yaml and family_home.yaml (same URL
  listed twice with different titles).

- Remove sources/working_references.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… logic

- Fix SN Center Preschool rate: $278.25 → $278.45 (transcription error)
- Add de_child_care_subsidies to household_state_benefits.yaml
- Fix duplicate reference in copay/waiver_fpl_rate.yaml
- Add billing guidance, CCDF plan, and regulatory citations to references
- Document FPL threshold divergence from Admin Code (SB 325)
- Add de_tanf circular dependency comment in countable income sources
- Guard de_poc_age_group with is_tax_unit_dependent, add NONE default
- Replace hard-coded bracket value with DEPOCAgeGroup.SCHOOL_AGE_FULL_TIME.index
- Fix activity eligibility to require ALL parents qualify (DSSM 11003.6)
- Add foster/protective/homeless categorical eligibility (DSSM 11003.7)
- Add multi-child age group test case
- Update test expectations for NONE age group default

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@hua7450 hua7450 marked this pull request as ready for review April 6, 2026 01:05
@MaxGhenis MaxGhenis merged commit fbc9413 into PolicyEngine:main Apr 6, 2026
9 checks passed
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 Delaware CCAP (Child Care Assistance Program)

2 participants