PolicyEngine / PolicyEngine/policyengine-us

MA CCFA: derive default care provider type from age and date FY2027 informal rates to July 2026

Open
#9,488 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

Two reimbursement-side fixes for Massachusetts CCFA, both independent of #9468 (eligibility and copay). They can ship together in one PR.

## 1. Default provider type zeroes reimbursement for children under school age

This is the MA row of #9485.

`ma_ccfa_care_provider_type` defaults to `CENTER_BASED_CARE_SCHOOL_AGE`. The matching rate table (`parameters/gov/states/ma/eec/ccfa/reimbursement_rates/center_based/school_age.yaml`) only has `SCHOOL_AGE` rows per region, so an infant, toddler or preschooler with the default provider type resolves to a $0 daily rate, a $0 maximum reimbursement, and a $0 `ma_ccfa`. The age category itself is derived correctly from `age`. A household whose children are all under school age therefore gets nothing unless the caller sets the provider type, and the API does not signal that the input is required. The early-education table has the mirror gap (no `SCHOOL_AGE` row).

**Proposed fix**: give `ma_ccfa_care_provider_type` a formula instead of a fixed default, choosing `CENTER_BASED_CARE_EARLY_EDUCATION` when `ma_ccfa_child_age_category` is infant, toddler or preschool and `CENTER_BASED_CARE_SCHOOL_AGE` otherwise. Enum variables with formulas are already used here (`ma_ccfa_child_age_category`), and an explicit input still overrides it. Center-based is the most common provider type and the one the rate sheets lead with.

**Tests**: a single child aged 3 with default inputs receives the center-based preschool rate; a school-age child receives the school-age rate; an explicit `FAMILY_CHILD_CARE` input still wins.

## 2. Informal child care $27.80 rates are dated a year early

`informal_child_care/relative_home.yaml` and `child_home.yaml` set $27.80 from 2025-07-01, citing the FY2026 rate chart. That amount is the FY2027 increase:

- [Board of Early Education and Care Motion FY 2026-08](https://www.mass.gov/doc/fy26-motion-to-approve-fy27-rate-increases-to-informal-child-care-rates/download) approves raising relative's-home full-time from $24.57 to $27.80 and child's-home full-time from $17.33 to $27.80 (part-time $14.74 and $10.40 to $16.68), "in effect as of July 1, 2026".
- The March 2026 version of the FY2026 chart ([eecfy26-rate-increase-rate-chart](https://www.mass.gov/doc/eecfy26-rate-increase-rate-chart/download#page=2)) still shows $24.57 and $17.33.
- The FY2026 chart at the URL the repo cites ([eecfy26-rate-increase-chart](https://www.mass.gov/doc/eecfy26-rate-increase-chart/download#page=2)) was updated July 8, 2026 and now shows the FY2027 informal amounts; every other amount in the chart is unchanged between the two versions.

**Proposed fix**: keep $24.57 and $17.33 through FY2026 (the 2024-07-01 values carry forward), add `2026-07-01: 27.8` to both files, cite the board motion, and note in the YAML comment that the FY2026 chart URL was updated with FY2027 informal rates. Update `ma_ccfa_informal_child_care_reimbursement.yaml` Cases 2 and 3 (2026-01) to $24.57 and $17.33 and add 2026-06 / 2026-07 boundary cases. Point the informal reimbursement variable's reference at the FY2026 chart instead of the FY2025 one. Part-time informal rates come from the existing 60% ratio parameter, so no new values are needed.

The center-based, family child care and Head Start tables already match the July 2026 chart at 2025-07-01 and need no change.

Contributor guide

Open the contributing guide

Research direction

Start with the existing ma_ccfa_child_age_category formula and the center_based/school_age.yaml and early-education rate tables, then inspect how ma_ccfa_care_provider_type defaults and is overridden. Update the two informal rate YAML files and ma_ccfa_informal_child_care_reimbursement.yaml, including the cited date boundaries and reference. Done means the three provider-type cases and the January, June, and July 2026 informal-rate cases produce the specified amounts.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.