Skip to content
Draft
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: The Department of Health and Human Services exempts Medicaid work requirement for veterans with an overall disability rating of 100

values:
2027-01-01: 100

metadata:
unit: year
label: Veteran Disability Rating Minimum
period: year
reference:
- title: H.R.1 - One Big Beautiful Bill Act
href: https://www.congress.gov/bill/119th-congress/house-bill/1/text
- title: 38 U.S. Code § 1155 - Authority for schedule for rating disabilities
href: https://www.law.cornell.edu/uscode/text/38/1155
Original file line number Diff line number Diff line change
@@ -1,86 +1,86 @@
- name: Case 1, age 18, work exempted age.
period: 2026
period: 2027-03
input:
age: 18
output:
medicaid_work_requirement_eligible: true

- name: Case 2, age 65, work exempted age.
period: 2026
period: 2027-03
input:
age: 65
output:
medicaid_work_requirement_eligible: true

- name: Case 3, age 19, need working.
period: 2026
period: 2027-03
input:
age: 19
output:
medicaid_work_requirement_eligible: false

- name: Case 4, age 30, working 79 hours per month.
period: 2026
period: 2027-03
input:
age: 30
monthly_hours_worked: 79
ce_activity_hours: 79
output:
medicaid_work_requirement_eligible: false

- name: Case 5, age 30, working 80 hours per month.
period: 2026
period: 2027-03
input:
age: 30
monthly_hours_worked: 80
ce_activity_hours: 80
output:
medicaid_work_requirement_eligible: true

- name: Case 6, age 30, is disabled.
period: 2026
period: 2027-03
input:
age: 19
monthly_hours_worked: 5
ce_activity_hours: 5
is_disabled: true
output:
medicaid_work_requirement_eligible: true

- name: Case 7, integration.
period: 2026
period: 2027-03
input:
people:
person1:
age: 30
is_tax_unit_head_or_spouse: true
monthly_hours_worked: 80
ce_activity_hours: 80
person2:
age: 30
is_tax_unit_head_or_spouse: true
monthly_hours_worked: 79
ce_activity_hours: 79
output:
medicaid_work_requirement_eligible: [true, false]

- name: Case 8, not working, but has child at age 13.
period: 2026
period: 2027-03
input:
people:
person1:
age: 30
is_tax_unit_head_or_spouse: true
monthly_hours_worked: 0
ce_activity_hours: 0
person2:
age: 13
is_tax_unit_dependent: true
output:
medicaid_work_requirement_eligible: [true, true]

- name: Case 9, not working, has child at age 14, ineligible under Senate Version.
period: 2026
period: 2027-03
input:
people:
person1:
age: 30
is_tax_unit_head_or_spouse: true
monthly_hours_worked: 0
ce_activity_hours: 0
person2:
age: 14
is_tax_unit_dependent: true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- name: Return false if no conditions set
period: 2027-03
output:
has_age_exemption: false

- name: Return true if less than 19
period: 2027-03
input:
age: 18
output:
has_age_exemption: true

- name: Return true if greater than or equal to 65
period: 2027-03
input:
age: 65
output:
has_age_exemption: true

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
- name: Return false if no conditions set
period: 2027-03
output:
has_medicaid_work_requirement_ce: false

- name: Return true if enrolled at least half-time
period: 2027-03
input:
enrolled_half_time_or_more: true
output:
has_medicaid_work_requirement_ce: true

- name: Return false if hours are too low
period: 2027-03
input:
ce_activity_hours: 79.5
output:
has_medicaid_work_requirement_ce: false

- name: Return true if hours >= 80
period: 2027-03
input:
ce_activity_hours: 80
output:
has_medicaid_work_requirement_ce: true

- name: Return false if income < 580
period: 2027-03
input:
ce_activity_income: 579.50
output:
has_medicaid_work_requirement_ce: false

- name: Return true if income >= 580
period: 2027-03
input:
ce_activity_income: 580
output:
has_medicaid_work_requirement_ce: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
- name: Return false if no conditions set
period: '2027-03'
output:
has_medicaid_work_requirement_exemption: false

