policyengine-us 1.409.0__py3-none-any.whl → 1.410.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of policyengine-us might be problematic. Click here for more details.
- policyengine_us/parameters/gov/states/ma/eec/README.md +1 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/README.md +1 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/activity_requirements/weekly_hours.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/activity_requirements/work_exempt_age.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/child.yaml +13 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/disabled_child.yaml +14 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/infant.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/school_age.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/toddler.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/assets/limit.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/fee_percentages.yaml +69 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/income_ratio_increments.yaml +39 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/maximum_level.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/additional_child.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/first_child.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/second_child.yaml +11 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/income/countable_income/sources.yaml +30 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/income/smi_rate/new_applicants.yaml +15 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/income/smi_rate/redetermination.yaml +12 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/qualified_immigration_statuses.yaml +19 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/region/metro_and_boston_metro.yaml +15 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/region/northeast.yaml +16 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/region/western_central_and_southeast.yaml +21 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/amount_ratio.yaml +23 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/center_based/early_education.yaml +46 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/center_based/school_age.yaml +59 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/age_threshold.yaml +12 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/older.yaml +24 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/younger.yaml +24 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/head_start_partner_and_kindergarten.yaml +55 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/informal_child_care/child_home.yaml +14 -0
- policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/informal_child_care/relative_home.yaml +14 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_base_copay.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.yaml +104 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccsp_copay_level.yaml +44 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.yaml +111 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_asset_eligible.yaml +15 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible.yaml +44 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible_child.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_immigration_status_eligible.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_income_eligible.yaml +42 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/enum_variables/ma_ccfa_child_age_category.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa.yaml +249 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_fpg.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_maximum_benefit_amount.yaml +209 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_region.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_early_education_reimbursement.yaml +10 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_school_age_reimbursement.yaml +11 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_family_child_care_reimbursement.yaml +10 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_head_start_partner_and_kindergarten_reimbursement.yaml +10 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_informal_child_care_reimbursement.yaml +10 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_maximum_reimbursement.yaml +27 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_reimbursement_ratio.yaml +31 -0
- policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_uncapped_daily_payment.yaml +8 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_base_copay.py +27 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_copay_level.py +30 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.py +35 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.py +43 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_asset_eligible.py +15 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible.py +34 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible_child.py +23 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_immigration_status_eligible.py +19 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_income_eligible.py +27 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa.py +25 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_care_provider_type.py +22 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_child_age_category.py +45 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_countable_income.py +15 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_enrolled.py +9 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_fpg.py +27 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_is_in_relatives_home_care.py +9 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_maximum_benefit_amount.py +19 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_region.py +45 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_schedule_type.py +21 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/ma_child_care_subsidies.py +11 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_early_education_reimbursement.py +19 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_school_age_reimbursement.py +20 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_family_child_care_reimbursement.py +21 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_head_start_partner_and_kindergarten_reimbursement.py +17 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_informal_child_care_reimbursement.py +20 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_maximum_reimbursement.py +23 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_reimbursement_ratio.py +17 -0
- policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_uncapped_daily_payment.py +66 -0
- policyengine_us/variables/household/expense/childcare/childcare_attending_days_per_month.py +9 -0
- policyengine_us/variables/household/expense/childcare/childcare_expenses.py +1 -1
- {policyengine_us-1.409.0.dist-info → policyengine_us-1.410.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.409.0.dist-info → policyengine_us-1.410.0.dist-info}/RECORD +89 -6
- {policyengine_us-1.409.0.dist-info → policyengine_us-1.410.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.409.0.dist-info → policyengine_us-1.410.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.409.0.dist-info → policyengine_us-1.410.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_total_copay(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) parent total copay"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
defined_for = StateCode.MA
|
|
11
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-policy-guide-february-1-2022/download#page=76"
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
# TAFDC recipients get free child care (no copay)
|
|
15
|
+
tafdc_eligible = spm_unit("ma_tafdc_eligible", period)
|
|
16
|
+
|
|
17
|
+
p = parameters(period).gov.states.ma.eec.ccfa.copay.ratio
|
|
18
|
+
base_copay = spm_unit("ma_ccfa_base_copay", period)
|
|
19
|
+
eligible_child = spm_unit.members("ma_ccfa_eligible_child", period)
|
|
20
|
+
num_children = spm_unit.sum(eligible_child)
|
|
21
|
+
|
|
22
|
+
first_child_fee = (num_children >= 1) * (base_copay * p.first_child)
|
|
23
|
+
second_child_fee = (num_children >= 2) * (base_copay * p.second_child)
|
|
24
|
+
|
|
25
|
+
additional_children_count = max_(0, num_children - 2)
|
|
26
|
+
additional_children_fee = additional_children_count * (
|
|
27
|
+
base_copay * p.additional_child
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
total_copay = (
|
|
31
|
+
first_child_fee + second_child_fee + additional_children_fee
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Return zero copay for TAFDC recipients
|
|
35
|
+
return where(tafdc_eligible, 0, total_copay)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_activity_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Eligible for Massachusetts Child Care Financial Assistance (CCFA) due to activity"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://regulations.justia.com/states/massachusetts/606-cmr/title-606-cmr-10-00/section-10-04/"
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa.activity_requirements
|
|
14
|
+
person = spm_unit.members
|
|
15
|
+
is_head_or_spouse = person("is_tax_unit_head_or_spouse", period)
|
|
16
|
+
|
|
17
|
+
# Individual activity requirements
|
|
18
|
+
hours_worked = person("weekly_hours_worked", period.this_year)
|
|
19
|
+
meets_work_requirement = hours_worked >= p.weekly_hours
|
|
20
|
+
|
|
21
|
+
age = person("monthly_age", period)
|
|
22
|
+
work_exempt_age = age >= p.work_exempt_age
|
|
23
|
+
|
|
24
|
+
is_student = person("is_full_time_student", period)
|
|
25
|
+
|
|
26
|
+
individually_eligible = (
|
|
27
|
+
meets_work_requirement | work_exempt_age | is_student
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
# Family-level exemptions
|
|
31
|
+
is_pregnant = person("is_pregnant", period)
|
|
32
|
+
is_disabled = person("is_disabled", period)
|
|
33
|
+
parent_exempt = is_head_or_spouse & (is_pregnant | is_disabled)
|
|
34
|
+
family_exempt = spm_unit.any(parent_exempt)
|
|
35
|
+
|
|
36
|
+
is_homeless = spm_unit.household("is_homeless", period)
|
|
37
|
+
|
|
38
|
+
# All parents must meet requirements unless family is exempt
|
|
39
|
+
all_parents_eligible = (
|
|
40
|
+
spm_unit.sum(is_head_or_spouse & ~individually_eligible) == 0
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
return all_parents_eligible | family_exempt | is_homeless
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_asset_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Asset eligible for Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-policy-guide-february-1-2022/download#page=36"
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa.assets
|
|
14
|
+
total_assets = spm_unit("spm_unit_assets", period.this_year)
|
|
15
|
+
return total_assets < p.limit
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Eligible for Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-procedures-manual-february-1-2022/download"
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
# Check all eligibility criteria
|
|
14
|
+
has_eligible_child = (
|
|
15
|
+
add(spm_unit, period, ["ma_ccfa_eligible_child"]) > 0
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
# TAFDC recipients have categorical eligibility Section 10.05(3)(a)&(b)
|
|
19
|
+
# https://regulations.justia.com/states/massachusetts/606-cmr/title-606-cmr-10-00/section-10-05/
|
|
20
|
+
tafdc_eligible = spm_unit("ma_tafdc_eligible", period)
|
|
21
|
+
|
|
22
|
+
# Regular eligibility criteria
|
|
23
|
+
income_eligible = spm_unit("ma_ccfa_income_eligible", period)
|
|
24
|
+
asset_eligible = spm_unit("ma_ccfa_asset_eligible", period)
|
|
25
|
+
activity_eligible = spm_unit("ma_ccfa_activity_eligible", period)
|
|
26
|
+
|
|
27
|
+
regular_eligible = (
|
|
28
|
+
has_eligible_child
|
|
29
|
+
& income_eligible
|
|
30
|
+
& asset_eligible
|
|
31
|
+
& activity_eligible
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
return regular_eligible | tafdc_eligible
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_eligible_child(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Eligible child for Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-policy-guide-february-1-2022/download#page=10"
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa.age_threshold
|
|
14
|
+
age = person("monthly_age", period)
|
|
15
|
+
is_disabled = person("is_disabled", period)
|
|
16
|
+
age_limit = where(is_disabled, p.disabled_child, p.child)
|
|
17
|
+
age_eligible = age < age_limit
|
|
18
|
+
is_dependent = person("is_tax_unit_dependent", period)
|
|
19
|
+
immigration_eligible = person(
|
|
20
|
+
"ma_ccfa_immigration_status_eligible", period
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
return age_eligible & is_dependent & immigration_eligible
|
policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_immigration_status_eligible.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_immigration_status_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Immigration status eligible for Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-policy-guide-february-1-2022/download#page=26"
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa
|
|
14
|
+
immigration_status = person("immigration_status", period)
|
|
15
|
+
immigration_status_str = immigration_status.decode_to_str()
|
|
16
|
+
return np.isin(
|
|
17
|
+
immigration_status_str,
|
|
18
|
+
p.qualified_immigration_statuses,
|
|
19
|
+
)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_income_eligible(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Income eligible for Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
10
|
+
reference = "https://www.mass.gov/doc/financial-assistance-policy-guide"
|
|
11
|
+
|
|
12
|
+
def formula(spm_unit, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa.income.smi_rate
|
|
14
|
+
|
|
15
|
+
countable_income = spm_unit("ma_ccfa_countable_income", period)
|
|
16
|
+
smi = spm_unit("hhs_smi", period)
|
|
17
|
+
|
|
18
|
+
# Initial eligibility at 50% SMI, continued at 85% SMI
|
|
19
|
+
is_enrolled = spm_unit("ma_ccfa_enrolled", period)
|
|
20
|
+
|
|
21
|
+
smi_limit = where(
|
|
22
|
+
is_enrolled,
|
|
23
|
+
p.redetermination,
|
|
24
|
+
p.new_applicants,
|
|
25
|
+
)
|
|
26
|
+
income_limit = smi * smi_limit
|
|
27
|
+
return countable_income <= income_limit
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
unit = USD
|
|
8
|
+
label = (
|
|
9
|
+
"Massachusetts Child Care Financial Assistance (CCFA) benefit amount"
|
|
10
|
+
)
|
|
11
|
+
definition_period = MONTH
|
|
12
|
+
defined_for = "ma_ccfa_eligible"
|
|
13
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
14
|
+
|
|
15
|
+
def formula(spm_unit, period, parameters):
|
|
16
|
+
pre_subsidy_childcare_expenses = spm_unit(
|
|
17
|
+
"spm_unit_pre_subsidy_childcare_expenses", period.this_year
|
|
18
|
+
)
|
|
19
|
+
copay = spm_unit("ma_ccfa_total_copay", period)
|
|
20
|
+
max_reimbursement = add(
|
|
21
|
+
spm_unit, period, ["ma_ccfa_maximum_reimbursement"]
|
|
22
|
+
)
|
|
23
|
+
uncapped_benefit = max_(pre_subsidy_childcare_expenses - copay, 0)
|
|
24
|
+
|
|
25
|
+
return min_(uncapped_benefit, max_reimbursement)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MassachusettsCCFACareProviderType(Enum):
|
|
5
|
+
CENTER_BASED_CARE_EARLY_EDUCATION = "Center-Based Care Early Education"
|
|
6
|
+
CENTER_BASED_CARE_SCHOOL_AGE = "Center-Based Care School Age"
|
|
7
|
+
HEAD_START_PARTNER_AND_KINDERGARTEN = "Head Start Partner and Kindergarten"
|
|
8
|
+
INFORMAL_CHILD_CARE = "Informal Child Care"
|
|
9
|
+
FAMILY_CHILD_CARE = "Family Child Care"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ma_ccfa_care_provider_type(Variable):
|
|
13
|
+
value_type = Enum
|
|
14
|
+
entity = Person
|
|
15
|
+
possible_values = MassachusettsCCFACareProviderType
|
|
16
|
+
default_value = (
|
|
17
|
+
MassachusettsCCFACareProviderType.CENTER_BASED_CARE_SCHOOL_AGE
|
|
18
|
+
)
|
|
19
|
+
definition_period = MONTH
|
|
20
|
+
defined_for = StateCode.MA
|
|
21
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) care provider type"
|
|
22
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MassachusettsCCFAChildAgeCategory(Enum):
|
|
5
|
+
INFANT = "Infant"
|
|
6
|
+
TODDLER = "Toddler"
|
|
7
|
+
PRESCHOOL = "Preschool"
|
|
8
|
+
SCHOOL_AGE = "School Age"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ma_ccfa_child_age_category(Variable):
|
|
12
|
+
value_type = Enum
|
|
13
|
+
entity = Person
|
|
14
|
+
possible_values = MassachusettsCCFAChildAgeCategory
|
|
15
|
+
default_value = MassachusettsCCFAChildAgeCategory.INFANT
|
|
16
|
+
definition_period = MONTH
|
|
17
|
+
defined_for = StateCode.MA
|
|
18
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) child age category"
|
|
19
|
+
reference = (
|
|
20
|
+
"https://www.law.cornell.edu/regulations/massachusetts/606-CMR-7-10",
|
|
21
|
+
"https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download",
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
def formula(person, period, parameters):
|
|
25
|
+
# Get child's age in years (convert to months for thresholds)
|
|
26
|
+
age_years = person("age", period.this_year)
|
|
27
|
+
age_months = age_years * MONTHS_IN_YEAR
|
|
28
|
+
|
|
29
|
+
# Get age threshold parameters
|
|
30
|
+
p = parameters(period).gov.states.ma.eec.ccfa.age_threshold
|
|
31
|
+
|
|
32
|
+
# Determine age category based on Massachusetts 606 CMR 7.10
|
|
33
|
+
return select(
|
|
34
|
+
[
|
|
35
|
+
age_months <= p.infant,
|
|
36
|
+
age_months <= p.toddler,
|
|
37
|
+
age_years < p.school_age,
|
|
38
|
+
],
|
|
39
|
+
[
|
|
40
|
+
MassachusettsCCFAChildAgeCategory.INFANT,
|
|
41
|
+
MassachusettsCCFAChildAgeCategory.TODDLER,
|
|
42
|
+
MassachusettsCCFAChildAgeCategory.PRESCHOOL,
|
|
43
|
+
],
|
|
44
|
+
default=MassachusettsCCFAChildAgeCategory.SCHOOL_AGE,
|
|
45
|
+
)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_countable_income(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = (
|
|
8
|
+
"Massachusetts Child Care Financial Assistance (CCFA) countable income"
|
|
9
|
+
)
|
|
10
|
+
unit = USD
|
|
11
|
+
definition_period = MONTH
|
|
12
|
+
defined_for = StateCode.MA
|
|
13
|
+
reference = "https://www.mass.gov/doc/eecs-financial-assistance-policy-guide-february-1-2022/download#page=37"
|
|
14
|
+
|
|
15
|
+
adds = "gov.states.ma.eec.ccfa.income.countable_income.sources"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_enrolled(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Whether the family is currently enrolled in Massachusetts Child Care Financial Assistance (CCFA)"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_fpg(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) federal poverty guideline"
|
|
8
|
+
definition_period = YEAR
|
|
9
|
+
unit = USD
|
|
10
|
+
defined_for = StateCode.MA
|
|
11
|
+
reference = "https://www.mass.gov/doc/parent-fee-chart-fy2025/download"
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
size = spm_unit("spm_unit_size", period)
|
|
15
|
+
capped_size = min_(size, 12)
|
|
16
|
+
state_group = spm_unit.household("state_group_str", period.this_year)
|
|
17
|
+
p_fpg = parameters(period).gov.hhs.fpg
|
|
18
|
+
year = period.start.year
|
|
19
|
+
month = period.start.month
|
|
20
|
+
if month >= 10:
|
|
21
|
+
instant_str = f"{year}-10-01"
|
|
22
|
+
else:
|
|
23
|
+
instant_str = f"{year - 1}-10-01"
|
|
24
|
+
p_fpg = parameters(instant_str).gov.hhs.fpg
|
|
25
|
+
p1 = p_fpg.first_person[state_group]
|
|
26
|
+
pn = p_fpg.additional_person[state_group]
|
|
27
|
+
return p1 + pn * (capped_size - 1)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_is_in_relatives_home_care(Variable):
|
|
5
|
+
value_type = bool
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Whether the person is receiving relative or relative's home care"
|
|
8
|
+
definition_period = MONTH
|
|
9
|
+
defined_for = StateCode.MA
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_maximum_benefit_amount(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
unit = USD
|
|
8
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) maximum benefit amount"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
defined_for = "ma_ccfa_eligible"
|
|
11
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
12
|
+
|
|
13
|
+
def formula(spm_unit, period, parameters):
|
|
14
|
+
copay = spm_unit("ma_ccfa_total_copay", period)
|
|
15
|
+
max_reimbursement = add(
|
|
16
|
+
spm_unit, period, ["ma_ccfa_maximum_reimbursement"]
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
return max_(max_reimbursement - copay, 0)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MassachusettsCCFARegion(Enum):
|
|
5
|
+
WESTERN_CENTRAL_AND_SOUTHEAST = "Western, Central & Southeast"
|
|
6
|
+
NORTHEAST = "Northeast"
|
|
7
|
+
METRO_AND_BOSTON_METRO = "Metro & Boston Metro"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ma_ccfa_region(Variable):
|
|
11
|
+
value_type = Enum
|
|
12
|
+
entity = Household
|
|
13
|
+
possible_values = MassachusettsCCFARegion
|
|
14
|
+
default_value = MassachusettsCCFARegion.WESTERN_CENTRAL_AND_SOUTHEAST
|
|
15
|
+
definition_period = MONTH
|
|
16
|
+
defined_for = StateCode.MA
|
|
17
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) region"
|
|
18
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
19
|
+
|
|
20
|
+
def formula(household, period, parameters):
|
|
21
|
+
county = household("county_str", period)
|
|
22
|
+
|
|
23
|
+
p = parameters(period).gov.states.ma.eec.ccfa.region
|
|
24
|
+
western_central_and_southeast = np.isin(
|
|
25
|
+
county, p.western_central_and_southeast
|
|
26
|
+
)
|
|
27
|
+
northeast = np.isin(county, p.northeast)
|
|
28
|
+
metro_and_boston_metro = np.isin(county, p.metro_and_boston_metro)
|
|
29
|
+
|
|
30
|
+
conditions = [
|
|
31
|
+
western_central_and_southeast,
|
|
32
|
+
northeast,
|
|
33
|
+
metro_and_boston_metro,
|
|
34
|
+
]
|
|
35
|
+
results = [
|
|
36
|
+
MassachusettsCCFARegion.WESTERN_CENTRAL_AND_SOUTHEAST,
|
|
37
|
+
MassachusettsCCFARegion.NORTHEAST,
|
|
38
|
+
MassachusettsCCFARegion.METRO_AND_BOSTON_METRO,
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
return select(
|
|
42
|
+
conditions,
|
|
43
|
+
results,
|
|
44
|
+
default=MassachusettsCCFARegion.WESTERN_CENTRAL_AND_SOUTHEAST,
|
|
45
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MassachusettsCCFAScheduleType(Enum):
|
|
5
|
+
FULL_DAY = "Full Day"
|
|
6
|
+
BEFORE_ONLY = "Before Only"
|
|
7
|
+
AFTER_ONLY = "After Only"
|
|
8
|
+
BEFORE_AND_AFTER = "Before and After"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ma_ccfa_schedule_type(Variable):
|
|
12
|
+
value_type = Enum
|
|
13
|
+
entity = Person
|
|
14
|
+
possible_values = MassachusettsCCFAScheduleType
|
|
15
|
+
default_value = MassachusettsCCFAScheduleType.FULL_DAY
|
|
16
|
+
definition_period = MONTH
|
|
17
|
+
defined_for = StateCode.MA
|
|
18
|
+
label = (
|
|
19
|
+
"Massachusetts Child Care Financial Assistance (CCFA) schedule type"
|
|
20
|
+
)
|
|
21
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_child_care_subsidies(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = SPMUnit
|
|
7
|
+
label = "Massachusetts child care subsidies"
|
|
8
|
+
unit = USD
|
|
9
|
+
definition_period = YEAR
|
|
10
|
+
defined_for = StateCode.MA
|
|
11
|
+
adds = ["ma_ccfa"]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_center_based_early_education_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) center-based early education reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.states.ma.eec.ccfa.reimbursement_rates.center_based
|
|
17
|
+
region = person.household("ma_ccfa_region", period)
|
|
18
|
+
age_category = person("ma_ccfa_child_age_category", period)
|
|
19
|
+
return p.early_education[region][age_category]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_center_based_school_age_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) center-based school age reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.states.ma.eec.ccfa.reimbursement_rates.center_based
|
|
17
|
+
region = person.household("ma_ccfa_region", period)
|
|
18
|
+
schedule_type = person("ma_ccfa_schedule_type", period)
|
|
19
|
+
age_category = person("ma_ccfa_child_age_category", period)
|
|
20
|
+
return p.school_age[region][age_category][schedule_type]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_family_child_care_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) family child care reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.states.ma.eec.ccfa.reimbursement_rates.family_child_care
|
|
17
|
+
region = person.household("ma_ccfa_region", period)
|
|
18
|
+
age = person("monthly_age", period)
|
|
19
|
+
return where(
|
|
20
|
+
age >= p.age_threshold, p.older[region], p.younger[region]
|
|
21
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_head_start_partner_and_kindergarten_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) head start partner and kindergarten reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
p = parameters(period).gov.states.ma.eec.ccfa.reimbursement_rates
|
|
15
|
+
region = person.household("ma_ccfa_region", period)
|
|
16
|
+
schedule_type = person("ma_ccfa_schedule_type", period)
|
|
17
|
+
return p.head_start_partner_and_kindergarten[region][schedule_type]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_informal_child_care_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) informal child care reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
p = parameters(
|
|
15
|
+
period
|
|
16
|
+
).gov.states.ma.eec.ccfa.reimbursement_rates.informal_child_care
|
|
17
|
+
is_relative_home_care = person(
|
|
18
|
+
"ma_ccfa_is_in_relatives_home_care", period
|
|
19
|
+
)
|
|
20
|
+
return where(is_relative_home_care, p.relative_home, p.child_home)
|
policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_maximum_reimbursement.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_maximum_reimbursement(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) maximum reimbursement amount per child"
|
|
8
|
+
unit = USD
|
|
9
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
10
|
+
definition_period = MONTH
|
|
11
|
+
defined_for = StateCode.MA
|
|
12
|
+
|
|
13
|
+
def formula(person, period, parameters):
|
|
14
|
+
daily_payment = person("ma_ccfa_uncapped_daily_payment", period)
|
|
15
|
+
reimbursement_multiplier = person(
|
|
16
|
+
"ma_ccfa_reimbursement_ratio", period
|
|
17
|
+
)
|
|
18
|
+
attending_days_per_month = person(
|
|
19
|
+
"childcare_attending_days_per_month", period.this_year
|
|
20
|
+
)
|
|
21
|
+
return (
|
|
22
|
+
daily_payment * reimbursement_multiplier * attending_days_per_month
|
|
23
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from policyengine_us.model_api import *
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ma_ccfa_reimbursement_ratio(Variable):
|
|
5
|
+
value_type = float
|
|
6
|
+
entity = Person
|
|
7
|
+
label = "Massachusetts Child Care Financial Assistance (CCFA) reimbursement ratio"
|
|
8
|
+
reference = "https://www.mass.gov/doc/fiscal-year-2025-child-care-financial-assistance-daily-reimbursement-rates/download"
|
|
9
|
+
definition_period = MONTH
|
|
10
|
+
defined_for = StateCode.MA
|
|
11
|
+
|
|
12
|
+
def formula(person, period, parameters):
|
|
13
|
+
p = parameters(period).gov.states.ma.eec.ccfa.reimbursement_rates
|
|
14
|
+
childcare_hours_per_day = person(
|
|
15
|
+
"childcare_hours_per_day", period.this_year
|
|
16
|
+
)
|
|
17
|
+
return p.amount_ratio.calc(childcare_hours_per_day)
|