Add New Hampshire Child Care Assistance Program (CCAP)#7760
Open
hua7450 wants to merge 11 commits intoPolicyEngine:mainfrom
Open
Add New Hampshire Child Care Assistance Program (CCAP)#7760hua7450 wants to merge 11 commits intoPolicyEngine:mainfrom
hua7450 wants to merge 11 commits intoPolicyEngine:mainfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…licyEngine#7759) 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 #7760 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 3 15 +12
Lines 33 246 +213
==========================================
+ Hits 33 246 +213
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:
|
- Fix broken reference URLs (gencourt.nh.us → Cornell LII) in all 31 files - Correct school-age licensed center rates to MRS 75th percentile ($236.25) - Correct school-age licensed family rates to MRS 75th percentile ($200) - Add integration test with positive benefit amount end-to-end - Add disability supplement test in benefit calculation context Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
He-C 6910.03(y) defines full-time as "greater than 30 hours" (not >= 30). He-C 6910.03(aa) defines half-time as "greater than 15 hours" (not >= 15). Fix operators and update 4 boundary test cases. 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 nh_ccap_activity_eligible tests (7 cases: employed, student, disabled, non-qualifying, two-parent, child-not-affected) - Fix service level subsection citations: He-C 6910.07(m)/(n) → (o) - Fix rate table section number: Table 4.4.1 → Section 4.3.2, Table 1 - Add CCDF State Plan 2025-2027 as corroborating reference to all 17 parameter files with #page= citations - Add amendment register (eff. 4-30-24, #13951) to all He-C titles - Fix description verbs: defines → sets, counts → uses - Remove explanatory text from step_2_amount description - Fix step_2_amount period metadata: year → week - Add reference field to nh_child_care_subsidies aggregator - Improve income source reference to cite He-C 6910.06(b)-(c),(e) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All NH CCAP parameter dates changed from 2024-07-01/2024-08-26 to 2024-01-01. The framework's parameter tree caching during microsim init requires parameters to cover the test year start date. Rate files note the actual effective date (2024-08-26) in a comment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rates: - Fix all 16 HT/PT rates from Form 2533 (were FT/2 and FT/4, actual ratios are ~77.4% and ~38.7%) - Fix toddler FT center rate: $317.36 → $317.26 - Add Form 2533 as reference with #page= citations - Remove (eff. 4-30-24, #13951) from all He-C reference titles - Fix State Plan section/page numbers (immigration 2.2.7, age categories #page=53, child age limits Section 2.2.1 #page=19, remove non-existent Section 2.4.3 from service levels) Service level: - Activity-based: uses parent's weekly_hours_worked instead of childcare_hours_per_week per He-C 6910.07(o) - Two-parent minimum: uses lowest hours per He-C 6910.07(p) - Single bracket parameter (authorized_hours.yaml) replaces full_time_hours.yaml + half_time_hours.yaml - Split into nh_ccap_authorized_activity_hours.py (SPMUnit) + nh_ccap_service_level.py (Person) Cost share: - Bracket parameters: weekly_flat_amount.yaml + income_share_rate.yaml replace 4 separate step files - Formula: flat.calc(fpg_ratio) + income * rate.calc(fpg_ratio) Exempt center: - Uses school-age center rate as base (not age-matched rate) - Blocks children under 72 months (parameterized) - Parameterized min age: exempt_center_min_age_months.yaml Benefit formula: - Disability supplement moved outside min(charge, WSR) per He-C 6910.17(g) "in addition to the standard rates" Co-Authored-By: Claude Opus 4.6 (1M context) <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 the New Hampshire Child Care Scholarship Program (Employment-Related) in PolicyEngine, covering eligibility, income testing, cost share, payment rates, and benefit calculation.
Closes #7759
Regulatory Authority
Eligibility Tests
hhs_smi * 0.85 / 12is_tanf_enrolledbypasses income testmonthly_age < child_age_limit(156 months)where(is_disabled, 216, 156)monthsis_ccdf_asset_eligibledefined_for = StateCode.NHIncome
Countable income (He-C 6910.06(b),(e)): Monthly gross income from the
addspattern summing:employment_income,self_employment_income,farm_income,social_security,pension_income,retirement_distributions,unemployment_compensation,workers_compensation,child_support_received,alimony_income,interest_income,dividend_income,rental_income,veterans_benefits,disability_benefits,capital_gainsSelf-employment: Net income after IRS-allowable deductions (He-C 6910.06(d)).
Exclusions (He-C 6910.06(c)): TANF payments, foster care, adoption subsidies, educational assistance, grandparent income (3-generation), caretaker relative income, VISTA, dependent child student earnings, child SSI -- handled by omission from sources list.
Cost Share / Copay Schedule
Per He-C 6910.18, Table 6910.19 and SR 24-08:
weekly_flat_amount.yaml(FPG ratio → $) andincome_share_rate.yaml(FPG ratio → %)Service Level
Per He-C 6910.07(o),(p) and Form 2533 page 2:
authorized_hours.yamlPayment Rates
All rates from BCDHSC Form 2533 (75th percentile MRS, eff. August 26, 2024):
Age categories (He-C 6910.17(i), Form 2533):
Licensed Center weekly rates (Form 2533):
Licensed Family weekly rates (Form 2533):
Derived rates (He-C 6910.17(c)-(d)):
Disability supplement (He-C 6910.17(g)):
Benefit Calculation
Per He-C 6910.17(e),(g) and Form 2533 page 2:
Where:
provider_charge=pre_subsidy_childcare_expensesconverted to weeklyWSR= payment rate for provider type / age category / service level (Form 2533)cost_share_per_child= family cost share / number of eligible childrendisability_supplement= additional amount per He-C 6910.17(g), outside the minRequirements Coverage
27/27 in-scope requirements covered.
Not Modeled
Excluded due to being administrative, time-bound, enrollment-dependent, or requiring data not available in PolicyEngine:
Test Coverage
114 test cases across 12 files:
nh_ccap.yamlnh_ccap_eligible.yamlnh_ccap_eligible_child.yamlnh_ccap_income_eligible.yamlnh_ccap_immigration_status_eligible_person.yamlnh_ccap_activity_eligible.yamlnh_ccap_child_age_category.yamlnh_ccap_cost_share.yamlnh_ccap_payment_rate.yamlnh_ccap_disability_supplement.yamlnh_ccap_service_level.yamlintegration.yaml