Skip to content

Medicare and Medicare Savings Programs: add an immigration test for undocumented people #10627

Closed

Description

@hua7450

What happens

is_medicare_eligible returns true at age 65 or after 24 months of Social Security disability benefits, and it reads no immigration status:

is_age_eligible = person("age", period) >= p.min_age
...
return is_age_eligible | is_disability_eligible

medicare_enrolled, is_qmb_eligible, is_slmb_eligible and is_qi_eligible all read it. An undocumented person aged 65 or older therefore gets Medicare and a Medicare Savings Program tier in the model.

What the rules say

  • 42 USC 1395o(a) allows Part B enrollment for an individual who "has attained age 65 and is a resident of the United States, and is either (A) a citizen or (B) an alien lawfully admitted for permanent residence who has resided in the United States continuously during the 5 years immediately preceding the month in which he applies for enrollment under this part".
  • 8 USC 1611(a) says "an alien who is not a qualified alien (as defined in section 1641 of this title) is not eligible for any Federal public benefit". Subsection (b)(3) exempts Medicare benefits only "to an alien who is lawfully present in the United States".
  • 42 USC 1396d(p)(1)(A) defines a qualified Medicare beneficiary as an individual "who is entitled to hospital insurance benefits under part A", or enrolled under Part B for immunosuppressive drug coverage.

An undocumented person is not lawfully present, so these provisions give them no route to Medicare benefits. Without Medicare, they can't be a qualified Medicare beneficiary.

42 USC 1396b(v) was not read for this issue.

Example

Results from main at 4cf0a98e47, for Texas in 2026. The person is single, aged 70, with a $10,000 pension.

immigration_status medicare_enrolled msp_category medicare_cost is_medicaid_immigration_status_eligible Expected
CITIZEN true QMB $16,548.20 true As shown
UNDOCUMENTED true QMB $16,548.20 false Not enrolled, NONE, $0

msp_benefit_value returns $202.90 a month for the undocumented person. All 11 immigration_status values return the same medicare_enrolled, msp_category and medicare_cost.

Scope and fix

  • UNDOCUMENTED is the clear case. DACA, TPS and other statuses depend on lawful presence, Part A work history and, for Part B, five years of permanent residence, so those statuses need their own decision.
  • years_since_us_entry could stand in for the Part B residence test. It counts years since entry or a qualified status grant, which can differ from continuous residence, and it defaults to 5. Remove the years_since_us_entry default of 5 #9732 proposes removing that default. medicare_quarters_of_coverage holds Part A work history and defaults to 40.
  • One possible fix: add the status test to is_medicare_eligible. Check each reader first, because some ask about a different condition. Readers include medicare_cost, medicare_gross_cost, the Part A, B and D premium and enrollment variables, is_premium_free_part_a, is_basic_health_program_eligible, is_adult_for_medicaid_nfc, medicaid_work_requirement_eligible, il_smib_eligible and il_cta_rta_reduced_fare_eligible.
  • The population effect has not been estimated. A change here lowers modeled Medicare enrollment and cost for anyone the data marks undocumented.

🤖 Generated with Claude Code

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