Evidence
On the certified US release (populace-us-2024 Build P, read through policyengine.py 5.0.1), immigration_status carries variation but no records in the categories H.R.1 removes from program eligibility:
| status |
records |
| CITIZEN |
153,491 |
| UNDOCUMENTED |
6,682 |
| LEGAL_PERMANENT_RESIDENT |
5,702 |
| CUBAN_HAITIAN_ENTRANT |
226 |
| DACA |
220 |
| REFUGEE / ASYLEE / DEPORTATION_WITHHELD / CONDITIONAL_ENTRANT / PAROLED_ONE_YEAR / TPS |
0 |
years_since_us_entry is populated (100% nonzero).
Why it matters
Three enacted H.R.1 eligibility channels key off exactly these categories and therefore compute ≈$0 on this file:
- Medicaid — §71109 narrows qualified immigrants to LPR + Cuban/Haitian entrants + COFA, effective 2026-10-01. Encoded in policyengine-us (
gov/hhs/medicaid/eligibility/eligible_immigration_statuses, 2026-10-01 value).
- CHIP — same §71109, same date (KFF summary of the law). Not yet encoded in policyengine-us (filed separately), but the data gap binds regardless.
- ACA PTC — §71302: below-FPL lawfully-present exception repealed from 2026;
ineligible_immigration_statuses adds TPS/REFUGEE/ASYLEE/DEPORTATION_WITHHELD/PAROLED_ONE_YEAR from 2027-01-01. Encoded in policyengine-us.
CBO scores §71109 alone at −$6B federal Medicaid over 10 years and +100k uninsured by 2034. Any distributional analysis of the law on this file silently zeroes all three channels. Context: the IARIW OBBBA paper (PolicyEngine/obbba-paper) discloses this as a data boundary in its methods; the multi-year extension needs it fixed.
Ask
Carry humanitarian/temporary-protection statuses in the imputation so eligibility rules can see them. Design options, not mutually exclusive:
- Impute the missing categories onto the CPS base — reassign a calibrated share of current LPR/citizen records (or model directly from ACS/SIPP citizenship + entry-year + origin) to REFUGEE / ASYLEE / DEPORTATION_WITHHELD / PAROLED_ONE_YEAR / TPS / CONDITIONAL_ENTRANT, targeted to external stocks (DHS/ORR admissions, KFF/ASPE coverage counts of refugees-asylees on Medicaid/CHIP).
- A stored eligibility-check surface: alongside
takes_up_*_if_eligible, a data-level flag family (e.g., passes_immigration_eligibility_check_{program}) that rules engines respect — so eligibility shocks flow to Medicaid, CHIP, and PTC coherently rather than being program-dollar overrides. This generalizes beyond immigration (verification/redetermination churn could use the same surface).
- Interim (consumer-side, documented in the OBBBA repo): a seeded reform-level reassignment of statuses in the right proportions — acceptable for sensitivity work, not for certified estimates.
Acceptance criteria
immigration_status distribution on the release includes the humanitarian categories with weighted totals validated against a stated external source.
- The three H.R.1 channels above produce nonzero, sign-correct effects when toggled on a certified release.
- Certification notes state the imputation source and target for each category.
Evidence
On the certified US release (
populace-us-2024Build P, read through policyengine.py 5.0.1),immigration_statuscarries variation but no records in the categories H.R.1 removes from program eligibility:years_since_us_entryis populated (100% nonzero).Why it matters
Three enacted H.R.1 eligibility channels key off exactly these categories and therefore compute ≈$0 on this file:
gov/hhs/medicaid/eligibility/eligible_immigration_statuses, 2026-10-01 value).ineligible_immigration_statusesadds TPS/REFUGEE/ASYLEE/DEPORTATION_WITHHELD/PAROLED_ONE_YEAR from 2027-01-01. Encoded in policyengine-us.CBO scores §71109 alone at −$6B federal Medicaid over 10 years and +100k uninsured by 2034. Any distributional analysis of the law on this file silently zeroes all three channels. Context: the IARIW OBBBA paper (PolicyEngine/obbba-paper) discloses this as a data boundary in its methods; the multi-year extension needs it fixed.
Ask
Carry humanitarian/temporary-protection statuses in the imputation so eligibility rules can see them. Design options, not mutually exclusive:
takes_up_*_if_eligible, a data-level flag family (e.g.,passes_immigration_eligibility_check_{program}) that rules engines respect — so eligibility shocks flow to Medicaid, CHIP, and PTC coherently rather than being program-dollar overrides. This generalizes beyond immigration (verification/redetermination churn could use the same surface).Acceptance criteria
immigration_statusdistribution on the release includes the humanitarian categories with weighted totals validated against a stated external source.