Add Orange County General Relief#8557
Draft
hua7450 wants to merge 5 commits into
Draft
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8557 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 3 22 +19
Lines 68 258 +190
==========================================
+ Hits 68 258 +190
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:
|
4e73f02 to
97736b7
Compare
- Restore the no-minor-child eligibility restriction with its regulatory basis (Sec 20 must-apply-for-available-aid -> ineligibility, Sec 80.2.d CalWORKs time-limit MAP exclusion, Sec 20.4.b excluded members); families with minor children are routed to CalWORKs, so the parent cannot also receive GR. - Exclude CAPI recipients from General Relief (Sec 20.4.b 'another type of public assistance'); catches recently-arrived aged/disabled permanent residents who receive CAPI instead of SSI. - Trim qualified immigration statuses to those enumerated in Sec 40.1 (citizen, permanent resident, deportation-withheld). - Fix three resource-parameter subsection citations (60.4.b->60.4.c, 50.2.a and 50.2.b -> 50.2). - Document RCA and unearned-income tax deductions as not tracked; replace deprecated documentation fields with inline comments. - Drive program receipt (SSI/CalWORKs/CAPI) from real family inputs in tests instead of program values; add eligibility-map integration cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Implement the OC General Relief monthly maximum aid payment (MAP) and the grant calculation, replacing the prior partial (eligibility-only) screen. - MAP by economic unit size (1-10) from the County of Orange MAP table effective April 1, 2015, with the size-1 increase to $355 effective October 1, 2016. - Shared-housing reductions of 15% / 20% / 25% for sharing with 1 / 2 / 3+ other people (GR manual Sec 80.3.a(3)). - Grant = max_(MAP - countable income, 0) (Sec 80.2.d, Sec 80.3.c-e). - Point programs.yaml at ca_oc_general_relief and mark status complete. Component-value deductions for in-kind aid (Sec 80.3.b) are not modeled because Orange County does not publish the component-value amounts; MAP values are the 2015/2016 schedule pending a current published table. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add net-income financial eligibility (countable income < MAP, Sec 80.2.d) via ca_oc_general_relief_income_eligible; ca_oc_general_relief_eligible now checks categorical, income, and resources. - Rename ca_oc_general_relief_aided_person_count to ca_oc_general_relief_eligible_person_count (the manual's "number of eligible persons in the GR-EU", Sec 80.3.a(2)); the MAP sizes on it. - Remove the redundant no-minor-children demographic gate; units with a child are already excluded via CalWORKs receipt (Sec 20.4.b) or the income test. - Replace the household-size shared-housing derivation with a generic is_shared_living Household input; apply a flat 15% reduction with a Housing Support Program exemption proxied by receives_housing_assistance (Sec 80.3.a(3)). - Count liquid resources over the $50 disregard as income (Sec 70.2.g). - Deduct court-ordered spousal support via alimony_expense (Sec 70.2.o(5)/70.2.p(2)). - Add is_shared_living generic Household input variable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…into ca-oc-general-relief
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
Adds a partial Orange County, California General Relief (GR) screen — categorical, income, and resource eligibility plus the maximum aid payment (MAP) — from the official Orange County SSA General Relief Regulations Manual. Registered as
partialbecause Orange County does not publish the component-value (in-kind aid) deductions needed to net the grant against in-kind aid met at no cost.Closes #8556
Regulatory Authority
What's modeled
county_str == ORANGE_COUNTY_CAKey design decisions
ca_oc_general_relief_eligiblechecks (1) at least one eligible person, (2) net countable income below the MAP (Sec 80.2.d financial eligibility), and (3) resources within the limits.ca_oc_general_relief_eligible_person_countcomputes exactly that. The full GR Economic Unit (Sec 20.4) is the income/resource pooling group (the SPM unit), a superset of the eligible persons.ssi > 0misses: a recently-arrived aged/disabled permanent resident who receives CAPI rather than SSI but is otherwise GR-eligible.is_shared_livinginput. Adds anis_shared_livingHousehold input and applies a flat 15% MAP reduction (Sec 80.3.a(3)) when it is set, waived for housing-assistance recipients to honor the "individuals placed in Housing Support Programs … may be receiving a shelter subsidy" carve-out (proxied byreceives_housing_assistance). The manual's graduated 20%/25% tiers are simplified to a single rate for the boolean input.Who is eligible
The modeled eligible population is narrow: able-bodied, non-aged, childless adults who are citizens / permanent residents / deportation-withheld, with assets below the limits and net income below the MAP. Aged or disabled applicants are swept into SSI or CAPI; applicants with children are routed to CalWORKs.
Not modeled (deferred)
is_shared_livinginput.Tests
Tests describe families with real inputs (age, disability, immigration, work history, income, assets) and let the model determine SSI / CalWORKs / CAPI receipt and its effect on GR eligibility — including an eligibility-map integration set that demonstrates the narrow eligible population.
policyengine-core test policyengine_us/tests/policy/baseline/gov/local/ca/oc/general_relief -c policyengine_us— 59 passedmake formatFiles
policyengine_us/parameters/gov/local/ca/oc/general_relief/policyengine_us/variables/gov/local/ca/oc/general_relief/policyengine_us/variables/household/demographic/household/is_shared_living.py(new generic Household input)policyengine_us/tests/policy/baseline/gov/local/ca/oc/general_relief/