diff --git a/changelog.d/8574.added.md b/changelog.d/8574.added.md new file mode 100644 index 00000000000..ee1dcd76ae9 --- /dev/null +++ b/changelog.d/8574.added.md @@ -0,0 +1 @@ +Added a Medicaid community engagement treatment-program exclusion input. diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.yaml index 26fa290a5b3..7fc4f72aaec 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.yaml @@ -244,3 +244,23 @@ medicaid_community_engagement_pass_through_eligible: false output: medicaid_work_requirement_eligible: false + +- name: Case 27, treatment program participant is excluded from community engagement. + period: 2027 + input: + age: 30 + monthly_hours_worked: 0 + is_in_medicaid_community_engagement_treatment_program: true + medicaid_community_engagement_pass_through_eligible: false + output: + medicaid_work_requirement_eligible: true + +- name: Case 28, non-participant remains subject to community engagement. + period: 2027 + input: + age: 30 + monthly_hours_worked: 0 + is_in_medicaid_community_engagement_treatment_program: false + medicaid_community_engagement_pass_through_eligible: false + output: + medicaid_work_requirement_eligible: false diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_in_medicaid_community_engagement_treatment_program.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_in_medicaid_community_engagement_treatment_program.py new file mode 100644 index 00000000000..29646096291 --- /dev/null +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/is_in_medicaid_community_engagement_treatment_program.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class is_in_medicaid_community_engagement_treatment_program(Variable): + value_type = bool + entity = Person + label = ( + "Participates in qualifying treatment program for Medicaid community engagement" + ) + definition_period = YEAR + default_value = False + documentation = ( + "Whether the person participates in a qualifying drug addiction or " + "alcoholic treatment and rehabilitation program for the Medicaid " + "community engagement exclusion. State-specific minimum time " + "commitments are not modeled." + ) + reference = "https://www.govinfo.gov/content/pkg/FR-2026-06-03/pdf/2026-11094.pdf" diff --git a/policyengine_us/variables/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.py b/policyengine_us/variables/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.py index b787dcbeaac..45fef2a6756 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.py +++ b/policyengine_us/variables/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.py @@ -68,6 +68,9 @@ def formula(person, period, parameters): "is_medically_frail_or_has_special_medical_needs_for_medicaid_ce", period, ) + treatment_program_participant = person( + "is_in_medicaid_community_engagement_treatment_program", period + ) # Current and recent incarceration exclusions/exceptions. is_incarcerated = person("is_incarcerated", period) was_recently_incarcerated = person( @@ -90,6 +93,7 @@ def formula(person, period, parameters): | eligible_veteran | eligible_disabled | medically_frail + | treatment_program_participant | is_incarcerated | was_recently_incarcerated )