Skip to content

Conversation

@hua7450
Copy link
Collaborator

@hua7450 hua7450 commented Jan 16, 2026

Fixes #7196

Summary

Implements California CalWORKs Stage 2, Stage 3, and California Alternative Payment Program (CAPP) child care subsidies.

Regulatory Authority

Source Description
WIC § 10370-10376.5 CalWORKs child care program (Stages 1, 2, 3)
WIC § 10271 General child care eligibility, CAPP
WIC § 10271.5 Income eligibility (85% SMI)
WIC § 10290 Family fee schedule
WIC § 10372 Stage 2 eligibility
WIC § 10372.5 Stage 3 eligibility
5 CCR § 18078 Countable income definition
AB 116 (2023) Family fee reform (75% SMI exemption, 1% cap)

Program Structure

California subsidized child care operates in stages based on CalWORKs history:

Stage Eligibility Legal Citation
Stage 1 Currently receiving CalWORKs cash aid WIC § 10370
Stage 2 Former CalWORKs within 24 months of leaving cash aid WIC § 10372
Stage 3 Former CalWORKs who exhausted Stage 2 eligibility (>24 months) WIC § 10372.5
CAPP Income-eligible families who never received CalWORKs WIC § 10271

Income Eligibility

Test Threshold Legal Citation
Stage 2/3/CAPP eligibility ≤ 85% SMI WIC § 10271.5, AB 99 (2017)

Countable Income (5 CCR § 18078)

Counted: employment income, self-employment income, unemployment compensation, workers' compensation, state disability insurance, social security (excluding SSI), child support, alimony, pension income, veterans' benefits, interest, dividends, capital gains, rental income.

Not counted: SSI (federal program, explicitly excluded)

Family Fees

Income Level Fee Legal Citation
Below 75% SMI Exempt WIC § 10290, AB 116 (2023)
At/above 75% SMI 1% of monthly income WIC § 10290, AB 116 (2023)
Stage 1 (on CalWORKs) Exempt Categorical exemption

Benefit Calculation

Payment = min(Regional Market Rate Ceiling, Actual Child Care Cost) - Family Fee

RMR ceilings vary by child age, provider type, and time category.

Implementation Details

New Variables

  • ca_child_care_smi - State Median Income calculation
  • ca_child_care_countable_income - Per 5 CCR § 18078 (excludes SSI)
  • ca_child_care_income_eligible - 85% SMI income test
  • ca_child_care_family_fee - Family fee calculation (75% exemption, 1% cap)
  • ca_calworks_stage_2_eligible, ca_calworks_stage_2_payment, ca_calworks_stage_2
  • ca_calworks_stage_3_eligible, ca_calworks_stage_3_payment, ca_calworks_stage_3
  • ca_capp_eligible, ca_capp_payment, ca_capp
  • was_calworks_recipient - Input: ever received CalWORKs cash aid
  • months_since_calworks_exit - Input: months since leaving cash aid

New Parameters

  • gov.states.ca.cdss.child_care.income.income_limit (0.85)
  • gov.states.ca.cdss.child_care.income.sources (list of countable income types)
  • gov.states.ca.cdss.child_care.family_fees.exemption_threshold (0.75)
  • gov.states.ca.cdss.child_care.family_fees.fee_cap (0.01)
  • gov.states.ca.cdss.child_care.stage_2.time_limit_months (24)

Modified Variables

  • ca_child_care_subsidies - Added Stage 2, Stage 3, and CAPP (changed to MONTH period)

Testing

Integration Tests (8 scenarios)

  1. Stage 1 family currently on CalWORKs
  2. Stage 2 former CalWORKs within 24 months
  3. Stage 3 former CalWORKs beyond 24 months
  4. CAPP for families who never received CalWORKs
  5. Stage 2 with family fee applied (income above 75% SMI)
  6. Income too high for any program (above 85% SMI)
  7. Two children with different age-based RMR ceilings
  8. YEAR period test for Stage 2

Edge Case Tests (16 cases)

  • Stage 2: 24-month boundary (eligible), zero months since exit, minimal TANF ($0.01 still disqualifies)
  • Stage 3: 25-month boundary (eligible), 24-month boundary (not eligible - still Stage 2)
  • Income: zero income eligible, exactly at 85% SMI, above 85% SMI
  • Family fee: zero income (exempt), exactly at 75% SMI, below 75% SMI (exempt)
  • SMI: 2-person, 6-person, 7-person (tests household size adjustments)
  • CAPP: adult-only household (no children), zero income (fails work requirement)

@codecov
Copy link

codecov bot commented Jan 16, 2026

Codecov Report

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

Additional details and impacted files
@@             Coverage Diff              @@
##             main     #7197       +/-   ##
============================================
+ Coverage   73.76%   100.00%   +26.23%     
============================================
  Files        3666        16     -3650     
  Lines       52712       225    -52487     
  Branches      263         1      -262     
============================================
- Hits        38882       225    -38657     
+ Misses      13815         0    -13815     
+ Partials       15         0       -15     
Flag Coverage Δ
unittests 100.00% <100.00%> (+26.23%) ⬆️

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.

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.

CA Calworks childcare and CAPP

1 participant