Skip to content

Separate Medicaid legal eligibility categories from cost/risk groups #8497

@MaxGhenis

Description

@MaxGhenis

Problem

medicaid_category currently serves two roles:

  1. a legal eligibility pathway: why a person qualifies for Medicaid; and
  2. a cost/risk grouping input: which per-capita Medicaid spending cell is assigned through medicaid_group and medicaid_cost.

Those are not the same concept. A policy reform can change the legal pathway that qualifies an already-enrolled person without changing their underlying expected medical cost. Reclassifying the person from one legal pathway to another should not by itself create a large Medicaid cost change.

Current code shape

medicaid_group.py maps to AGED_DISABLED when:

  • medicaid_category == SSI_RECIPIENT, or
  • is_ssi_recipient_for_medicaid, or
  • is_optional_senior_or_disabled_for_medicaid.

It does not classify a baseline Medicaid expansion/parent/adult enrollee as aged/disabled just because is_ssi_disabled, is_disabled, Medicare/disability evidence, age, or other stable risk traits are true.

So the spending group can change only because the legal eligibility route changes, even if the person's traits and enrollment status are unchanged.

Concrete example from SSI asset-limit analysis

SSI eligibility reforms can change medicaid_category from an existing full-Medicaid pathway to SSI_RECIPIENT, which changes medicaid_group to AGED_DISABLED and creates a large Medicaid cost increase even when the person was already Medicaid-enrolled at baseline.

Run context:

  • Dataset: rebuilt enhanced CPS 2024 H5 from policyengine-us-data SIPP/SSI work: /Users/maxghenis/.codex-worktrees/us-data-sipp-ssi-sga-income-filter-20260524/policyengine_us_data/storage/enhanced_cps_2024.h5
  • Model: policyengine-us==1.705.16
  • Audit files in /Users/maxghenis/PolicyEngine/ssi-asset-limits:
    • .local-results/net-fiscal/ten_twenty_2026_new_ssi_medicaid_model_buckets_peus_1_705_16.csv
    • .local-results/net-fiscal/no_limit_2026_new_ssi_medicaid_model_buckets_peus_1_705_16.csv

For the $10k/$20k SSI asset-limit reform:

  • 267.2k new SSI recipients were already Medicaid-enrolled at baseline but changed Medicaid spending group.
  • This produced +$3.94B/year in modeled Medicaid cost, with no change in enrollment.
  • Almost all were age 18-64, is_ssi_disabled=true, and reported Medicaid at baseline.
  • Top state: North Carolina, 239.2k people and +$3.63B/year.

For removing the SSI asset limit entirely:

  • 615.6k new SSI recipients were already Medicaid-enrolled but changed spending group.
  • This produced +$8.47B/year in modeled Medicaid cost, again with no enrollment change.

Why this matters beyond SSI

The same issue can arise for any reform or missing pathway that changes categorical route but not underlying health risk, for example:

  • an expansion adult later qualifying through SSI, optional ABD, medically needy, or a working-disabled buy-in;
  • a parent/caretaker or young adult moving into another pathway;
  • state-specific Medicaid pathways being added or reordered;
  • 209(b), MSP/QMB, or medically needy implementation changing legal category precedence.

The model should not let eligibility hierarchy changes masquerade as changes in expected medical spending.

Suggested approach

  • Separate legal pathway from spending/risk classification.
  • Keep medicaid_category as a legal eligibility-pathway variable.
  • Add or revise a separate cost-group variable based on stable enrollee traits and calibrated risk/spending cells, not just current policy pathway.
  • Use traits such as age, disability evidence, Medicare status, pregnancy, child status, and possibly baseline/reporting evidence where appropriate.
  • If legal pathway matters for federal/state financing, model that separately from total expected medical cost.
  • Preserve category precedence for eligibility while avoiding mechanical medicaid_cost jumps when only category precedence changes.

Acceptance criteria

  • Add tests covering an already-Medicaid-enrolled person whose legal Medicaid pathway changes under a reform but whose traits and enrollment status do not.
  • medicaid_cost does not change solely because the legal eligibility category changes, unless a documented financing or cost model intentionally says it should.
  • Eligibility-pathway outputs remain available for legal/program analysis.
  • Cost/risk-group outputs are documented as distinct from eligibility-pathway outputs.
  • SSI asset-limit analyses can distinguish new Medicaid enrollment from cost/risk reclassification effects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions