PolicyEngine / PolicyEngine/policyengine-us

CO AND-CS state supplement pays people who do not receive SSI

Open Beginner friendly
#9,338 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

Colorado's AND-CS state supplement is an SSI top-up for people **receiving SSI** — but the model pays it to non-recipients: the gate checks only categorical/immigration status, with no receipt, no income test, and no resource test anywhere in the CO chain. This is an over-payment bug in current output, not a latent one.

## Current code

`policyengine_us/variables/gov/states/co/ssa/state_supplement/co_state_supplement_eligible.py:12`:

```python
disabled_or_blind & is_ssi_eligible_individual & in_age_range
```

(`is_ssi_eligible_individual` = ABD + immigration + not-eligible-spouse only.) Payment is then `max_(0, grant_standard − ssi − countable_income)`.

## Legal basis

9 CCR 2503-5 ([rule PDF](https://www.coloradosos.gov/CCR/GenerateRulePdf.do?ruleVersionId=10694#page=73)):
- §3.546: AND-CS "provides a supplemental payment for clients age zero (0) to fifty-nine (59) who are **receiving SSI** due to a disability or blindness, but are not receiving the full SSI benefit standard."
- §3.547.A: "the client must be approved for SSI due to a disability or blindness. The county department shall verify SSI eligibility through SVES or SDX."
- §3.547.D: "If a client is terminated from SSI, the client shall lose eligibility for the AND-CS program."

Non-recipients with pending SSI claims belong to the separate AND-SO interim program (§3.545), which is not what this variable models.

## Impact

Wrongly paid: under-60 blind/disabled people with income above the SSI break-even (`ssi = 0`) but below the grant standard, and people who would fail the SSI resource test (never checked).

## Proposed fix

Gate on `ssi > 0` plus the age range — receipt already implies categorical/resource/immigration status and takeup (per the repo convention, don't AND `is_ssi_eligible` with `ssi > 0`). Plus a regression test: an income-above-break-even blind/disabled 45-year-old gets $0.

Contributor guide

Open the contributing guide

Research direction

Start with policyengine_us/variables/gov/states/co/ssa/state_supplement/co_state_supplement_eligible.py:12 and trace how the existing eligibility result feeds the payment calculation. Add the stated regression test for an income-above-break-even blind or disabled 45-year-old, and confirm the resulting AND-CS payment is $0.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.