policyengine-us 1.408.1__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.

Files changed (94) hide show
  1. policyengine_us/parameters/gov/aca/benchmark_premium_uprating.yaml +23 -0
  2. policyengine_us/parameters/gov/aca/ptc_phase_out_rate.yaml +18 -14
  3. policyengine_us/parameters/gov/aca/state_rating_area_cost.yaml +1 -1
  4. policyengine_us/parameters/gov/states/ma/eec/README.md +1 -0
  5. policyengine_us/parameters/gov/states/ma/eec/ccfa/README.md +1 -0
  6. policyengine_us/parameters/gov/states/ma/eec/ccfa/activity_requirements/weekly_hours.yaml +11 -0
  7. policyengine_us/parameters/gov/states/ma/eec/ccfa/activity_requirements/work_exempt_age.yaml +11 -0
  8. policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/child.yaml +13 -0
  9. policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/disabled_child.yaml +14 -0
  10. policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/infant.yaml +11 -0
  11. policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/school_age.yaml +11 -0
  12. policyengine_us/parameters/gov/states/ma/eec/ccfa/age_threshold/toddler.yaml +11 -0
  13. policyengine_us/parameters/gov/states/ma/eec/ccfa/assets/limit.yaml +11 -0
  14. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/fee_percentages.yaml +69 -0
  15. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/income_ratio_increments.yaml +39 -0
  16. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/fee_level/maximum_level.yaml +11 -0
  17. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/additional_child.yaml +11 -0
  18. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/first_child.yaml +11 -0
  19. policyengine_us/parameters/gov/states/ma/eec/ccfa/copay/ratio/second_child.yaml +11 -0
  20. policyengine_us/parameters/gov/states/ma/eec/ccfa/income/countable_income/sources.yaml +30 -0
  21. policyengine_us/parameters/gov/states/ma/eec/ccfa/income/smi_rate/new_applicants.yaml +15 -0
  22. policyengine_us/parameters/gov/states/ma/eec/ccfa/income/smi_rate/redetermination.yaml +12 -0
  23. policyengine_us/parameters/gov/states/ma/eec/ccfa/qualified_immigration_statuses.yaml +19 -0
  24. policyengine_us/parameters/gov/states/ma/eec/ccfa/region/metro_and_boston_metro.yaml +15 -0
  25. policyengine_us/parameters/gov/states/ma/eec/ccfa/region/northeast.yaml +16 -0
  26. policyengine_us/parameters/gov/states/ma/eec/ccfa/region/western_central_and_southeast.yaml +21 -0
  27. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/amount_ratio.yaml +23 -0
  28. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/center_based/early_education.yaml +46 -0
  29. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/center_based/school_age.yaml +59 -0
  30. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/age_threshold.yaml +12 -0
  31. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/older.yaml +24 -0
  32. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/family_child_care/younger.yaml +24 -0
  33. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/head_start_partner_and_kindergarten.yaml +55 -0
  34. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/informal_child_care/child_home.yaml +14 -0
  35. policyengine_us/parameters/gov/states/ma/eec/ccfa/reimbursement_rates/informal_child_care/relative_home.yaml +14 -0
  36. policyengine_us/parameters/uprating_extensions.py +9 -0
  37. policyengine_us/tests/policy/baseline/gov/aca/ptc/aca_ptc_phase_out_rate.yaml +1 -1
  38. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_base_copay.yaml +31 -0
  39. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.yaml +104 -0
  40. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/copay/ma_ccsp_copay_level.yaml +44 -0
  41. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.yaml +111 -0
  42. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_asset_eligible.yaml +15 -0
  43. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible.yaml +44 -0
  44. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible_child.yaml +43 -0
  45. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_immigration_status_eligible.yaml +23 -0
  46. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_income_eligible.yaml +42 -0
  47. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/enum_variables/ma_ccfa_child_age_category.yaml +87 -0
  48. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa.yaml +249 -0
  49. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_fpg.yaml +26 -0
  50. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_maximum_benefit_amount.yaml +209 -0
  51. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/ma_ccfa_region.yaml +23 -0
  52. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_early_education_reimbursement.yaml +10 -0
  53. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_school_age_reimbursement.yaml +11 -0
  54. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_family_child_care_reimbursement.yaml +10 -0
  55. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_head_start_partner_and_kindergarten_reimbursement.yaml +10 -0
  56. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_informal_child_care_reimbursement.yaml +10 -0
  57. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_maximum_reimbursement.yaml +27 -0
  58. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_reimbursement_ratio.yaml +31 -0
  59. policyengine_us/tests/policy/baseline/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_uncapped_daily_payment.yaml +8 -0
  60. policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_base_copay.py +27 -0
  61. policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_copay_level.py +30 -0
  62. policyengine_us/variables/gov/states/ma/eec/ccfa/copay/ma_ccfa_total_copay.py +35 -0
  63. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_activity_eligible.py +43 -0
  64. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_asset_eligible.py +15 -0
  65. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible.py +34 -0
  66. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_eligible_child.py +23 -0
  67. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_immigration_status_eligible.py +19 -0
  68. policyengine_us/variables/gov/states/ma/eec/ccfa/eligibility/ma_ccfa_income_eligible.py +27 -0
  69. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa.py +25 -0
  70. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_care_provider_type.py +22 -0
  71. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_child_age_category.py +45 -0
  72. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_countable_income.py +15 -0
  73. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_enrolled.py +9 -0
  74. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_fpg.py +27 -0
  75. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_is_in_relatives_home_care.py +9 -0
  76. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_maximum_benefit_amount.py +19 -0
  77. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_region.py +45 -0
  78. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_ccfa_schedule_type.py +21 -0
  79. policyengine_us/variables/gov/states/ma/eec/ccfa/ma_child_care_subsidies.py +11 -0
  80. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_early_education_reimbursement.py +19 -0
  81. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_center_based_school_age_reimbursement.py +20 -0
  82. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_family_child_care_reimbursement.py +21 -0
  83. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_head_start_partner_and_kindergarten_reimbursement.py +17 -0
  84. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_informal_child_care_reimbursement.py +20 -0
  85. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_maximum_reimbursement.py +23 -0
  86. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_reimbursement_ratio.py +17 -0
  87. policyengine_us/variables/gov/states/ma/eec/ccfa/reimbursement/ma_ccfa_uncapped_daily_payment.py +66 -0
  88. policyengine_us/variables/household/expense/childcare/childcare_attending_days_per_month.py +9 -0
  89. policyengine_us/variables/household/expense/childcare/childcare_expenses.py +1 -1
  90. {policyengine_us-1.408.1.dist-info → policyengine_us-1.410.0.dist-info}/METADATA +1 -1
  91. {policyengine_us-1.408.1.dist-info → policyengine_us-1.410.0.dist-info}/RECORD +94 -10
  92. {policyengine_us-1.408.1.dist-info → policyengine_us-1.410.0.dist-info}/WHEEL +0 -0
  93. {policyengine_us-1.408.1.dist-info → policyengine_us-1.410.0.dist-info}/entry_points.txt +0 -0
  94. {policyengine_us-1.408.1.dist-info → policyengine_us-1.410.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,8 @@
1
+ - name: Case 1.
2
+ period: 2024-01
3
+ input:
4
+ ma_ccfa_center_based_early_education_reimbursement: 105
5
+ ma_ccfa_care_provider_type: CENTER_BASED_CARE_EARLY_EDUCATION
6
+ state_code: MA
7
+ output:
8
+ ma_ccfa_uncapped_daily_payment: 105
@@ -0,0 +1,27 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class ma_ccfa_base_copay(Variable):
5
+ value_type = float
6
+ entity = SPMUnit
7
+ unit = USD
8
+ label = "Massachusetts Child Care Financial Assistance (CCFA) parent base 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
+ p = parameters(period).gov.states.ma.eec.ccfa.copay.fee_level
15
+
16
+ # Step 1: Get the family's copay level
17
+ copay_level = spm_unit("ma_ccfa_copay_level", period)
18
+
19
+ # Step 2: Get the fee percentage for that level
20
+ fee_percentage = p.fee_percentages[copay_level]
21
+
22
+ # Step 3: Calculate fee on income above poverty
23
+ income = spm_unit("ma_ccfa_countable_income", period)
24
+ fpg = spm_unit("ma_ccfa_fpg", period)
25
+ income_above_poverty_level = max_(income - fpg, 0)
26
+
27
+ return income_above_poverty_level * fee_percentage
@@ -0,0 +1,30 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class ma_ccfa_copay_level(Variable):
5
+ value_type = int
6
+ entity = SPMUnit
7
+ label = "Massachusetts CCSP copay level"
8
+ definition_period = MONTH
9
+ defined_for = StateCode.MA
10
+ reference = "https://www.mass.gov/doc/parent-fee-chart-fy2025/download"
11
+
12
+ def formula(spm_unit, period, parameters):
13
+ p = parameters(period).gov.states.ma.eec.ccfa.copay.fee_level
14
+ income = spm_unit("ma_ccfa_countable_income", period)
15
+ family_size = spm_unit("spm_unit_size", period)
16
+ capped_size = np.clip(family_size, 2, 12)
17
+ fpg = spm_unit("ma_ccfa_fpg", period)
18
+
19
+ # Calculate income as ratio of FPG
20
+ income_ratio = income / fpg
21
+
22
+ # Get the increment for this family size
23
+ ratio_increment = p.income_ratio_increments[capped_size]
24
+
25
+ # Calculate how many increments above 100% FPG the income is.
26
+ levels_above_fpg = max_(0, income_ratio - 1) / ratio_increment
27
+
28
+ fee_level = 1 + np.ceil(levels_above_fpg)
29
+
30
+ return min_(fee_level, p.maximum_level)
@@ -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
@@ -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)