Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/remove-years-since-us-entry-default.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove the default of 5 from years_since_us_entry, so it defaults to 0 and noncitizens in statuses subject to the five-year bar are treated as inside the bar unless the input is supplied.
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@
person1:
age: 40
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar, so Medicaid immigration-eligible; previously
# relied on the removed default of 5.
years_since_us_entry: 5
is_medicaid_eligible: false
is_chip_eligible: false
is_basic_health_program_eligible: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,16 @@
output:
is_chip_immigration_status_eligible: [false, true]

- name: Case 2b, Arizona permanent resident child without years_since_us_entry is inside the five-year bar.
period: 2025
input:
state_code: AZ
age: 10
immigration_status: LEGAL_PERMANENT_RESIDENT
# years_since_us_entry is omitted, so its default of 0 applies.
output:
is_chip_immigration_status_eligible: false

- name: Case 3, Texas option covers recent permanent resident children under 19 only.
period: 2025
input:
Expand Down Expand Up @@ -133,6 +143,8 @@
person4:
age: 10
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar; this case checks the eligible status list.
years_since_us_entry: 5
households:
household1:
members: [person1]
Expand Down Expand Up @@ -266,8 +278,10 @@
# From October 1, 2026, 42 USC 1397gg(e)(1)(R) applies the 1396b(v)(5) limit to
# CHIP, which ends federal CHIP funding for asylees, people granted withholding
# of deportation, parolees and conditional entrants outside the option (SHO
# #26-001 Appendix A). Arizona elected neither option, and the default five years
# since entry clears the bar, so only the status limit applies.
# #26-001 Appendix A). Arizona elected neither option. Asylees and people granted
# withholding are exempt from the five-year bar, and the parolee and conditional
# entrant state five years since entry to clear it, so only the status limit
# applies.
- name: Case 14, after section 71109 asylees, withheld deportations, parolees and conditional entrants lose CHIP in Arizona.
period: 2027
input:
Expand All @@ -281,9 +295,11 @@
person3:
age: 10
immigration_status: PAROLED_ONE_YEAR
years_since_us_entry: 5
person4:
age: 10
immigration_status: CONDITIONAL_ENTRANT
years_since_us_entry: 5
households:
household1:
members: [person1]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@
input:
medicaid_category: YOUNG_ADULT
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar; this case checks an eligible status.
years_since_us_entry: 5
ca_ffyp_eligible: false
output:
is_medicaid_eligible: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
period: 2024
input:
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar; this case checks the eligible status list.
years_since_us_entry: 5
output:
is_medicaid_immigration_status_eligible: true

Expand All @@ -28,6 +30,14 @@
output:
is_medicaid_immigration_status_eligible: true

- name: Legal permanent resident without years_since_us_entry is treated as inside the five-year bar
period: 2025
input:
immigration_status: LEGAL_PERMANENT_RESIDENT
# years_since_us_entry is omitted, so its default of 0 applies.
output:
is_medicaid_immigration_status_eligible: false

- name: Recent one-year parolee is ineligible during five-year bar
period: 2025
input:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,8 @@
age: 50
employment_income: 14_000
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar; this case checks an eligible status.
years_since_us_entry: 5
has_emergency_medical_condition: true
tax_units:
tax_unit:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@
state_code: IL
age: 70
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar, so federal Medicaid covers this LPR.
years_since_us_entry: 5
social_security: 10_000
output:
il_hbi_eligible: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
input:
state_code: IL
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar, so federal Medicaid covers this LPR.
years_since_us_entry: 5
output:
il_hbi_immigration_status_eligible: false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,18 @@
ne_aabd: 0
general_assistance: 0
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the SNAP waiting period; this case checks that permanent
# residents count.
years_since_us_entry: 5
employment_income: 24_000
person6:
age: 43
ssi: 0
ne_aabd: 0
general_assistance: 0
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the SNAP waiting period, as for person5.
years_since_us_entry: 5
spm_units:
spm1:
members:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@
period: 2024
input:
immigration_status: LEGAL_PERMANENT_RESIDENT
# Past the five-year bar, so federal Medicaid covers this LPR.
years_since_us_entry: 5
state_code: OR
output:
or_healthier_oregon_immigration_status_eligible: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,29 @@
output:
wa_rca_eligible: false

