PolicyEngine / PolicyEngine/policyengine-us
CA WDP and IL HBWD buy-ins omit meets_ssi_disability_criteria; IL worker income test inconsistent
- Dominant language
- Python
- Stars
- 162
- Forks
- 212
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 97
Description
Part of #9330 (disconnected disability inputs audit).
## Summary
The three state working-disabled Medicaid buy-in implementations answer the same federal question three different ways. MS is wired correctly; CA WDP and IL HBWD are missing the definitional flag the federal group requires; and IL additionally treats an eligible worker as a non-disabled spouse in its income calculation.
## Legal standard
[42 USC 1396a(a)(10)(A)(ii)(XIII)](https://www.law.cornell.edu/uscode/text/42/1396a): individuals "who but for earnings in excess of the limit established under section 1396d(q)(2)(B), would be considered to be receiving supplemental security income" — SSI §1614 disability **without** the earnings/SGA screen. The exact model input is `meets_ssi_disability_criteria` (not `is_ssi_disabled`, which applies the SGA screen the buy-in exists to waive).
For IL specifically, [89 Ill. Adm. Code 120.314](https://www.law.cornell.edu/regulations/illinois/Ill-Admin-Code-tit-89-SS-120.314): "To be eligible for medical assistance as a disabled person an individual must be determined disabled as currently defined by the Social Security Administration" (citing 20 CFR 416 Subpart I). The HBWD file's own comment notes SGA/earned-income rules don't apply.
## Defect A — CA and IL missing `meets_ssi_disability_criteria`
- `policyengine_us/variables/gov/states/ca/chhs/wdp/eligibility/ca_wdp_disability_eligible.py:12`
- `policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py:15`
Both: `is_disabled | is_blind | (social_security_disability > 0)`. Wrongly excluded: SSI-criteria-flagged workers with `is_disabled = False` — the program's core population (workers above SGA whose only disability flag is the SSI medical criteria).
MS (`ms_wd_disability_eligible.py`) is the correct template: `meets_ssi_disability_criteria | is_blind | (ssdi > 0)`.
**Fix**: add `meets_ssi_disability_criteria` to CA and IL.
## Defect B — IL worker test narrower than its own eligibility test
`policyengine_us/variables/gov/states/il/hfs/hbwd/income/earned/il_hbwd_countable_earned_income.py:24`:
```python
is_hbwd_worker = is_disabled | is_blind
```
An SSDI-receipt-only worker passes `il_hbwd_disability_eligible` but is then treated as a non-disabled spouse — own earnings counted at gross with no §120.510(i)/§120.362 earned-income exemptions.
**Fix**: derive the worker flag from `il_hbwd_disability_eligible` (also inherits fix A).
## Side note
`is_working_disabled_buy_in_for_medicaid` (the aggregator) mixes periods — CA at YEAR, IL/MS at `first_month` — worth normalizing while in there.
Contributor guide
Research direction
Start with the CA and IL disability eligibility files named in the issue, comparing them with the Mississippi implementation. Then inspect il_hbwd_countable_earned_income.py and the aggregator's period handling. Done means the two eligibility implementations use the stated SSI criteria input, IL worker classification is consistent with eligibility, and relevant tests or checks pass.
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