PolicyEngine / PolicyEngine/policyengine-us

CO CCAP and NC SCCA have no activity test: any low-income family with an age-eligible child qualifies

Open
#9,289 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

## Summary

Of the 48 state child care subsidy programs, **CO and NC are the only two with no qualifying-activity test.** Both reduce eligibility to income plus an age-eligible child, so a family with no working, studying or training parent qualifies. Both also have no immigration status check, which every other program has.

Flagging as a finding to verify rather than a confirmed defect — the citations below are a starting point and want a closer read.

## Current code

**Colorado** — `co_ccap_eligible` is the union of two paths, and neither considers parental activity:

```python
# co_ccap_entry_eligible
return income_eligible & has_eligible_children

# co_ccap_re_determination_eligible
return income_eligible & has_eligible_children

# co_ccap_child_eligible
return age_eligible & person("is_tax_unit_dependent", period.this_year)
```

**North Carolina** — same shape:

```python
# nc_scca_entry_eligible
return income_eligible & has_eligible_children
```

There is no activity, work, need, or protective-services variable anywhere in either program's tree.

## What the rules require

**Federal floor.** 45 CFR 98.20(a)(2) conditions CCDF eligibility on the parent working or attending a job training or educational program, or on the child receiving or needing protective services. Both programs are CCDF-funded.

**Colorado** — 8 CCR 1403-1-3.111 and C.R.S. § 26.5-4-111:
- employment or self-employment at minimum-wage level
- job search, up to 13 weeks per instance of job loss
- postsecondary education or workforce training, "eligible for CCCAP for at least one-hundred-four (104) weeks and up to two-hundred-eight (208) weeks per lifetime" (§ 26.5-4-111(7)(d))
- "Participation in a nationally recognized, evidence-based substance use disorder treatment program … must be recognized as an eligible activity" (§ 26.5-4-111(15))

**North Carolina** — 10A NCAC 10 .0905: the program "shall pay for child care services provided to support employment of the recipient and training leading to employment of the recipient," with an exception where the Local Purchasing Agency determines the recipient is "unable to work or to participate in training leading to employment, and who [is] also incapable of providing care for the child." See also the NCDHHS Subsidized Child Care Assistance Program Policy Manual, Chapter 5, "Establishing Need and Plan of Care".

## Impact

Both programs currently extend to households the statute excludes. Because eligibility gates the benefit, this inflates both the eligible population and the modelled cost — in household mode and in microsimulation, where CO and NC are expense-based and so do contribute non-zero amounts to the `child_care_subsidies` aggregate.

## Suggested shape

Both states can follow the pattern used by the other 46 programs, several of which also read the shared `meets_ccdf_activity_test` input to cover approved activities that are not individually modelled (job search, SNAP E&T, CPS referral, temporary leave). Nebraska is a compact example:

```python
# ne_child_care_subsidy_eligible_parent
employed = np.any([person(source, period) > 0 for source in p.sources.earned], axis=0)
student = person("is_full_time_student", period.this_year)
approved_activity = person.spm_unit("meets_ccdf_activity_test", period.this_year)
return employed | student | approved_activity
```

Adding an immigration check at the same time would close the other gap; `is_ccdf_immigration_eligible_child` and the per-state `*_immigration_status_eligible_person` variables are the existing patterns.

## Notes

- CO has further gaps beyond this one: no provider rate ceiling at all (the subsidy pays 100% of reported expenses), the 7% copay cap from HB24-1223 / C.R.S. § 26.5-4-111(4)(b) is not modelled, and the county entry rates in `entry/fpg_rate.yaml` carry only a `2022-10-01` layer. `programs.yaml` marks CO `status: complete`, which looks optimistic.
- Nebraska initially appeared to be missing an activity test too; it is not. `ne_child_care_subsidy_eligible_parent` covers it.

Contributor guide

Open the contributing guide

Research direction

Start with the CO and NC eligibility entry points named in the issue, then compare them with Nebraska's `ne_child_care_subsidy_eligible_parent` and the shared `meets_ccdf_activity_test` pattern. Verify the cited Colorado and North Carolina rules before deciding whether immigration eligibility is part of the same change. Done means the eligibility paths reflect the verified activity requirements and the modeled `child_care_subsidies` impact no longer includes households excluded by those rules.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.