- name: Case 5, refugee using default years_since_us_entry (5) - ineligible.
- name: Case 5, refugee 5 years after entry - ineligible (past ORR window).
period: 2024-01
input:
state_code: WA
immigration_status: REFUGEE
# Previously relied on the removed default of 5; now stated explicitly.
years_since_us_entry: 5
wa_tanf_income_eligible: true
wa_tanf_resources_eligible: true
output:
wa_rca_eligible: false

- name: Case 5b, refugee without years_since_us_entry - eligible (default of 0 is inside ORR window).
period: 2024-01
input:
state_code: WA
immigration_status: REFUGEE
# years_since_us_entry is omitted, so its default of 0 applies.
wa_tanf_income_eligible: true
wa_tanf_resources_eligible: true
output:
wa_rca_eligible: true

- name: Case 6, refugee income-ineligible - ineligible.
period: 2024-01
input:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,13 @@
output:
wa_tanf_immigration_status_eligible: true

- name: Case 8, LPR using default years_since_us_entry is eligible.
- name: Case 8, LPR with years_since_us_entry set to the former default of 5 is eligible.
period: 2024-01
input:
state_code: WA
immigration_status: LEGAL_PERMANENT_RESIDENT
# Previously relied on the removed default of 5; now stated explicitly.
years_since_us_entry: 5
output:
wa_tanf_immigration_status_eligible: true

Expand Down Expand Up @@ -134,7 +136,8 @@
input:
state_code: WA
immigration_status: CITIZEN
# years_since_us_entry intentionally omitted to rely on the default; the
# is_citizen short-circuit must keep citizens eligible regardless.
# years_since_us_entry intentionally omitted, so the default of 0 (inside
# the bar) applies; the is_citizen short-circuit must keep citizens
# eligible regardless.
output:
wa_tanf_immigration_status_eligible: true
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@
people:
person1:
immigration_status: LEGAL_PERMANENT_RESIDENT
# Tests the status list, not the waiting period, so the LPR has
# completed the waiting period. years_since_us_entry now defaults to 0.
years_since_us_entry: 5
households:
household1:
members: [person1]
Expand Down Expand Up @@ -119,9 +122,9 @@

# Cases 11 onward apply the qualified alien waiting period of 8 USC
# 1612(a)(2)(L) and 7 CFR 273.4(a)(6) on top of the 7 USC 2015(f) status
# list. years_since_us_entry defaults to 5, which satisfies the waiting
# period, so Cases 1-10 are unchanged and every case below that exercises
# the waiting period sets it explicitly.
# list. years_since_us_entry defaults to 0, which leaves a person in a
# subject status inside the waiting period, so Case 7 sets it to 5 and every
# case below that exercises the waiting period sets it explicitly.

- name: Case 11, adult LPR inside the five-year waiting period is ineligible.
period: 2026-01
Expand Down Expand Up @@ -568,15 +571,16 @@
ca_snap_immigration_status_eligible: true
is_snap_immigration_status_eligible: false

- name: Case 48, California parolee with default years in status is eligible during the delayed implementation.
- name: Case 48, California parolee past the waiting period is eligible during the delayed implementation.
period: 2026-01
input:
immigration_status: PAROLED_ONE_YEAR
age: 30
years_since_us_entry: 5
state_code: CA
output:
# years_since_us_entry defaults to 5, so the pre-existing California
# result is unchanged.
# Past the waiting period, the pre-existing California result is
# unchanged. This case relied on the former default of 5, now stated.
ca_snap_immigration_status_eligible: true
is_snap_immigration_status_eligible: true

Expand Down Expand Up @@ -604,16 +608,18 @@
ca_snap_immigration_status_eligible: true
is_snap_immigration_status_eligible: false

- name: Case 51, parolee and conditional entrant with default years in status are eligible before OBBBA.
- name: Case 51, parolee and conditional entrant past the waiting period are eligible before OBBBA.
period: 2025-01
input:
people:
person1:
immigration_status: PAROLED_ONE_YEAR
age: 30
years_since_us_entry: 5
person2:
immigration_status: CONDITIONAL_ENTRANT
age: 30
years_since_us_entry: 5
marital_units:
marital_unit1:
members: [person1]
Expand All @@ -624,8 +630,9 @@
members: [person1, person2]
state_code: TX
output:
# Default inertness: unchanged from the result before the waiting
# period was added.
# Past the waiting period, the result is unchanged from before the
# waiting period was added. This case relied on the former default of
# 5, now stated.
is_snap_immigration_status_eligible: [true, true]