- name: Return true if is_totally_disabled_veteran
period: '2027-03'
input:
is_totally_disabled_veteran: true
output:
has_medicaid_work_requirement_exemption: true

- name: Return true if is_medically_frail
period: '2027-03'
input:
is_medically_frail: true
output:
has_medicaid_work_requirement_exemption: true

- name: Return true if is_pregnant
period: '2027-03'
input:
is_pregnant: true
output:
has_medicaid_work_requirement_exemption: true

- name: Return true if <19 years old
period: '2027-03'
input:
age: 18
output:
has_medicaid_work_requirement_exemption: true

- name: Return true if 65 or older
period: '2027-03'
input:
age: 65
output:
has_medicaid_work_requirement_exemption: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
- name: Return false if no conditions set
period: 2027
output:
is_medically_frail: false


- name: return true if blind
period: 2027
input:
is_blind: true
output:
is_medically_frail: true


- name: return true if has disability as defined by SSI
period: 2027
input:
is_ssi_disabled: true
output:
is_medically_frail: true


- name: return true if has substance_use_disorder
period: 2027
input:
has_substance_use_disorder: true
output:
is_medically_frail: true


- name: return true if has_disabling_mental_disorder
period: 2027
input:
has_disabling_mental_disorder: true
output:
is_medically_frail: true


- name: return true if has_adl_impairment
period: 2027
input:
has_adl_impairment: true
output:
is_medically_frail: true


- name: return true if has_serious_or_complex_medical_condition
period: 2027
input:
has_serious_or_complex_medical_condition: true
output:
is_medically_frail: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
- name: Return false if is_veteran is not set
period: 2027
input:
is_veteran: false
veteran_disability_rating: 100
output:
is_totally_disabled_veteran: false


- name: Return false if veteran_disability_rating < 100
period: 2027
input:
is_veteran: true
veteran_disability_rating: 90
output:
is_totally_disabled_veteran: false


- name: Return true if veteran and veteran_disability_rating >= 100
period: 2027
input:
is_veteran: true
veteran_disability_rating: 100
output:
is_totally_disabled_veteran: true

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- name: should equal the federal minimum wage multiplied by the work hours requirement
period: 2027-01
output:
medicaid_work_income_threshold: 580
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from policyengine_us.model_api import *


class has_medicaid_work_requirement_ce(Variable):
value_type = bool
entity = Person
label = "Has demonstrated Community Engagement (CE) compliance for Medicaid work requirements"
definition_period = MONTH
reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text"

def formula(person, period, parameters) -> bool:
enrolled_half_time = person("enrolled_half_time_or_more", period)

monthly_hours_worked = person("ce_activity_hours", period)
hours_threshold = parameters(period).gov.hhs.medicaid.eligibility.work_requirements.monthly_hours_threshold
passed_hours: bool = monthly_hours_worked >= hours_threshold

monthly_income_earned = person("ce_activity_income", period)
income_threshold = person("medicaid_work_income_threshold", period)
passed_income: bool = monthly_income_earned >= income_threshold

return enrolled_half_time or passed_hours or passed_income
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from policyengine_us.model_api import *


class has_medicaid_work_requirement_exemption(Variable):
value_type = bool
entity = Person
label = "Has an exemption for Medicaid work requirements"
definition_period = MONTH
reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text"

def formula(person, period, parameters):
has_age_exemption = person("has_age_exemption", period)
is_totally_disabled_veteran = person("is_totally_disabled_veteran", period)
is_medically_frail = person("is_medically_frail", period)
is_pregnant = person("is_pregnant", period)
has_young_dependent = person("has_young_dependent", period)
is_disabled = person("is_disabled", period)
has_disabled_dependent = person("has_disabled_dependent", period)


return (
has_age_exemption or
is_pregnant or
is_totally_disabled_veteran or
is_medically_frail or
is_disabled or
has_disabled_dependent or
has_young_dependent
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class has_work_requirement(Variable):
# FIXME Replace with formula based on MAGI and needing financial qualifications
value_type = bool
entity = Person
label = "Required to do the Medicaid work requirement"
definition_period = MONTH
reference = "https://www.congress.gov/bill/119th-congress/house-bill/1/text"
default_value: False
Loading