Skip to content
Closed
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/8572.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added a seasonal-worker six-month average income pathway for Medicaid community engagement.
Original file line number Diff line number Diff line change
Expand Up @@ -244,3 +244,39 @@
medicaid_community_engagement_pass_through_eligible: false
output:
medicaid_work_requirement_eligible: false

- name: Case 27, seasonal worker with qualifying six-month average income meets the requirement.
period: 2027
input:
age: 30
employment_income: 0
monthly_hours_worked: 0
is_medicaid_community_engagement_seasonal_worker: true
medicaid_community_engagement_six_month_average_income: 580
medicaid_community_engagement_pass_through_eligible: false
output:
medicaid_work_requirement_eligible: true

- name: Case 28, seasonal worker below the six-month average income threshold fails.
period: 2027
input:
age: 30
employment_income: 0
monthly_hours_worked: 0
is_medicaid_community_engagement_seasonal_worker: true
medicaid_community_engagement_six_month_average_income: 579
medicaid_community_engagement_pass_through_eligible: false
output:
medicaid_work_requirement_eligible: false

- name: Case 29, non-seasonal worker does not qualify through six-month average income.
period: 2027
input:
age: 30
employment_income: 0
monthly_hours_worked: 0
is_medicaid_community_engagement_seasonal_worker: false
medicaid_community_engagement_six_month_average_income: 580
medicaid_community_engagement_pass_through_eligible: false
output:
medicaid_work_requirement_eligible: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from policyengine_us.model_api import *


class is_medicaid_community_engagement_seasonal_worker(Variable):
value_type = bool
entity = Person
label = "Seasonal worker for Medicaid community engagement"
definition_period = YEAR
default_value = False
documentation = (
"Whether the person is a seasonal worker for the Medicaid community "
"engagement six-month average income pathway."
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from policyengine_us.model_api import *


class medicaid_community_engagement_six_month_average_income(Variable):
value_type = float
entity = Person
label = "Medicaid community engagement preceding six-month average monthly income"
unit = USD
definition_period = YEAR
default_value = 0
documentation = (
"Average monthly Medicaid MAGI household income over the preceding six "
"months for the seasonal-worker community engagement pathway."
)
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ def formula(person, period, parameters):
meets_monthly_income = person("earned_income", period) >= (
monthly_income_threshold * MONTHS_IN_YEAR
)
seasonal_worker = person(
"is_medicaid_community_engagement_seasonal_worker", period
)
six_month_average_income = person(
"medicaid_community_engagement_six_month_average_income", period
)
meets_seasonal_worker_income = seasonal_worker & (
six_month_average_income >= monthly_income_threshold
)
# The individual is enrolled in an educational program at least half-time.
is_enrolled_at_least_half_time = person(
"is_full_time_student", period
Expand Down Expand Up @@ -94,7 +103,10 @@ def formula(person, period, parameters):
| was_recently_incarcerated
)
meets_base_requirement = (
meets_monthly_work_hours | meets_monthly_income | exempted_from_work
meets_monthly_work_hours
| meets_monthly_income
| meets_seasonal_worker_income
| exempted_from_work
)
meets_conditions = meets_base_requirement | has_eligible_dependent_child
return where(work_required_age, meets_conditions, True)
Loading