PolicyEngine / PolicyEngine/policyengine-us

receives_medicaid consumer corrections: IL BCC should read eligibility, IL FPP computed enrollment, CA freeze needs prior-year continuity

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

The populace#591 consumer classification (adjudication: https://github.com/PolicyEngine/populace/issues/591#issuecomment-5160668979) read all six live consumers of the reported input `receives_medicaid` against their statutory references. Three are correct as reported-coverage checks. Three should change:

1. **IL BCC — class 2 (blocking misuse)**: `il_bcc_insurance_eligible.py:26` keys on Medicaid *eligibility through another pathway* (IDHS PM 06-20-02; 305 ILCS 5/5-2), not observed receipt. Should read `person("is_medicaid_eligible", period)`. If BCC later enters general Medicaid eligibility, preserve an "otherwise eligible excluding BCC" node to avoid self-reference.
2. **IL FPP — computed substitution**: `il_fpp_eligible.py:32` — disqualifying condition is enrollment in other full medical coverage; `~person("medicaid_enrolled", period)` is the honest model and the live graph is acyclic.
3. **CA §14007.8 freeze — continuity fix**: `is_ca_medicaid_immigration_status_eligible.py:48` — the 2026 freeze grandfathers *prior enrollees*. Proposed:

```python
current_medicaid_coverage = (
person("medicaid_enrolled", period.last_year)
| person("has_medicaid_health_coverage_at_interview", period)
)
```

The prior-year chain terminates in 2025, before the freeze is active, so no recursion.

Context: populace is preparing to populate `receives_medicaid` from CPS `NOW_MCAID` (reported coverage); item 1 gates that wiring — populating the input while IL BCC misreads it as an eligibility proxy would move IL BCC results the wrong way. Full receipts at the adjudication link.

Contributor guide

Open the contributing guide

Research direction

Read il_bcc_insurance_eligible.py:26, il_fpp_eligible.py:32, and is_ca_medicaid_immigration_status_eligible.py:48 alongside the linked adjudication. Update each consumer to use the stated eligibility, enrollment, or prior-year continuity logic, then verify the dependency graph remains acyclic and the three corrections match the statutory interpretations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.