- name: Case 52, California parolee child inside the waiting period is eligible during the delayed implementation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# 8 USC 1612(a)(2); 7 CFR 273.4(a)(6)(ii)-(iii). years_since_us_entry is read
# as years in qualified alien status. Its default of 5 satisfies the waiting
# period, so every case that exercises the bar sets it explicitly. The
# as years in qualified alien status. It defaults to 0, which leaves a person
# in a subject status inside the waiting period; Cases 5b and 50b lock that
# default, and every other case that exercises the bar sets it explicitly. The
# waiting period applies to LEGAL_PERMANENT_RESIDENT, PAROLED_ONE_YEAR and
# CONDITIONAL_ENTRANT (273.4(a)(6)(iii)); all other statuses pass this gate
# and are screened only by the status list.
Expand Down Expand Up @@ -42,14 +43,26 @@
output:
meets_snap_qualified_alien_waiting_period: true

- name: Case 5, default years_since_us_entry leaves an adult LPR past the waiting period.
- name: Case 5, adult LPR with five years in qualified status meets the waiting period.
period: 2026-01
input:
immigration_status: LEGAL_PERMANENT_RESIDENT
age: 30
# Formerly relied on the default of 5; now stated. Duplicates Case 4.
years_since_us_entry: 5
output:
meets_snap_qualified_alien_waiting_period: true

- name: Case 5b, adult LPR without years_since_us_entry is inside the waiting period.
period: 2026-01
input:
immigration_status: LEGAL_PERMANENT_RESIDENT
age: 30
output:
# years_since_us_entry defaults to 0.
is_snap_alien_waiting_period_exempt: false
meets_snap_qualified_alien_waiting_period: false

- name: Case 6, LPR age 17 is exempt as a child.
period: 2026-01
input:
Expand Down Expand Up @@ -567,19 +580,22 @@
is_snap_alien_waiting_period_exempt: false
meets_snap_qualified_alien_waiting_period: false

- name: Case 50, default years in status leave every subject status past the waiting period.
- name: Case 50, five years in qualified status leave every subject status past the waiting period.
period: 2025-01
input:
people:
person1:
immigration_status: LEGAL_PERMANENT_RESIDENT
age: 30
years_since_us_entry: 5
person2:
immigration_status: PAROLED_ONE_YEAR
age: 30
years_since_us_entry: 5
person3:
immigration_status: CONDITIONAL_ENTRANT
age: 30
years_since_us_entry: 5
marital_units:
marital_unit1:
members: [person1]
Expand All @@ -592,12 +608,47 @@
members: [person1, person2, person3]
state_code: TX
output:
# years_since_us_entry defaults to 5 and the new inputs default to
# non-exempt values, so the gate passes through the clock, not an
# exception.
# The exception inputs default to non-exempt values, so the gate passes
# through the clock, not an exception. This case relied on the former
# years_since_us_entry default of 5, now stated.
is_snap_alien_waiting_period_exempt: [false, false, false]
meets_snap_qualified_alien_waiting_period: [true, true, true]

- name: Case 50b, without years_since_us_entry every adult in a subject status is inside the waiting period and a child is exempt.
period: 2025-01
input:
people:
person1:
immigration_status: LEGAL_PERMANENT_RESIDENT
age: 30
person2:
immigration_status: PAROLED_ONE_YEAR
age: 30
person3:
immigration_status: CONDITIONAL_ENTRANT
age: 30
person4:
immigration_status: LEGAL_PERMANENT_RESIDENT
age: 10
marital_units:
marital_unit1:
members: [person1]
marital_unit2:
members: [person2]
marital_unit3:
members: [person3]
marital_unit4:
members: [person4]
households:
household:
members: [person1, person2, person3, person4]
state_code: TX
output:
# years_since_us_entry defaults to 0, so only the under-18 exception
# lifts the waiting period.
is_snap_alien_waiting_period_exempt: [false, false, false, true]
meets_snap_qualified_alien_waiting_period: [false, false, false, true]

- name: Case 51, exceptions are applied person by person in an LPR household inside the waiting period.
period: 2026-01
input:
Expand Down
Loading
Loading