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/5984.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added the Medicaid long-term care home equity limit from H.R. 1.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: The Department of Health and Human Services limits agricultural home equity to this amount for Medicaid long-term care eligibility.
values:
0000-01-01: .inf
2028-01-01: 1_130_000

metadata:
unit: currency-USD
period: year
label: Medicaid long-term care agricultural home equity limit
uprating:
parameter: gov.bls.cpi.cpi_u
rounding:
type: nearest
interval: 1_000
reference:
- title: CMCS Informational Bulletin, Dec. 9, 2025
href: https://www.medicaid.gov/federal-policy-guidance/downloads/cib12092025.pdf#page=3
- title: CMCS Informational Bulletin, Nov. 18, 2025
href: https://www.medicaid.gov/federal-policy-guidance/downloads/cib11182025.pdf#page=8
- title: H.R. 1, 119th Congress, Sec. 71108 - Revising home equity limit for determining eligibility for long-term care services under the Medicaid program
href: https://www.congress.gov/bill/119th-congress/house-bill/1/text
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: The Department of Health and Human Services exempts Medicaid long-term care applicants with a resident child below this age from the home equity limit.
values:
0000-01-01: 21

metadata:
unit: year
period: year
label: Medicaid long-term care home equity family exception child age threshold
reference:
- title: 42 U.S. Code § 1396p(f)(2) - Home equity limit family exception
href: https://www.law.cornell.edu/uscode/text/42/1396p#f_2
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: The Department of Health and Human Services limits non-agricultural home equity to this amount for Medicaid long-term care eligibility.
values:
0000-01-01: .inf
2028-01-01: 1_000_000

metadata:
unit: currency-USD
period: year
label: Medicaid long-term care non-agricultural home equity limit
reference:
- title: H.R. 1, 119th Congress, Sec. 71108 - Revising home equity limit for determining eligibility for long-term care services under the Medicaid program
href: https://www.congress.gov/bill/119th-congress/house-bill/1/text
- title: CMCS Informational Bulletin, Nov. 18, 2025
href: https://www.medicaid.gov/federal-policy-guidance/downloads/cib11182025.pdf#page=8
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,43 @@
employment_income: 6_960
output:
is_medicaid_eligible: true

- name: Case 9, senior long-term care applicant above the home equity limit is ineligible.
period: 2028
input:
age: 65
medicaid_category: SENIOR_OR_DISABLED
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
output:
is_medicaid_eligible: false

- name: Case 10, senior long-term care applicant at the home equity limit is eligible.
period: 2028
input:
age: 65
medicaid_category: SENIOR_OR_DISABLED
receives_medicaid_long_term_care_services: true
home_equity: 1_000_000
output:
is_medicaid_eligible: true

- name: Case 11, senior long-term care applicant above the home equity limit with a resident spouse is eligible.
period: 2028
input:
people:
person1:
age: 65
medicaid_category: SENIOR_OR_DISABLED
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
person2:
age: 64
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
output:
is_medicaid_eligible: [true, false]
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
- name: Case 1, long-term care recipient at the home equity limit is eligible.
period: 2028
input:
receives_medicaid_long_term_care_services: true
home_equity: 1_000_000
output:
is_medicaid_long_term_care_home_equity_eligible: true

- name: Case 2, long-term care recipient above the home equity limit is ineligible.
period: 2028
input:
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
output:
is_medicaid_long_term_care_home_equity_eligible: false

- name: Case 3, home equity limit does not apply before 2028.
period: 2027
input:
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
output:
is_medicaid_long_term_care_home_equity_eligible: true

- name: Case 4, home equity limit does not apply without long-term care services.
period: 2028
input:
receives_medicaid_long_term_care_services: false
home_equity: 1_000_001
output:
is_medicaid_long_term_care_home_equity_eligible: true

- name: Case 5, agricultural home at the agricultural home equity limit remains eligible.
period: 2028
input:
receives_medicaid_long_term_care_services: true
home_is_on_agricultural_land: true
home_equity: 1_130_000
output:
is_medicaid_long_term_care_home_equity_eligible: true

- name: Case 6, Medicaid facility resident above the home equity limit is ineligible.
period: 2028
input:
is_in_medicaid_facility: true
home_equity: 1_000_001
output:
is_medicaid_long_term_care_home_equity_eligible: false

