Implement Oregon Employment Related Day Care#8993
Open
hua7450 wants to merge 8 commits into
Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8993 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 1 31 +30
Lines 18 432 +414
==========================================
+ Hits 18 432 +414
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- Floor self-employment losses at zero per OAR 414-175-0035(81)(e) - Authorized care hours: 20/40/75 weekly bands, 20h categorical default, 25% travel allowance, 4.3 weekly-to-monthly conversion per OAR 414-175-0023(5) - Part-time billing tier now requires provider part-time billing input per OAR 414-175-0075(3)(b),(c),(e) - Cap hourly billing at the monthly maximum per OAR 414-175-0075 - Add job-loss and at-application copay waivers per OAR 414-175-0023(3)(d),(f) - Restrict supervised-contact exception to multiple-caretaker units - Parameterize education activity age limit; add GED pathway input - Age-13-17 pathway now requires OAR 414-175-0076 high-needs eligibility; add high-needs supplemental payment ($5 hourly / $840 monthly per factor) - Point variable/parameter references at controlling OAR subsections - Document microsim default bias and CNT infant-boundary ambiguity - Untrack sources/working_references.md; fix trailing whitespace - Update/add tests: 88 cases passing Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rlap rule Per OAR 414-175-0076(1) and the OPEN manual (07/2026, pp. 428, 448-449): - High-needs eligibility implies the special-needs rate category, so the supplement adds to the special-needs base rate rather than the ordinary age-based rate. - Monthly authorized hours round up before the 215-hour cap (the worker guide publishes the 20-hour band as 108 hours, not 107.5). - Two-caretaker units count only overlapping work or school hours; the lowest caretaker's hours remain as the maximum-possible-overlap proxy since schedules are not tracked, now documented with the OPEN citation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
OAR 414-175-0035(21)(a) excludes the earned income of a child, and the OAR 414-175-0015(2)(d) filing group counts earned income only from caretakers. Sum earned sources per person and zero them out for non-caretakers (tax unit heads and spouses). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace 14 program-specific input variables with existing repo variables or documented simplifications: - Special needs rate, 13-17 child eligibility, and the second-caretaker exception key on is_disabled, is_incapable_of_self_care, and is_in_foster_care; Expanded Child Welfare is now a formula over is_in_foster_care. - GED study is covered by is_in_secondary_school. - Part-time billing, the high needs supplement, copay waivers, medical leave, and supervised contact are unmodeled, each noted in a formula comment; billing collapses to hourly-vs-monthly full-time thresholds (158 standard, 136 enhanced/licensed). - Reorganize variables into eligibility, income, rates, hours, and copay folders. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Criticals: - Add CCDF immigration eligibility check to or_erdc_eligible_child - Add pre-increase 2024-01-01 FAM/QFM rates from the DELC 7492i (01/24) insert so Jan-Feb 2026 and 2024-2025 no longer backfill the 3/1/2026 increase - Read EXP-CW eligibility at the month period in or_erdc_income_eligible Should-address: - Exclude excused (disabled) second caretakers from the need-hours min() so OAR 414-175-0023(1)(b)(A) families are not denied - Corroborate the 215-hour cap with the rate chart; standardize all OAR references to rule-specific URLs - Document provider area/type data limitations - Add 7 test cases: multi-caretaker min, 20-hour band edge, excused caretaker, unearned income, sub-bracket copay, categorical false, and per-business self-employment flooring Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PolicyEngine's age-based headship assigns an 18-year-old child as the tax-unit spouse when no real spouse exists, so the head-or-spouse caretaker filter counted their wages. Per OAR 414-175-0015(2)(d), the filing group's children include those under 18 or age 18 attending secondary school, so their earned income stays excluded under OAR 414-175-0035(21)(a). Narrow the filter with a parameterized filing-group child definition. Co-Authored-By: Claude Fable 5 <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.
Closes #8991.
Summary
Modeling notes
or_erdc_provider_areaandor_erdc_provider_typeare direct inputs; the model does not track provider location or license type at the moment, so it defaults toAREA_CandCERTIFIED_CENTER. Because Areas B and C share the same rates, theAREA_Cdefault understates benefits for Area A (metro ZIP) families; supply the input or populate it from data to override.tanfwould create a circular dependency through child care expenses and TANF deductionsReview fixes (round 5)
Criticals:
is_ccdf_immigration_eligible_child) toor_erdc_eligible_child, matching sibling state child care programs (45 CFR 98.20(a)(1)(ii))or_erdc_income_eligibleinstead ofperiod.this_year, matchingor_erdc_categorically_eligibleShould-address:
min()per OAR 414-175-0023(1)(b)(A), guarded to multi-caretaker units so a lone non-working caretaker still yields zero hoursview.action?ruleNumber=414-175-00XX) in place of the division landing pageSources
Validation
py_compile10/10, YAML load 23/23) and confirmed clean by the implementation validatormake formatand Ruff checks passThe broad
make test-yaml-structuraltarget was stopped while it was spending several minutes in an unrelated existing contributed-policy batch; the direct parameter structural/import checks and all Oregon tests passed.