PolicyEngine / PolicyEngine/policyengine-us

CA WDP and IL HBWD buy-ins omit meets_ssi_disability_criteria; IL worker income test inconsistent

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

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.