- name: Case 7, resident spouse exception applies above the home equity limit.
period: 2028
input:
people:
person1:
age: 65
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
person2:
age: 64
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
output:
medicaid_home_equity_limit_family_exception: [true, true]
is_medicaid_long_term_care_home_equity_eligible: [true, true]

- name: Case 8, resident child exception applies above the home equity limit.
period: 2028
input:
people:
person1:
age: 65
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
person2:
age: 10
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
output:
medicaid_home_equity_limit_family_exception: [true, false]
is_medicaid_long_term_care_home_equity_eligible: [true, true]

- name: Case 9, agricultural home above the agricultural home equity limit is ineligible.
period: 2028
input:
receives_medicaid_long_term_care_services: true
home_is_on_agricultural_land: true
home_equity: 1_130_001
output:
is_medicaid_long_term_care_home_equity_eligible: false

- name: Case 10, adult child at the family exception age threshold does not qualify.
period: 2028
input:
people:
person1:
age: 65
is_separated: true
receives_medicaid_long_term_care_services: true
home_equity: 1_000_001
person2:
age: 21
is_tax_unit_dependent: true
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
output:
medicaid_home_equity_limit_family_exception: [false, false]
is_medicaid_long_term_care_home_equity_eligible: [false, true]
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@ def formula(person, period, parameters):
)
ca_ffyp_eligible = person("ca_ffyp_eligible", period)
il_hbi_eligible = person("il_hbi_eligible", period)
home_equity_eligible = person(
"is_medicaid_long_term_care_home_equity_eligible", period
)

p = parameters(period).gov.hhs.medicaid.eligibility
federal_medicaid_eligible = categorically_eligible & immigration_status_eligible
federal_medicaid_eligible = (
categorically_eligible & immigration_status_eligible & home_equity_eligible
)
if p.work_requirements.applies:
work_requirement_eligible = person(
"medicaid_work_requirement_eligible", period
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from policyengine_us.model_api import *


class is_medicaid_long_term_care_home_equity_eligible(Variable):
value_type = bool
entity = Person
label = "Medicaid long-term care home equity eligible"
definition_period = YEAR
reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text"

def formula(person, period, parameters):
p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care
receives_long_term_care = person(
"receives_medicaid_long_term_care_services", period
)
home_is_agricultural = person("home_is_on_agricultural_land", period)
family_exception = person("medicaid_home_equity_limit_family_exception", period)
home_equity = person("home_equity", period)
home_equity_limit = where(
home_is_agricultural,
p.home_equity.agricultural_limit,
p.home_equity.limit,
)
return (
~receives_long_term_care
| family_exception
| (home_equity <= home_equity_limit)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from policyengine_us.model_api import *


class medicaid_home_equity_limit_family_exception(Variable):
value_type = bool
entity = Person
label = "Medicaid home equity limit family exception"
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f_2"

def formula(person, period, parameters):
p = parameters(period).gov.hhs.medicaid.eligibility.long_term_care
is_head_or_spouse = person("is_tax_unit_head_or_spouse", period)
has_spouse_in_tax_unit = person.tax_unit.any(
person("is_tax_unit_spouse", period)
)
is_dependent = person("is_tax_unit_dependent", period)
qualifying_child = is_dependent & (
(person("age", period) < p.home_equity.family_exception.child_age_threshold)
| person("is_blind", period)
| person("is_disabled", period)
| person("is_permanently_and_totally_disabled", period)
)
return is_head_or_spouse & (
has_spouse_in_tax_unit | person.tax_unit.any(qualifying_child)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from policyengine_us.model_api import *


class receives_medicaid_long_term_care_services(Variable):
value_type = bool
entity = Person
label = "Receives Medicaid long-term care services"
definition_period = YEAR
reference = "https://www.law.cornell.edu/uscode/text/42/1396p#f"

def formula(person, period, parameters):
return person("is_in_medicaid_facility", period)
11 changes: 11 additions & 0 deletions policyengine_us/variables/household/assets/home_equity.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class home_equity(Variable):
value_type = float
entity = Person
label = "Home equity"
documentation = "Equity interest in a primary residence."
unit = USD
quantity_type = STOCK
definition_period = YEAR
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from policyengine_us.model_api import *


class home_is_on_agricultural_land(Variable):
value_type = bool
entity = Person
label = "Home is on agricultural land"
definition_period = YEAR
reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text"
Loading