Skip to content

US: humanitarian immigration statuses absent from the imputation — H.R.1 §71109/§71302 eligibility channels compute ≈$0 #767

Description

@MaxGhenis

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:

  1. 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).
  2. CHIP — same §71109, same date (KFF summary of the law). Not yet encoded in policyengine-us (filed separately), but the data gap binds regardless.
  3. 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:

  1. 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).
  2. 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).
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions