diff --git a/changelog.d/ak-ccap-perf.changed.md b/changelog.d/ak-ccap-perf.changed.md new file mode 100644 index 00000000000..85fb0372771 --- /dev/null +++ b/changelog.d/ak-ccap-perf.changed.md @@ -0,0 +1 @@ +Replaced the full US County enum (3,175 values) with a 29-value AKCCAPRateRegion enum for Alaska CCAP rate-region lookups, cutting the AK CCAP test suite from ~10 minutes to ~12 seconds. diff --git a/changelog.d/ak-ccap.added.md b/changelog.d/ak-ccap.added.md new file mode 100644 index 00000000000..1b8e352cfd0 --- /dev/null +++ b/changelog.d/ak-ccap.added.md @@ -0,0 +1 @@ +Implemented the Alaska Child Care Assistance Program (CCAP) for PASS II (post-ATAP transitional) and PASS III (general low-income); PASS I (ATAP-bundled) and PASS IV (OCS protective services) not modeled. diff --git a/policyengine_us/parameters/gov/hhs/ccdf/child_care_subsidy_programs.yaml b/policyengine_us/parameters/gov/hhs/ccdf/child_care_subsidy_programs.yaml index 89dc3c0bef2..ed0f0a42c7d 100644 --- a/policyengine_us/parameters/gov/hhs/ccdf/child_care_subsidy_programs.yaml +++ b/policyengine_us/parameters/gov/hhs/ccdf/child_care_subsidy_programs.yaml @@ -1,6 +1,7 @@ description: The federal government counts these state programs as child care subsidies. values: 2021-01-01: + - ak_child_care_subsidies # Alaska Child Care Assistance Program (PASS) - ca_child_care_subsidies # California Child Care - co_child_care_subsidies # Colorado Child Care Assistance Program - ct_child_care_subsidies # Connecticut Care 4 Kids diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_group/months.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_group/months.yaml new file mode 100644 index 00000000000..3cefc6c816b --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_group/months.yaml @@ -0,0 +1,28 @@ +description: Alaska sets these age group boundaries in months under the Child Care Assistance Program. +metadata: + type: single_amount + threshold_unit: month + amount_unit: /1 + period: year + label: Alaska CCAP age group by age in months + reference: + - title: Child Care Assistance Program Rate Schedule (Revised December 1, 2021), Age Groups + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1 + +brackets: + - threshold: + 2022-01-01: 0 + amount: + 2022-01-01: 0 + - threshold: + 2022-01-01: 13 + amount: + 2022-01-01: 1 + - threshold: + 2022-01-01: 36 + amount: + 2022-01-01: 2 + - threshold: + 2022-01-01: 60 + amount: + 2022-01-01: 3 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/adult.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/adult.yaml new file mode 100644 index 00000000000..a0add956533 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/adult.yaml @@ -0,0 +1,13 @@ +description: Alaska counts earned income only from people at or above this age under the Child Care Assistance Program. +values: + 2022-01-01: 18 + +metadata: + unit: year + period: year + label: Alaska CCAP adult earned income age threshold + reference: + - title: Alaska CCAP Policies and Procedures Manual §4080-1 Eligible PASS II and PASS III Family Income + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203 + - title: AS 25.20.010 — Age of majority + href: https://www.akleg.gov/basis/statutes.asp#25.20.010 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/child.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/child.yaml new file mode 100644 index 00000000000..786b68de80c --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/age_threshold/child.yaml @@ -0,0 +1,13 @@ +description: Alaska limits the Child Care Assistance Program to children younger than this age. +values: + 2022-01-01: 13 + +metadata: + unit: year + period: year + label: Alaska CCAP child age threshold + reference: + - title: 7 AAC 41.350(a)(1) — Eligible child (Alaska Administrative Code) + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=910 + - title: Alaska CCAP Policies and Procedures Manual §4070-2 Eligible Child + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/copay/sliding_scale.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/copay/sliding_scale.yaml new file mode 100644 index 00000000000..415ac058dbe --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/copay/sliding_scale.yaml @@ -0,0 +1,54 @@ +description: Alaska sets this share of monthly family income as the family copay by State Median Income band under the Child Care Assistance Program. +metadata: + type: single_amount + threshold_unit: /1 + amount_unit: /1 + period: year + label: Alaska CCAP copay as share of income by SMI band + reference: + - title: Family Income and Contribution Schedule (Revised February 21, 2022) + href: https://health.alaska.gov/media/okdlx2xm/alaska-fics.pdf#page=1 + - title: Alaska CCAP Policies and Procedures Manual §4080-1 Income + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203 + +brackets: + - threshold: + 2022-01-01: 0 + amount: + 2022-01-01: 0 + - threshold: + 2022-01-01: 0.01 + amount: + 2022-01-01: 0.01 + - threshold: + 2022-01-01: 0.09 + amount: + 2022-01-01: 0.02 + - threshold: + 2022-01-01: 0.18 + amount: + 2022-01-01: 0.03 + - threshold: + 2022-01-01: 0.26 + amount: + 2022-01-01: 0.04 + - threshold: + 2022-01-01: 0.35 + amount: + 2022-01-01: 0.05 + - threshold: + 2022-01-01: 0.43 + amount: + 2022-01-01: 0.06 + - threshold: + 2022-01-01: 0.52 + amount: + 2022-01-01: 0.07 + - threshold: + 2022-01-01: 0.61 + amount: + 2022-01-01: 0.08 + - threshold: + 2022-01-01: 0.73 + amount: + 2022-01-01: 0.09 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/earned_sources.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/earned_sources.yaml new file mode 100644 index 00000000000..6cd3eaa0c08 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/earned_sources.yaml @@ -0,0 +1,15 @@ +description: Alaska uses these earned income sources for countable income under the Child Care Assistance Program. +values: + 2022-01-01: + - employment_income + - self_employment_income + +metadata: + unit: list + period: year + label: Alaska CCAP countable earned income sources + reference: + - title: Alaska CCAP Policies and Procedures Manual §4080-1 Eligible PASS II and PASS III Family Income + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203 + - title: 7 AAC 41.335 Family income and contribution schedule (Alaska Administrative Code) + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/unearned_sources.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/unearned_sources.yaml new file mode 100644 index 00000000000..f9e42af5ebf --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/countable_income/unearned_sources.yaml @@ -0,0 +1,32 @@ +# Note: We don't include TANF (Manual §4080-3 ¶6.i) at the moment to avoid a +# circular dependency — `ak_atap` depends on `childcare_expenses` (via its +# childcare deduction), which depends on `ak_ccap`. +# We also don't include adoption assistance (Manual §4080-3 ¶6.c) or foster +# care payments (Manual §4080-3 ¶6.d) at the moment because we don't track +# those income types as variables. +description: Alaska uses these unearned income sources for countable income under the Child Care Assistance Program. +values: + 2022-01-01: + - child_support_received + - alimony_income + - social_security + - ssi + - unemployment_compensation + - veterans_benefits + - rental_income + - pension_income + - workers_compensation + - interest_income + - dividend_income + - capital_gains + - strike_benefits + +metadata: + unit: list + period: year + label: Alaska CCAP countable unearned income sources + reference: + - title: Alaska CCAP Policies and Procedures Manual §4080-3 Unearned Income + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=231 + - title: 7 AAC 41.335 Family income and contribution schedule (Alaska Administrative Code) + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/smi_rate.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/smi_rate.yaml new file mode 100644 index 00000000000..d691a881dd3 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/income/smi_rate.yaml @@ -0,0 +1,17 @@ +description: Alaska limits countable income to this share of the State Median Income under the Child Care Assistance Program. +values: + 2022-01-01: 0.85 + +metadata: + unit: /1 + period: year + label: Alaska CCAP income limit as share of State Median Income + reference: + - title: 7 AAC 41.335 Family income and contribution schedule (Alaska Administrative Code) + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907 + - title: Alaska CCAP Policies and Procedures Manual §4080-1 Income + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203 + - title: Family Income and Contribution Schedule (Revised February 21, 2022) + href: https://health.alaska.gov/media/okdlx2xm/alaska-fics.pdf#page=1 + - title: Alaska CCAP Policies and Procedures Manual §4070-2 Eligible Child + href: https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/approved_relative_in_home.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/approved_relative_in_home.yaml new file mode 100644 index 00000000000..4617ec79c1c --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/approved_relative_in_home.yaml @@ -0,0 +1,1067 @@ +description: Alaska sets these Child Care Assistance Program maximum reimbursement rates for approved relative and in-home care providers. +metadata: + unit: currency-USD + period: month + label: Alaska CCAP approved relative in home maximum provider reimbursement rate + breakdown: + - ak_ccap_care_schedule + - ak_ccap_rate_region + - ak_ccap_age_group + reference: + - title: Alaska CCAP Provider Rate Schedule, pp. 1-4 (Revised December 1, 2021) — Approved Relative and In-Home + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1 + - title: Alaska CCAP Provider Rate Schedule, p. 2 (Revised December 1, 2021) — Approved Relative and In-Home + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=2 + - title: Alaska CCAP Provider Rate Schedule, p. 3 (Revised December 1, 2021) — Approved Relative and In-Home + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=3 + - title: Alaska CCAP Provider Rate Schedule, p. 4 (Revised December 1, 2021) — Approved Relative and In-Home + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=4 + +FT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 503 + TODDLER: + 2021-12-01: 500 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 503 + TODDLER: + 2021-12-01: 500 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 654 + TODDLER: + 2021-12-01: 650 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 654 + TODDLER: + 2021-12-01: 650 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 654 + TODDLER: + 2021-12-01: 650 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 503 + TODDLER: + 2021-12-01: 500 + PRESCHOOL: + 2021-12-01: 500 + SCHOOL_AGE: + 2021-12-01: 500 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 673 + TODDLER: + 2021-12-01: 608 + PRESCHOOL: + 2021-12-01: 575 + SCHOOL_AGE: + 2021-12-01: 575 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 523 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 450 + SCHOOL_AGE: + 2021-12-01: 450 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 521 + TODDLER: + 2021-12-01: 492 + PRESCHOOL: + 2021-12-01: 440 + SCHOOL_AGE: + 2021-12-01: 430 +PT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 314 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 293 + SCHOOL_AGE: + 2021-12-01: 293 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 314 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 293 + SCHOOL_AGE: + 2021-12-01: 293 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 363 + TODDLER: + 2021-12-01: 405 + PRESCHOOL: + 2021-12-01: 300 + SCHOOL_AGE: + 2021-12-01: 300 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 363 + TODDLER: + 2021-12-01: 405 + PRESCHOOL: + 2021-12-01: 300 + SCHOOL_AGE: + 2021-12-01: 300 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 363 + TODDLER: + 2021-12-01: 405 + PRESCHOOL: + 2021-12-01: 300 + SCHOOL_AGE: + 2021-12-01: 300 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 314 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 293 + SCHOOL_AGE: + 2021-12-01: 293 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 392 + TODDLER: + 2021-12-01: 439 + PRESCHOOL: + 2021-12-01: 334 + SCHOOL_AGE: + 2021-12-01: 334 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 365 + PRESCHOOL: + 2021-12-01: 275 + SCHOOL_AGE: + 2021-12-01: 275 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 322 + TODDLER: + 2021-12-01: 359 + PRESCHOOL: + 2021-12-01: 264 + SCHOOL_AGE: + 2021-12-01: 258 +FT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 39 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 39 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 39 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 30 + SCHOOL_AGE: + 2021-12-01: 30 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 35 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 31 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 26 +PT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 22 + TODDLER: + 2021-12-01: 24 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 22 + TODDLER: + 2021-12-01: 24 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 22 + TODDLER: + 2021-12-01: 24 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 18 + SCHOOL_AGE: + 2021-12-01: 18 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 23 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 20 + SCHOOL_AGE: + 2021-12-01: 20 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 17 + SCHOOL_AGE: + 2021-12-01: 17 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 19 + TODDLER: + 2021-12-01: 22 + PRESCHOOL: + 2021-12-01: 16 + SCHOOL_AGE: + 2021-12-01: 15 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_center.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_center.yaml new file mode 100644 index 00000000000..c2ea120c286 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_center.yaml @@ -0,0 +1,1067 @@ +description: Alaska sets these Child Care Assistance Program maximum reimbursement rates for licensed and military child care centers. +metadata: + unit: currency-USD + period: month + label: Alaska CCAP licensed center maximum provider reimbursement rate + breakdown: + - ak_ccap_care_schedule + - ak_ccap_rate_region + - ak_ccap_age_group + reference: + - title: Alaska CCAP Provider Rate Schedule, pp. 1-4 (Revised December 1, 2021) — Licensed and Military Centers + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1 + - title: Alaska CCAP Provider Rate Schedule, p. 2 (Revised December 1, 2021) — Licensed and Military Centers + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=2 + - title: Alaska CCAP Provider Rate Schedule, p. 3 (Revised December 1, 2021) — Licensed and Military Centers + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=3 + - title: Alaska CCAP Provider Rate Schedule, p. 4 (Revised December 1, 2021) — Licensed and Military Centers + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=4 + +FT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 1_135 + TODDLER: + 2021-12-01: 1_148 + PRESCHOOL: + 2021-12-01: 1_019 + SCHOOL_AGE: + 2021-12-01: 884 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 975 + SCHOOL_AGE: + 2021-12-01: 914 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 1_342 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_205 + TODDLER: + 2021-12-01: 1_114 + PRESCHOOL: + 2021-12-01: 1_071 + SCHOOL_AGE: + 2021-12-01: 1_002 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 993 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 750 + SCHOOL_AGE: + 2021-12-01: 758 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 840 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 650 + SCHOOL_AGE: + 2021-12-01: 575 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_000 + TODDLER: + 2021-12-01: 975 + PRESCHOOL: + 2021-12-01: 725 + SCHOOL_AGE: + 2021-12-01: 674 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 805 + TODDLER: + 2021-12-01: 760 + PRESCHOOL: + 2021-12-01: 706 + SCHOOL_AGE: + 2021-12-01: 702 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_073 + TODDLER: + 2021-12-01: 995 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 1_331 + TODDLER: + 2021-12-01: 1_331 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 1_073 + TODDLER: + 2021-12-01: 995 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 980 + SCHOOL_AGE: + 2021-12-01: 1_002 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_210 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 980 + SCHOOL_AGE: + 2021-12-01: 1_002 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_320 + TODDLER: + 2021-12-01: 1_182 + PRESCHOOL: + 2021-12-01: 945 + SCHOOL_AGE: + 2021-12-01: 650 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_000 + TODDLER: + 2021-12-01: 975 + PRESCHOOL: + 2021-12-01: 750 + SCHOOL_AGE: + 2021-12-01: 827 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 +PT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 660 + TODDLER: + 2021-12-01: 717 + PRESCHOOL: + 2021-12-01: 574 + SCHOOL_AGE: + 2021-12-01: 450 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 600 + PRESCHOOL: + 2021-12-01: 702 + SCHOOL_AGE: + 2021-12-01: 425 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 750 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 468 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 752 + TODDLER: + 2021-12-01: 666 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 475 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 649 + TODDLER: + 2021-12-01: 707 + PRESCHOOL: + 2021-12-01: 550 + SCHOOL_AGE: + 2021-12-01: 542 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 494 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 379 + SCHOOL_AGE: + 2021-12-01: 350 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 600 + TODDLER: + 2021-12-01: 437 + PRESCHOOL: + 2021-12-01: 589 + SCHOOL_AGE: + 2021-12-01: 450 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 500 + TODDLER: + 2021-12-01: 477 + PRESCHOOL: + 2021-12-01: 445 + SCHOOL_AGE: + 2021-12-01: 438 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 562 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 799 + TODDLER: + 2021-12-01: 799 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 562 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 457 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 483 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 750 + TODDLER: + 2021-12-01: 820 + PRESCHOOL: + 2021-12-01: 375 + SCHOOL_AGE: + 2021-12-01: 375 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 600 + TODDLER: + 2021-12-01: 567 + PRESCHOOL: + 2021-12-01: 550 + SCHOOL_AGE: + 2021-12-01: 522 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 +FT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 69 + TODDLER: + 2021-12-01: 70 + PRESCHOOL: + 2021-12-01: 62 + SCHOOL_AGE: + 2021-12-01: 54 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 55 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 81 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 68 + PRESCHOOL: + 2021-12-01: 65 + SCHOOL_AGE: + 2021-12-01: 61 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 60 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 46 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 51 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 39 + SCHOOL_AGE: + 2021-12-01: 35 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 61 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 44 + SCHOOL_AGE: + 2021-12-01: 41 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 49 + TODDLER: + 2021-12-01: 46 + PRESCHOOL: + 2021-12-01: 43 + SCHOOL_AGE: + 2021-12-01: 43 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 65 + TODDLER: + 2021-12-01: 60 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 81 + TODDLER: + 2021-12-01: 81 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 65 + TODDLER: + 2021-12-01: 60 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 61 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 61 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 80 + TODDLER: + 2021-12-01: 72 + PRESCHOOL: + 2021-12-01: 57 + SCHOOL_AGE: + 2021-12-01: 39 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 61 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 50 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 +PT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 40 + TODDLER: + 2021-12-01: 43 + PRESCHOOL: + 2021-12-01: 35 + SCHOOL_AGE: + 2021-12-01: 27 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 43 + SCHOOL_AGE: + 2021-12-01: 26 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 45 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 28 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 46 + TODDLER: + 2021-12-01: 40 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 29 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 43 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 33 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 23 + SCHOOL_AGE: + 2021-12-01: 21 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 36 + SCHOOL_AGE: + 2021-12-01: 27 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 29 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 31 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 48 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 31 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 31 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 28 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 29 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 45 + TODDLER: + 2021-12-01: 50 + PRESCHOOL: + 2021-12-01: 23 + SCHOOL_AGE: + 2021-12-01: 23 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 32 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_group_home.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_group_home.yaml new file mode 100644 index 00000000000..2242ab0d2aa --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_group_home.yaml @@ -0,0 +1,1067 @@ +description: Alaska sets these Child Care Assistance Program maximum reimbursement rates for licensed group home providers. +metadata: + unit: currency-USD + period: month + label: Alaska CCAP licensed group home maximum provider reimbursement rate + breakdown: + - ak_ccap_care_schedule + - ak_ccap_rate_region + - ak_ccap_age_group + reference: + - title: Alaska CCAP Provider Rate Schedule, pp. 1-4 (Revised December 1, 2021) — Licensed Group Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1 + - title: Alaska CCAP Provider Rate Schedule, p. 2 (Revised December 1, 2021) — Licensed Group Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=2 + - title: Alaska CCAP Provider Rate Schedule, p. 3 (Revised December 1, 2021) — Licensed Group Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=3 + - title: Alaska CCAP Provider Rate Schedule, p. 4 (Revised December 1, 2021) — Licensed Group Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=4 + +FT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 0 + TODDLER: + 2021-12-01: 0 + PRESCHOOL: + 2021-12-01: 0 + SCHOOL_AGE: + 2021-12-01: 0 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 975 + SCHOOL_AGE: + 2021-12-01: 914 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 1_342 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_205 + TODDLER: + 2021-12-01: 1_114 + PRESCHOOL: + 2021-12-01: 1_071 + SCHOOL_AGE: + 2021-12-01: 1_002 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 993 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 750 + SCHOOL_AGE: + 2021-12-01: 758 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 840 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 650 + SCHOOL_AGE: + 2021-12-01: 575 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_000 + TODDLER: + 2021-12-01: 975 + PRESCHOOL: + 2021-12-01: 725 + SCHOOL_AGE: + 2021-12-01: 674 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 805 + TODDLER: + 2021-12-01: 760 + PRESCHOOL: + 2021-12-01: 706 + SCHOOL_AGE: + 2021-12-01: 702 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_073 + TODDLER: + 2021-12-01: 995 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 1_331 + TODDLER: + 2021-12-01: 1_331 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 1_073 + TODDLER: + 2021-12-01: 995 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 1_202 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 980 + SCHOOL_AGE: + 2021-12-01: 1_002 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_210 + TODDLER: + 2021-12-01: 1_100 + PRESCHOOL: + 2021-12-01: 980 + SCHOOL_AGE: + 2021-12-01: 1_002 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_320 + TODDLER: + 2021-12-01: 1_182 + PRESCHOOL: + 2021-12-01: 945 + SCHOOL_AGE: + 2021-12-01: 650 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_000 + TODDLER: + 2021-12-01: 975 + PRESCHOOL: + 2021-12-01: 750 + SCHOOL_AGE: + 2021-12-01: 827 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_208 + TODDLER: + 2021-12-01: 1_107 + PRESCHOOL: + 2021-12-01: 886 + SCHOOL_AGE: + 2021-12-01: 914 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 1_162 + TODDLER: + 2021-12-01: 1_004 + PRESCHOOL: + 2021-12-01: 884 + SCHOOL_AGE: + 2021-12-01: 1_002 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 1_095 + TODDLER: + 2021-12-01: 976 + PRESCHOOL: + 2021-12-01: 900 + SCHOOL_AGE: + 2021-12-01: 750 +PT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 0 + TODDLER: + 2021-12-01: 0 + PRESCHOOL: + 2021-12-01: 0 + SCHOOL_AGE: + 2021-12-01: 0 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 600 + PRESCHOOL: + 2021-12-01: 702 + SCHOOL_AGE: + 2021-12-01: 425 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 750 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 468 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 752 + TODDLER: + 2021-12-01: 666 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 475 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 649 + TODDLER: + 2021-12-01: 707 + PRESCHOOL: + 2021-12-01: 550 + SCHOOL_AGE: + 2021-12-01: 542 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 494 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 379 + SCHOOL_AGE: + 2021-12-01: 350 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 600 + TODDLER: + 2021-12-01: 437 + PRESCHOOL: + 2021-12-01: 589 + SCHOOL_AGE: + 2021-12-01: 450 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 500 + TODDLER: + 2021-12-01: 477 + PRESCHOOL: + 2021-12-01: 445 + SCHOOL_AGE: + 2021-12-01: 438 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 562 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 799 + TODDLER: + 2021-12-01: 799 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 562 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 519 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 457 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 750 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 483 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 750 + TODDLER: + 2021-12-01: 820 + PRESCHOOL: + 2021-12-01: 375 + SCHOOL_AGE: + 2021-12-01: 375 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 600 + TODDLER: + 2021-12-01: 567 + PRESCHOOL: + 2021-12-01: 550 + SCHOOL_AGE: + 2021-12-01: 522 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 591 + TODDLER: + 2021-12-01: 551 + PRESCHOOL: + 2021-12-01: 537 + SCHOOL_AGE: + 2021-12-01: 450 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 641 + TODDLER: + 2021-12-01: 616 + PRESCHOOL: + 2021-12-01: 536 + SCHOOL_AGE: + 2021-12-01: 375 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 650 + TODDLER: + 2021-12-01: 625 + PRESCHOOL: + 2021-12-01: 676 + SCHOOL_AGE: + 2021-12-01: 488 +FT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 72 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 0 + TODDLER: + 2021-12-01: 0 + PRESCHOOL: + 2021-12-01: 0 + SCHOOL_AGE: + 2021-12-01: 0 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 55 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 81 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 68 + PRESCHOOL: + 2021-12-01: 65 + SCHOOL_AGE: + 2021-12-01: 61 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 60 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 46 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 51 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 39 + SCHOOL_AGE: + 2021-12-01: 35 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 61 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 44 + SCHOOL_AGE: + 2021-12-01: 41 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 49 + TODDLER: + 2021-12-01: 46 + PRESCHOOL: + 2021-12-01: 43 + SCHOOL_AGE: + 2021-12-01: 43 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 65 + TODDLER: + 2021-12-01: 60 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 81 + TODDLER: + 2021-12-01: 81 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 65 + TODDLER: + 2021-12-01: 60 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 73 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 61 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 59 + SCHOOL_AGE: + 2021-12-01: 61 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 80 + TODDLER: + 2021-12-01: 72 + PRESCHOOL: + 2021-12-01: 57 + SCHOOL_AGE: + 2021-12-01: 39 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 61 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 50 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 73 + TODDLER: + 2021-12-01: 67 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 55 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 70 + TODDLER: + 2021-12-01: 61 + PRESCHOOL: + 2021-12-01: 54 + SCHOOL_AGE: + 2021-12-01: 61 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 66 + TODDLER: + 2021-12-01: 59 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 45 +PT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 0 + TODDLER: + 2021-12-01: 0 + PRESCHOOL: + 2021-12-01: 0 + SCHOOL_AGE: + 2021-12-01: 0 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 36 + PRESCHOOL: + 2021-12-01: 43 + SCHOOL_AGE: + 2021-12-01: 26 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 45 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 28 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 46 + TODDLER: + 2021-12-01: 40 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 29 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 43 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 33 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 23 + SCHOOL_AGE: + 2021-12-01: 21 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 26 + PRESCHOOL: + 2021-12-01: 36 + SCHOOL_AGE: + 2021-12-01: 27 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 29 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 27 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 31 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 48 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 22 + SCHOOL_AGE: + 2021-12-01: 31 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 31 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 28 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 29 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 45 + TODDLER: + 2021-12-01: 50 + PRESCHOOL: + 2021-12-01: 23 + SCHOOL_AGE: + 2021-12-01: 23 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 34 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 32 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 36 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 27 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 37 + PRESCHOOL: + 2021-12-01: 32 + SCHOOL_AGE: + 2021-12-01: 23 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 39 + TODDLER: + 2021-12-01: 38 + PRESCHOOL: + 2021-12-01: 41 + SCHOOL_AGE: + 2021-12-01: 30 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_home.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_home.yaml new file mode 100644 index 00000000000..7b182e95150 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/rates/licensed_home.yaml @@ -0,0 +1,1067 @@ +description: Alaska sets these Child Care Assistance Program maximum reimbursement rates for licensed and military family home providers. +metadata: + unit: currency-USD + period: month + label: Alaska CCAP licensed home maximum provider reimbursement rate + breakdown: + - ak_ccap_care_schedule + - ak_ccap_rate_region + - ak_ccap_age_group + reference: + - title: Alaska CCAP Provider Rate Schedule, pp. 1-4 (Revised December 1, 2021) — Licensed and Military Family Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1 + - title: Alaska CCAP Provider Rate Schedule, p. 2 (Revised December 1, 2021) — Licensed and Military Family Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=2 + - title: Alaska CCAP Provider Rate Schedule, p. 3 (Revised December 1, 2021) — Licensed and Military Family Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=3 + - title: Alaska CCAP Provider Rate Schedule, p. 4 (Revised December 1, 2021) — Licensed and Military Family Homes + href: https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=4 + +FT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 700 + SCHOOL_AGE: + 2021-12-01: 650 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 918 + PRESCHOOL: + 2021-12-01: 770 + SCHOOL_AGE: + 2021-12-01: 600 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 976 + TODDLER: + 2021-12-01: 918 + PRESCHOOL: + 2021-12-01: 770 + SCHOOL_AGE: + 2021-12-01: 728 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 905 + SCHOOL_AGE: + 2021-12-01: 652 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 1_000 + SCHOOL_AGE: + 2021-12-01: 652 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 834 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 690 + SCHOOL_AGE: + 2021-12-01: 624 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 819 + SCHOOL_AGE: + 2021-12-01: 743 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 744 + PRESCHOOL: + 2021-12-01: 697 + SCHOOL_AGE: + 2021-12-01: 611 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 873 + TODDLER: + 2021-12-01: 744 + PRESCHOOL: + 2021-12-01: 693 + SCHOOL_AGE: + 2021-12-01: 652 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 838 + SCHOOL_AGE: + 2021-12-01: 736 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 838 + SCHOOL_AGE: + 2021-12-01: 736 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 838 + SCHOOL_AGE: + 2021-12-01: 736 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 1_118 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 918 + PRESCHOOL: + 2021-12-01: 770 + SCHOOL_AGE: + 2021-12-01: 600 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 886 + TODDLER: + 2021-12-01: 744 + PRESCHOOL: + 2021-12-01: 697 + SCHOOL_AGE: + 2021-12-01: 600 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 800 + PRESCHOOL: + 2021-12-01: 776 + SCHOOL_AGE: + 2021-12-01: 776 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 900 + PRESCHOOL: + 2021-12-01: 743 + SCHOOL_AGE: + 2021-12-01: 652 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 900 + TODDLER: + 2021-12-01: 918 + PRESCHOOL: + 2021-12-01: 770 + SCHOOL_AGE: + 2021-12-01: 600 +PT_MONTH: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 575 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 441 + SCHOOL_AGE: + 2021-12-01: 406 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 475 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 462 + SCHOOL_AGE: + 2021-12-01: 353 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 475 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 462 + SCHOOL_AGE: + 2021-12-01: 328 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 473 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 493 + PRESCHOOL: + 2021-12-01: 513 + SCHOOL_AGE: + 2021-12-01: 392 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 552 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 545 + SCHOOL_AGE: + 2021-12-01: 400 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 501 + TODDLER: + 2021-12-01: 480 + PRESCHOOL: + 2021-12-01: 448 + SCHOOL_AGE: + 2021-12-01: 387 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 524 + TODDLER: + 2021-12-01: 402 + PRESCHOOL: + 2021-12-01: 426 + SCHOOL_AGE: + 2021-12-01: 400 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 452 + SCHOOL_AGE: + 2021-12-01: 432 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 452 + SCHOOL_AGE: + 2021-12-01: 432 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 452 + SCHOOL_AGE: + 2021-12-01: 432 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 681 + PRESCHOOL: + 2021-12-01: 750 + SCHOOL_AGE: + 2021-12-01: 590 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 475 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 462 + SCHOOL_AGE: + 2021-12-01: 353 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 501 + TODDLER: + 2021-12-01: 480 + PRESCHOOL: + 2021-12-01: 460 + SCHOOL_AGE: + 2021-12-01: 400 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 516 + PRESCHOOL: + 2021-12-01: 466 + SCHOOL_AGE: + 2021-12-01: 432 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 482 + TODDLER: + 2021-12-01: 530 + PRESCHOOL: + 2021-12-01: 446 + SCHOOL_AGE: + 2021-12-01: 392 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 475 + TODDLER: + 2021-12-01: 550 + PRESCHOOL: + 2021-12-01: 462 + SCHOOL_AGE: + 2021-12-01: 353 +FT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 42 + SCHOOL_AGE: + 2021-12-01: 39 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 56 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 36 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 59 + TODDLER: + 2021-12-01: 56 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 44 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 55 + SCHOOL_AGE: + 2021-12-01: 40 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 61 + SCHOOL_AGE: + 2021-12-01: 40 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 51 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 42 + SCHOOL_AGE: + 2021-12-01: 38 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 50 + SCHOOL_AGE: + 2021-12-01: 45 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 42 + SCHOOL_AGE: + 2021-12-01: 37 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 53 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 42 + SCHOOL_AGE: + 2021-12-01: 40 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 51 + SCHOOL_AGE: + 2021-12-01: 45 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 51 + SCHOOL_AGE: + 2021-12-01: 45 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 51 + SCHOOL_AGE: + 2021-12-01: 45 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 68 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 56 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 36 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 54 + TODDLER: + 2021-12-01: 45 + PRESCHOOL: + 2021-12-01: 42 + SCHOOL_AGE: + 2021-12-01: 36 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 48 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 47 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 55 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 40 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 55 + TODDLER: + 2021-12-01: 56 + PRESCHOOL: + 2021-12-01: 47 + SCHOOL_AGE: + 2021-12-01: 36 +PT_DAY: + ALEUTIANS_EAST_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + ALEUTIANS_WEST_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + ANCHORAGE_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 35 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 25 + BETHEL_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + BRISTOL_BAY_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + DENALI_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 21 + DILLINGHAM_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + FAIRBANKS_NORTH_STAR_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 20 + HAINES_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 29 + HOONAH_ANGOON_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + JUNEAU_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 30 + PRESCHOOL: + 2021-12-01: 31 + SCHOOL_AGE: + 2021-12-01: 24 + KENAI_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 33 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 33 + SCHOOL_AGE: + 2021-12-01: 24 + KETCHIKAN_GATEWAY_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + KODIAK_ISLAND_BOROUGH_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 29 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 23 + LAKE_AND_PENINSULA_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + MATANUSKA_SUSITNA_BOROUGH_AK: + INFANT: + 2021-12-01: 32 + TODDLER: + 2021-12-01: 24 + PRESCHOOL: + 2021-12-01: 26 + SCHOOL_AGE: + 2021-12-01: 24 + NOME_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 26 + NORTH_SLOPE_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 26 + NORTHWEST_ARCTIC_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 26 + PETERSBURG_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + SITKA_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 41 + PRESCHOOL: + 2021-12-01: 45 + SCHOOL_AGE: + 2021-12-01: 36 + SKAGWAY_MUNICIPALITY_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 21 + CHUGACH_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 30 + TODDLER: + 2021-12-01: 29 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 24 + KUSILVAK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 31 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 26 + WRANGELL_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + YAKUTAT_CITY_AND_BOROUGH_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 32 + PRESCHOOL: + 2021-12-01: 27 + SCHOOL_AGE: + 2021-12-01: 24 + YUKON_KOYUKUK_CENSUS_AREA_AK: + INFANT: + 2021-12-01: 29 + TODDLER: + 2021-12-01: 33 + PRESCHOOL: + 2021-12-01: 28 + SCHOOL_AGE: + 2021-12-01: 21 diff --git a/policyengine_us/parameters/gov/states/ak/dpa/ccap/special_needs/supplement_multiplier.yaml b/policyengine_us/parameters/gov/states/ak/dpa/ccap/special_needs/supplement_multiplier.yaml new file mode 100644 index 00000000000..e00c99c11cc --- /dev/null +++ b/policyengine_us/parameters/gov/states/ak/dpa/ccap/special_needs/supplement_multiplier.yaml @@ -0,0 +1,15 @@ +description: Alaska multiplies the authorized provider rate by this multiple to compute the total paid for an Alaska IN! eligible child; one unit covers the base rate and the remainder is the special-needs top-up. +values: + 2022-01-01: 2 + +metadata: + unit: /1 + period: year + label: Alaska CCAP special-needs supplement maximum multiplier + reference: + - title: 7 AAC 41.060(b) Alaska Inclusive Child Care Program (Alaska Administrative Code) + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=858 + - title: 7 AAC 41.060(b) — Maximum special-needs supplement of 100% + href: https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=858 + - title: Alaska Inclusive Child Care Program (Alaska IN!) + href: https://health.alaska.gov/en/services/alaska-inclusive-child-care/ diff --git a/policyengine_us/programs.yaml b/policyengine_us/programs.yaml index 76b5377b5f3..7d6212eec9a 100644 --- a/policyengine_us/programs.yaml +++ b/policyengine_us/programs.yaml @@ -460,8 +460,14 @@ programs: category: Benefits agency: HHS status: partial - coverage: CA, CO, CT, DE, DC, IL, MA, MD, ME, NC, NH, NJ, PA, RI, SC, TX, VA, VT, WV + coverage: AK, CA, CO, CT, DE, DC, IL, MA, MD, ME, NC, NH, NJ, PA, RI, SC, TX, VA, VT, WV state_implementations: + - state: AK + status: complete + name: CCAP + full_name: Alaska Child Care Assistance Program + variable: ak_ccap + notes: Modeled as PASS II/III; PASS I (ATAP-bundled) and PASS IV (OCS protective services) not modeled - state: CA status: complete name: CalWORKs childcare diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_ccap.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_ccap.yaml new file mode 100644 index 00000000000..f9d5d665c2a --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_ccap.yaml @@ -0,0 +1,289 @@ +# ak_ccap: SPMUnit, float (USD), MONTH +# Top-level monthly benefit = max(0, sum(benefit_per_child) - copay). +# Restricted to ak_ccap_eligible families (PASS II or PASS III). + +- name: Case 1, eligible single parent with one preschooler in Anchorage. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + spm_unit_pre_subsidy_childcare_expenses: 14_400 # $1_200/mo, typical AK center + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Family of 2 HHS SMI monthly (2022) = 5_897.30 + # Income ratio = 2_000 / 5_897.30 = 0.339 -> 4% band (>= 0.26, < 0.35) + # copay = 2_000 * 0.04 = 80 + # Anchorage center preschool FT_MONTH = 1_019 + # Expenses $1_200/mo > rate $1_019 (cap doesn't bind) + # Benefit = max(0, min(1_200, 1_019) - 80) = 939 + ak_ccap: 939 + +- name: Case 2, ineligible family above 85% SMI gets zero. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 200_000 + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_eligible: false + ak_ccap: 0 + +- name: Case 3, family in Mat-Su with two children eligible. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent1: + age: 35 + immigration_status: CITIZEN + employment_income: 30_000 # 2_500/mo + parent2: + age: 33 + immigration_status: CITIZEN + weekly_hours_worked: 0 + is_full_time_student: true + child1: + age: 2 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + child2: + age: 8 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent1, parent2, child1, child2] + spm_unit_pre_subsidy_childcare_expenses: 21_600 # $1_800/mo for 2 kids + households: + household: + members: [parent1, parent2, child1, child2] + state_code: AK + county_str: MATANUSKA_SUSITNA_BOROUGH_AK + output: + # Family of 4 monthly SMI = 8_673 + # Income ratio = 2_500 / 8_673 = 0.2882 -> 4% band (>= 0.26, < 0.35) + # copay = 2_500 * 0.04 = 100 + # Mat-Su licensed center FT_MONTH toddler = 760 (child1) + # Mat-Su licensed home FT_MONTH school age = 652 (child2) + # Total per-child = 760 + 652 = 1_412 + # Benefit = 1_412 - 100 = 1_312 + ak_ccap_eligible: true + ak_ccap: 1_312 + +- name: Case 4, age-ineligible only child yields zero benefit. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 40 + immigration_status: CITIZEN + employment_income: 30_000 + teen: + age: 13 # at threshold -> ineligible + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, teen] + households: + household: + members: [parent, teen] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_eligible: false + ak_ccap: 0 + +- name: Case 5, TANF-enrolled family has $0 copay (PASS I rule). + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 28 + immigration_status: CITIZEN + employment_income: 0 + weekly_hours_worked: 30 # activity test + child: + age: 3 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + is_tanf_enrolled: true # ATAP is Alaska's TANF; PASS I waives copay + spm_unit_pre_subsidy_childcare_expenses: 9_600 # $800/mo for preschool home care + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # is_tanf_enrolled=True -> copay waived to 0 per Manual §4040-3 D + # Anchorage licensed_home FT_MONTH preschool = 700 + # Benefit = min(10_000, 700) - 0 = 700 + ak_ccap_copay: 0 + ak_ccap: 700 + +- name: Case 6, negative self-employment income does not inflate benefit. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + # A small AK fishing operation has a bad season — net loss of $30K. + self_employment_income: -30_000 + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + spm_unit_pre_subsidy_childcare_expenses: 12_000 # $1_000/mo, typical AK center cost + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Countable income clipped to 0 by max_() in countable_income; + # copay rate at 0 SMI ratio = 0; copay = 0. + # Benefit = min(1_000, 1_019) - 0 = 1_000 (charged rate caps benefit). + ak_ccap: 1_000 + +- name: Case 7, special-needs child gets supplement when charged rate is high. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child_sn: + age: 4 + is_disabled: true + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 3_500 # high enough to capture supplement + ssi: 0 # focus test on SN supplement, not SSI deeming math + spm_units: + spm_unit: + members: [parent, child_sn] + spm_unit_pre_subsidy_childcare_expenses: 30_000 # $2_500/mo for SN center care + households: + household: + members: [parent, child_sn] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Family of 2 HHS SMI monthly (2022) = $5_897.30 + # Countable income = 2_000/mo (earnings; SSI explicitly 0) + # Ratio = 2_000 / 5_897.30 = 0.339 -> 4% band; copay = 2_000 * 0.04 = 80 + # benefit_per_child = min(3_500, 1_019) + 1_019 = 2_038 (supplement outside cap, mult=2) + # Expenses $2_500/mo > 2_038 (cap doesn't bind); Total = 2_038 - 80 = 1_958 + ak_ccap: 1_958 + +- name: Case 8, non-AK household returns zero (defined_for). + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: WA + county_str: KING_COUNTY_WA + output: + ak_ccap: 0 + +- name: Case 9, mixed-status siblings — only citizen child counts as eligible. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child_citizen: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + child_undocumented: + age: 3 + immigration_status: UNDOCUMENTED + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child_citizen, child_undocumented] + spm_unit_pre_subsidy_childcare_expenses: 14_400 # $1_200/mo for one child in care + households: + household: + members: [parent, child_citizen, child_undocumented] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Only citizen child counts as eligible + ak_ccap_child_eligible: [false, true, false] + ak_ccap_eligible: true + # Anchorage center FT_MONTH preschool = 1_019; family of 3 monthly SMI = 7_285 + # SMI ratio = 2_000 / 7_285 = 0.2745 -> 4% band (>= 0.26, < 0.35); copay = 80 + # Benefit = min(10_000, 1_019) - 80 = 939 + ak_ccap: 939 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.yaml new file mode 100644 index 00000000000..deb24893624 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.yaml @@ -0,0 +1,53 @@ +# ak_child_care_subsidies: SPMUnit, float (USD), YEAR +# Annual aggregator that sums ak_ccap over 12 months. Registers with the +# federal child_care_subsidy_programs list. + +- name: Case 1, AK CCAP recipient gets nonzero annual subsidy. + period: 2022 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + spm_unit_pre_subsidy_childcare_expenses: 14_400 # $1_200/mo, typical AK center + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Monthly ak_ccap = 939 (per ak_ccap.yaml Case 1) + # Annual = 939 * 12 = 11_268 + ak_child_care_subsidies: 11_268 + +- name: Case 2, non-AK family gets zero. + period: 2022 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: TX + output: + ak_child_care_subsidies: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.yaml new file mode 100644 index 00000000000..c276cee043c --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.yaml @@ -0,0 +1,131 @@ +# ak_ccap_copay: SPMUnit, float (USD), MONTH +# Monthly copay = countable_income * copay_rate. +# One copay per family per Manual 4080. + +- name: Case 1, zero income produces zero copay. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_copay: 0 + +- name: Case 2, family of 3 mid-income copay. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 36_000 # 3_000/mo + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + # Family of 3 monthly SMI = 7_285 + # SMI ratio = 3_000 / 7_285 = 0.4118 -> 5% band (>= 0.35, < 0.43) + # copay = 3_000 * 0.05 = 150.00 + ak_ccap_copay: 150.00 + +- name: Case 3, family of 4 in 7% band copay. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 35 + employment_income: 57_600 # 4_800/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + # Family of 4 monthly SMI = 8_673 + # SMI ratio = 4_800 / 8_673 = 0.5534 -> 7% band (>= 0.52, < 0.61) + # copay = 4_800 * 0.07 = 336.00 + ak_ccap_copay: 336.00 + +# --------------------------------------------------------------------------- +# is_disabled toggle: copay depends only on income / family-size SMI, not on +# disability status. The SN supplement (a different variable) is what changes +# when a child is disabled. The pair below pins that invariant. +# --------------------------------------------------------------------------- + +- name: Case 4, family of 3 with non-disabled child has same copay as disabled-child case. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + parent: + age: 30 + employment_income: 36_000 # 3_000/mo + other_parent: + age: 28 + child: + age: 4 + is_disabled: false + spm_units: + spm_unit: + members: [parent, other_parent, child] + households: + household: + members: [parent, other_parent, child] + state_code: AK + output: + # Family of 3 monthly SMI = 7_285 + # ratio = 3_000 / 7_285 = 0.4118 -> 5% band; copay = 3_000 * 0.05 = 150 + ak_ccap_copay: 150.00 + +- name: Case 5, identical family but disabled child has identical copay (SN supplement is separate). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + parent: + age: 30 + employment_income: 36_000 # 3_000/mo + other_parent: + age: 28 + child: + age: 4 + is_disabled: true + spm_units: + spm_unit: + members: [parent, other_parent, child] + households: + household: + members: [parent, other_parent, child] + state_code: AK + output: + # Same income, same family size -> same copay as Case 4. + # The SN supplement (ak_ccap_special_needs_supplement) flows through + # ak_ccap (benefit), not ak_ccap_copay. + ak_ccap_copay: 150.00 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.yaml new file mode 100644 index 00000000000..9301e28ecde --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.yaml @@ -0,0 +1,533 @@ +# ak_ccap_copay_rate: SPMUnit, float (rate), MONTH +# Sliding scale by countable_income / monthly_full_SMI (Manual §4080, FICS). +# Bands (cumulative): +# 0 to 0.01 -> 0% (waived for very low income) +# 0.01 to 0.09 -> 1% +# 0.09 to 0.18 -> 2% +# 0.18 to 0.26 -> 3% +# 0.26 to 0.35 -> 4% +# 0.35 to 0.43 -> 5% +# 0.43 to 0.52 -> 6% +# 0.52 to 0.61 -> 7% +# 0.61 to 0.73 -> 8% +# >= 0.73 -> 9% (cap) +# +# AK FICS monthly 100% SMI: Family of 2 = 5_897; Family of 3 = 7_285; Family of 4 = 8_673. + +- name: Case 1, zero income gets waived 0% copay. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 30 + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AK + output: + # SMI ratio = 0 -> 0% + ak_ccap_copay_rate: 0 + +- name: Case 2, low income lands in 1% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 30 + employment_income: 6_000 # 500/mo + # SMI ratio = 500 / 5_897 = 0.0848 -> 1% band + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_copay_rate: 0.01 + +- name: Case 3, mid income family of 3 lands in 5% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 30 + employment_income: 36_000 # 3_000/mo + # Family of 3 monthly SMI = 7_285 + # ratio = 3_000 / 7_285 = 0.4118 -> 5% band (>= 0.35, < 0.43) + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + ak_ccap_copay_rate: 0.05 + +- name: Case 4, high income family near 85% SMI lands in 9% cap band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 30 + employment_income: 72_000 # 6_000/mo + # Family of 3 monthly SMI = 7_285 + # ratio = 6_000 / 7_285 = 0.8236 -> 9% band (>= 0.73) + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + ak_ccap_copay_rate: 0.09 + +- name: Case 5, family of 4 in 2% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 14_400 # 1_200/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 1_200 / 8_673 = 0.1384 -> 2% band (>= 0.09, < 0.18) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.02 + +- name: Case 6, family of 4 in 7% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 57_600 # 4_800/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 4_800 / 8_673 = 0.5534 -> 7% band (>= 0.52, < 0.61) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.07 + +- name: Case 7, family of 4 in 3% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 21_600 # 1_800/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 1_800 / 8_673 = 0.2076 -> 3% band (>= 0.18, < 0.26) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.03 + +- name: Case 8, family of 4 in 4% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 30_000 # 2_500/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 2_500 / 8_673 = 0.2882 -> 4% band (>= 0.26, < 0.35) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.04 + +- name: Case 9, family of 4 in 6% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 48_000 # 4_000/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 4_000 / 8_673 = 0.4612 -> 6% band (>= 0.43, < 0.52) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.06 + +- name: Case 10, family of 4 in 8% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + employment_income: 68_400 # 5_700/mo + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + # Family of 4 monthly SMI = 8_673 + # ratio = 5_700 / 8_673 = 0.6572 -> 8% band (>= 0.61, < 0.73) + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.08 + +- name: Case 11, family of 4 just below 0.18 boundary lands in 2% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Family of 4 monthly SMI = 8_673; target ratio just below 0.18 + # ratio = 18_732 / 12 / 8_673 = 0.17993 -> 2% band (< 0.18) + employment_income: 18_732 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + # ratio < 0.18 -> 2% band + ak_ccap_copay_rate: 0.02 + +- name: Case 12, family of 4 just above 0.18 boundary lands in 3% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Family of 4 monthly SMI = 8_673 + # ratio = 18_736 / 12 / 8_673 = 0.18001 -> 3% band (>= 0.18) + employment_income: 18_736 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + # ratio >= 0.18 -> 3% band + ak_ccap_copay_rate: 0.03 + +# --------------------------------------------------------------------------- +# At-threshold pinning for each inner copay bracket boundary. The sliding +# scale uses single_amount semantics (numpy.digitize, right=False), so a +# value at-or-above a threshold lands in the upper band. Each case sits +# $0.01/month above the threshold ratio (so the computed ratio is +# unambiguously >= the threshold even with float-precision wiggle) and +# pins the upper-band rate. The "just below" side is already covered by +# Case 11 (just below 0.18 -> 2%) above. +# Family of 4 monthly SMI = 8_673; ratio = countable / 8_673. +# --------------------------------------------------------------------------- + +- name: Case 13, family of 4 just at 0.01 ratio lands in 1% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 86.74 / 8_673 = 0.010001 -> 1% band (>= 0.01) + # Annual = 86.74 * 12 = 1_040.88 + employment_income: 1_040.88 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.01 + +- name: Case 14, family of 4 just at 0.09 ratio lands in 2% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 780.58 / 8_673 = 0.090001 -> 2% band (>= 0.09) + # Annual = 780.58 * 12 = 9_366.96 + employment_income: 9_366.96 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.02 + +- name: Case 15, family of 4 just at 0.26 ratio lands in 4% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 2_254.99 / 8_673 = 0.260001 -> 4% band (>= 0.26) + # Annual = 2_254.99 * 12 = 27_059.88 + employment_income: 27_059.88 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.04 + +- name: Case 16, family of 4 just at 0.35 ratio lands in 5% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 3_035.56 / 8_673 = 0.350001 -> 5% band (>= 0.35) + # Annual = 3_035.56 * 12 = 36_426.72 + employment_income: 36_426.72 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.05 + +- name: Case 17, family of 4 just at 0.43 ratio lands in 6% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 3_729.40 / 8_673 = 0.430001 -> 6% band (>= 0.43) + # Annual = 3_729.40 * 12 = 44_752.80 + employment_income: 44_752.80 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.06 + +- name: Case 18, family of 4 just at 0.52 ratio lands in 7% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 4_509.97 / 8_673 = 0.520001 -> 7% band (>= 0.52) + # Annual = 4_509.97 * 12 = 54_119.64 + employment_income: 54_119.64 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.07 + +- name: Case 19, family of 4 just at 0.61 ratio lands in 8% band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 5_290.54 / 8_673 = 0.610001 -> 8% band (>= 0.61) + # Annual = 5_290.54 * 12 = 63_486.48 + employment_income: 63_486.48 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.08 + +- name: Case 20, family of 4 just at 0.73 ratio lands in 9% cap band. + period: 2022-01 + absolute_error_margin: 0.001 + input: + people: + person1: + age: 35 + # Monthly 6_331.30 / 8_673 = 0.730001 -> 9% band (>= 0.73, cap) + # Annual = 6_331.30 * 12 = 75_975.60 + employment_income: 75_975.60 + person2: + age: 32 + person3: + age: 8 + person4: + age: 5 + spm_units: + spm_unit: + members: [person1, person2, person3, person4] + households: + household: + members: [person1, person2, person3, person4] + state_code: AK + output: + ak_ccap_copay_rate: 0.09 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.yaml new file mode 100644 index 00000000000..bacc6369188 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.yaml @@ -0,0 +1,114 @@ +# ak_ccap_child_age_eligible: Person, bool, MONTH +# Age-only check (no immigration). Child must be under 13. +# 7 AAC 41.060(a) caps the special-needs age limit at the same under-13 +# threshold as the general child eligibility, so disabled children use the +# same age gate. +# Manual Section 4070-2 Eligible Child. + +- name: Case 1, child age 4 is age eligible. + period: 2022-01 + input: + people: + person1: + age: 4 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: true + +- name: Case 2, child age 12 is age eligible. + period: 2022-01 + input: + people: + person1: + age: 12 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: true + +- name: Case 3, child exactly age 13 is not age eligible. + period: 2022-01 + input: + people: + person1: + age: 13 + households: + household: + members: [person1] + state_code: AK + output: + # Manual 4070-2: "younger than 13" -> at age 13 ineligible + ak_ccap_child_age_eligible: false + +- name: Case 4, child age 14 is not age eligible. + period: 2022-01 + input: + people: + person1: + age: 14 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: false + +- name: Case 5, disabled child age 12 is age eligible. + period: 2022-01 + input: + people: + person1: + age: 12 + is_disabled: true + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: true + +- name: Case 6, disabled child age 13 is not age eligible. + period: 2022-01 + input: + people: + person1: + age: 13 + is_disabled: true + households: + household: + members: [person1] + state_code: AK + output: + # Special-needs threshold is also 13 in current regulation + ak_ccap_child_age_eligible: false + +- name: Case 7, adult is not age eligible. + period: 2022-01 + input: + people: + person1: + age: 30 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: false + +- name: Case 8, newborn is age eligible. + period: 2022-01 + input: + people: + person1: + age: 0 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_age_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.yaml new file mode 100644 index 00000000000..c77761c8eb7 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.yaml @@ -0,0 +1,77 @@ +# ak_ccap_child_eligible: Person, bool, MONTH +# Combines: age eligible AND immigration eligible (federal +# is_ccdf_immigration_eligible_child). +# Manual Section 4070-2 Eligible Child. + +- name: Case 1, citizen child age 4 is eligible. + period: 2022-01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_eligible: true + +- name: Case 2, citizen child age 13 is ineligible. + period: 2022-01 + input: + people: + person1: + age: 13 + immigration_status: CITIZEN + households: + household: + members: [person1] + state_code: AK + output: + # Age fails -> overall ineligible + ak_ccap_child_eligible: false + +- name: Case 3, undocumented child age 4 is ineligible. + period: 2022-01 + input: + people: + person1: + age: 4 + immigration_status: UNDOCUMENTED + households: + household: + members: [person1] + state_code: AK + output: + # Federal is_ccdf_immigration_eligible_child blocks undocumented children + ak_ccap_child_eligible: false + +- name: Case 4, disabled citizen child age 12 is eligible. + period: 2022-01 + input: + people: + person1: + age: 12 + is_disabled: true + immigration_status: CITIZEN + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_eligible: true + +- name: Case 5, adult citizen is ineligible. + period: 2022-01 + input: + people: + person1: + age: 30 + immigration_status: CITIZEN + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_child_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.yaml new file mode 100644 index 00000000000..a8cb9081a98 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.yaml @@ -0,0 +1,113 @@ +# ak_ccap_eligible: SPMUnit, bool, MONTH +# True if family meets all eligibility checks: eligible child, income <= 85% SMI, +# asset limit, and parent activity. + +- name: Case 1, low-income family with eligible child qualifies. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_eligible: true + +- name: Case 2, family above 85% SMI is ineligible. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 200_000 # above 85% SMI + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_eligible: false + +- name: Case 3, family at federal CCDF asset limit boundary is eligible. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + spm_unit_assets: 999_999.99 # just under $1M CCDF limit + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_eligible: true + +- name: Case 4, family above federal CCDF asset limit is ineligible. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + spm_unit_assets: 1_000_001 # just over $1M CCDF limit + households: + household: + members: [parent, child] + state_code: AK + output: + # Assets > 1_000_000 -> asset check fails -> ineligible + ak_ccap_eligible: false + +- name: Case 5, family with assets exactly at $1M CCDF limit is eligible (boundary inclusive). + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + spm_unit_assets: 1_000_000 # exactly at $1M CCDF limit + households: + household: + members: [parent, child] + state_code: AK + output: + # is_ccdf_asset_eligible uses <= so assets == 1_000_000 -> eligible + ak_ccap_eligible: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.yaml new file mode 100644 index 00000000000..e64de989121 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.yaml @@ -0,0 +1,264 @@ +# ak_ccap_parent_in_eligible_activity: SPMUnit, bool, MONTH +# True if every tax-unit head/spouse in the SPMUnit individually meets the +# Alaska CCAP activity test (positive employment income, positive +# self-employment income, positive weekly hours worked, or full-time student), +# OR if meets_ccdf_activity_test (federal fallback) is true. + +- name: Case 1, single working parent qualifies via employment income. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 24_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true + +- name: Case 2, single non-working non-student parent fails activity test. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: false + +- name: Case 3, two-parent family with both parents working qualifies. + period: 2022-01 + input: + people: + parent1: + age: 32 + employment_income: 24_000 + immigration_status: CITIZEN + parent2: + age: 30 + employment_income: 18_000 + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + tax_units: + tax_unit: + members: [parent1, parent2, child] + marital_units: + marital_unit: + members: [parent1, parent2] + spm_units: + spm_unit: + members: [parent1, parent2, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent1, parent2, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true + +- name: Case 4, two-parent family with only one working parent fails (all parents must qualify). + period: 2022-01 + input: + people: + parent1: + age: 32 + employment_income: 24_000 + immigration_status: CITIZEN + parent2: + age: 30 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + tax_units: + tax_unit: + members: [parent1, parent2, child] + marital_units: + marital_unit: + members: [parent1, parent2] + spm_units: + spm_unit: + members: [parent1, parent2, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent1, parent2, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: false + +- name: Case 5, single full-time student parent qualifies. + period: 2022-01 + input: + people: + parent: + age: 25 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: true + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true + +- name: Case 6, single self-employed parent qualifies via self-employment income. + period: 2022-01 + input: + people: + parent: + age: 35 + employment_income: 0 + self_employment_income: 18_000 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + meets_ccdf_activity_test: false + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true + +- name: Case 7, two-parent family fails when one parent is non-working (each parent rule). + period: 2022-01 + input: + people: + parent1: + age: 35 + employment_income: 24_000 + immigration_status: CITIZEN + parent2: + age: 33 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + tax_units: + tax_unit: + members: [parent1, parent2, child] + marital_units: + marital_unit: + members: [parent1, parent2] + spm_units: + spm_unit: + members: [parent1, parent2, child] + households: + household: + members: [parent1, parent2, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: false + +- name: Case 8, parent with zero hours but meets_ccdf_activity_test qualifies via federal fallback. + period: 2022-01 + input: + people: + parent: + age: 30 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + spm_units: + spm_unit: + members: [parent, child] + # Federal CCDF activity proxy (e.g., job search, training, SNAP E&T) + meets_ccdf_activity_test: true + households: + household: + members: [parent, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true + +- name: Case 9, two parents, one working, one in federal CCDF activity fallback both qualify. + period: 2022-01 + input: + people: + parent1: + age: 35 + employment_income: 24_000 + immigration_status: CITIZEN + parent2: + age: 33 + employment_income: 0 + self_employment_income: 0 + weekly_hours_worked: 0 + is_full_time_student: false + immigration_status: CITIZEN + child: + age: 4 + immigration_status: CITIZEN + tax_units: + tax_unit: + members: [parent1, parent2, child] + marital_units: + marital_unit: + members: [parent1, parent2] + spm_units: + spm_unit: + members: [parent1, parent2, child] + meets_ccdf_activity_test: true # SPMUnit-level federal fallback satisfies the activity test for the unit + households: + household: + members: [parent1, parent2, child] + state_code: AK + output: + ak_ccap_parent_in_eligible_activity: true diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.yaml new file mode 100644 index 00000000000..c2affd6ed00 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.yaml @@ -0,0 +1,80 @@ +# ak_ccap_countable_earned_income: SPMUnit, float (USD), MONTH +# Sums earned income across SPMUnit members aged >= adult threshold (18). +# Manual §4080-1 excludes earnings from children (age < 18). + +- name: Case 1, single adult earnings counted. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 36_000 # /yr + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 36_000 / 12 = 3_000/month + ak_ccap_countable_earned_income: 3_000 + +- name: Case 2, minor's earnings excluded; adult's earnings counted. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + adult: + age: 30 + employment_income: 24_000 # /yr + minor: + age: 16 + employment_income: 6_000 # /yr -- excluded + spm_units: + spm_unit: + members: [adult, minor] + households: + household: + members: [adult, minor] + state_code: AK + output: + # 24_000 / 12 = 2_000/month (minor excluded) + ak_ccap_countable_earned_income: 2_000 + +- name: Case 3, adult self-employment income counted. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 35 + self_employment_income: 18_000 # /yr + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 18_000 / 12 = 1_500/month + ak_ccap_countable_earned_income: 1_500 + +- name: Case 4, zero earnings returns zero. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_countable_earned_income: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.yaml new file mode 100644 index 00000000000..bb824f61261 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.yaml @@ -0,0 +1,300 @@ +# ak_ccap_countable_income: SPMUnit, float (USD), MONTH +# max(0, earned + unearned - child_support_paid) +# Earned income from minors (age < 18) is excluded per Manual 4080-1. +# Unearned income counts for all members regardless of age. + +- name: Case 1, adult earned income only. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 36_000 # yearly + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 36_000 / 12 = 3_000/month + ak_ccap_countable_income: 3_000 + +- name: Case 2, earned plus unearned income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 24_000 # yearly + child_support_received: 6_000 # yearly + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AK + output: + # (24_000 + 6_000) / 12 = 2_500/month + ak_ccap_countable_income: 2_500 + +- name: Case 3, minor child's earned income is excluded. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + parent: + age: 35 + employment_income: 36_000 # yearly + teen: + age: 16 + employment_income: 6_000 # yearly -- excluded (age < 18) + young_child: + age: 4 + spm_units: + spm_unit: + members: [parent, teen, young_child] + households: + household: + members: [parent, teen, young_child] + state_code: AK + output: + # Only parent earnings count: 36_000 / 12 = 3_000/month + ak_ccap_countable_income: 3_000 + +- name: Case 4, minor child unearned income counts. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + parent: + age: 35 + employment_income: 24_000 # yearly + child: + age: 10 + social_security: 6_000 # yearly -- unearned counts for all ages + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + output: + # (24_000 + 6_000) / 12 = 2_500/month + ak_ccap_countable_income: 2_500 + +- name: Case 5, child support paid is deducted. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 36_000 # yearly + child_support_expense: 6_000 # yearly deducted + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # (36_000 - 6_000) / 12 = 2_500/month + ak_ccap_countable_income: 2_500 + +- name: Case 6, child support deduction does not produce negative income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + employment_income: 12_000 # yearly + child_support_expense: 24_000 # exceeds income + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # max(0, 1_000 - 2_000) = 0 + ak_ccap_countable_income: 0 + +- name: Case 7, zero income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_countable_income: 0 + +- name: Case 8, newly added unearned sources are counted (workers_comp, capital_gains). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + workers_compensation: 12_000 # /yr -> 1_000/mo + capital_gains: 6_000 # /yr -> 500/mo + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 1_000 + 500 = 1_500/month (TANF excluded to avoid circular dependency + # with ak_atap, which depends on childcare_expenses -> ak_ccap) + ak_ccap_countable_income: 1_500 + +- name: Case 9, additional new unearned sources (interest, dividend). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + interest_income: 1_200 # /yr -> 100/mo + dividend_income: 2_400 # /yr -> 200/mo + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 100 + 200 = 300/month + ak_ccap_countable_income: 300 + +# Cases 10-14: excluded income per Manual section 4080-5 +# (PFD, EITC, ATAP/TA Diversion, SNAP, WIC, and other federal non-cash benefits). +# These sources are NOT listed in earned_sources.yaml or unearned_sources.yaml, +# so the formula simply omits them. + +- name: Case 10, PFD does not count toward CCAP countable income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + ak_permanent_fund_dividend: 1_702 # 2024 PFD amount + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_countable_income: 0 + +- name: Case 11, EITC does not count toward CCAP countable income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + tax_units: + tax_unit: + members: [person1] + eitc: 2_500 # federal earned income tax credit + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_countable_income: 0 + +- name: Case 12, ATAP (TA Diversion) does not count toward CCAP countable income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + ak_atap: 500 # monthly ATAP benefit + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_countable_income: 0 + +- name: Case 13, SNAP and WIC do not count toward CCAP countable income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + wic: 50 # monthly WIC value + person2: + age: 4 + wic: 50 + spm_units: + spm_unit: + members: [person1, person2] + snap: 300 # monthly SNAP + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_countable_income: 0 + +- name: Case 14, combined PFD + EITC + ATAP yields zero countable income. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + ak_permanent_fund_dividend: 1_702 + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + ak_atap: 500 + tax_units: + tax_unit: + members: [person1, person2] + eitc: 2_500 + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_countable_income: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.yaml new file mode 100644 index 00000000000..e5f16b13b1f --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.yaml @@ -0,0 +1,60 @@ +# ak_ccap_countable_unearned_income: SPMUnit, float (USD), MONTH +# Sums unearned income across all SPMUnit members (no age exclusion). +# Sources defined in countable_income/unearned_sources.yaml. + +- name: Case 1, social security counted as unearned. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 70 + social_security: 12_000 # /yr + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + # 12_000 / 12 = 1_000/month + ak_ccap_countable_unearned_income: 1_000 + +- name: Case 2, child's unearned income counted (no age exclusion for unearned). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + parent: + age: 30 + child: + age: 8 + social_security: 6_000 # /yr -- counted regardless of age + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + output: + # 6_000 / 12 = 500/month + ak_ccap_countable_unearned_income: 500 + +- name: Case 3, zero unearned income returns zero. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_countable_unearned_income: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.yaml new file mode 100644 index 00000000000..b203a1a1dd7 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.yaml @@ -0,0 +1,197 @@ +# ak_ccap_income_eligible: SPMUnit, bool, MONTH +# countable_income <= 85% of monthly Alaska SMI (hhs_smi for size). +# Boundary: <= per "does not exceed" in Manual 4070-2. +# +# Family of 3 at 2022-01 (HHS SMI base $104_070, size factor 0.84): +# 100% annual SMI = $87_418.80; monthly = $7_284.90 +# 85% annual threshold = $74_305.98; monthly = $6_192.16 + +- name: Case 1, family of 3 well below 85% SMI is eligible. + period: 2022-01 + input: + people: + person1: + age: 30 + employment_income: 48_000 # 4_000/mo well below threshold + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + ak_ccap_income_eligible: true + +- name: Case 2, family of 3 just below 85% SMI threshold is eligible. + period: 2022-01 + input: + people: + person1: + age: 30 + # Annual just below the $74_305.98 threshold (monthly $6_191.67). + employment_income: 74_300 + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + ak_ccap_income_eligible: true + +- name: Case 3, family of 3 above 85% SMI is ineligible. + period: 2022-01 + input: + people: + person1: + age: 30 + employment_income: 78_000 # 6_500/mo > 6_192.16 + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + ak_ccap_income_eligible: false + +- name: Case 4, zero income is eligible. + period: 2022-01 + input: + people: + person1: + age: 30 + person2: + age: 4 + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AK + output: + ak_ccap_income_eligible: true + +- name: Case 5, family of 3 at the 85% SMI threshold is eligible (boundary inclusive). + period: 2022-01 + input: + people: + person1: + age: 30 + # Family of 3: 100% monthly SMI = 7_284.90; 85% threshold = 6_192.165 + # Use 1 cent below monthly threshold (annual 74_305.86 / 12 = 6_192.155) + # to avoid float-precision flips while still pinning the boundary band. + employment_income: 74_305.86 + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + # countable_income <= 85% SMI -> eligible + ak_ccap_income_eligible: true + +- name: Case 6, family of 3 one dollar per month above 85% SMI threshold is ineligible. + period: 2022-01 + input: + people: + person1: + age: 30 + # Annual 74_318 / 12 = 6_193.17/mo, just above 6_192.165 threshold + employment_income: 74_318 + person2: + age: 25 + person3: + age: 4 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AK + output: + # countable_income > 85% SMI -> ineligible + ak_ccap_income_eligible: false + +- name: Case 7, family of 6 well below 85% SMI is eligible. + period: 2022-01 + input: + people: + person1: + age: 35 + # Family of 6: capped_size=5, extra=0, adj=0.52+0.16*5=1.32 + # Annual SMI = 104_070 * 1.32 = 137_372.40; monthly = 11_447.70 + # 85% monthly threshold = 9_730.545 + # 48_000/yr -> 4_000/mo < 9_730.545 -> eligible + employment_income: 48_000 + person2: + age: 33 + person3: + age: 10 + person4: + age: 8 + person5: + age: 5 + person6: + age: 2 + spm_units: + spm_unit: + members: [person1, person2, person3, person4, person5, person6] + households: + household: + members: [person1, person2, person3, person4, person5, person6] + state_code: AK + output: + ak_ccap_income_eligible: true + +- name: Case 8, family of 6 just above 85% SMI threshold is ineligible. + period: 2022-01 + input: + people: + person1: + age: 35 + # 9_750/mo > 9_730.545 monthly threshold; annual = 117_000 + employment_income: 117_000 + person2: + age: 33 + person3: + age: 10 + person4: + age: 8 + person5: + age: 5 + person6: + age: 2 + spm_units: + spm_unit: + members: [person1, person2, person3, person4, person5, person6] + households: + household: + members: [person1, person2, person3, person4, person5, person6] + state_code: AK + output: + # countable_income > 85% SMI for family of 6 -> ineligible + ak_ccap_income_eligible: false diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/integration.yaml new file mode 100644 index 00000000000..24c7471f249 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/integration.yaml @@ -0,0 +1,325 @@ +# Alaska CCAP integration tests (PASS II + PASS III). +# +# References: +# - CCAP Policies and Procedures Manual, Sections 4070 / 4080 +# https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173 +# - Family Income and Contribution Schedule (Rev Feb 21, 2022) +# https://health.alaska.gov/media/okdlx2xm/alaska-fics.pdf +# - Child Care Assistance Program Rate Schedule (Rev Dec 1, 2021) +# https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf +# +# AK FICS monthly 100% SMI by family size: +# Family of 2: 5_897 +# Family of 3: 7_285 +# Family of 4: 8_673 +# +# 85% SMI thresholds (monthly): +# Family of 2: 5_897 * 0.85 = 5_012.45 +# Family of 3: 7_285 * 0.85 = 6_192.25 +# Family of 4: 8_673 * 0.85 = 7_372.05 + +- name: Case 1, single parent one preschooler Anchorage licensed center. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + person1: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + person2: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1, person2] + spm_unit_pre_subsidy_childcare_expenses: 14_400 # $1_200/mo, AK center + households: + household: + members: [person1, person2] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # === Eligibility === + ak_ccap_child_eligible: [false, true] + ak_ccap_income_eligible: true + ak_ccap_eligible: true + + # === Countable income (MONTH; YEAR input/12) === + # 24_000 / 12 = 2_000 + ak_ccap_countable_income: 2_000 + + # === Copay === + # Family of 2 monthly SMI = 5_897 + # SMI ratio = 2_000 / 5_897 = 0.3392 -> 4% band (>= 0.26, < 0.35) + ak_ccap_copay_rate: 0.04 + # copay = 2_000 * 0.04 = 80 + ak_ccap_copay: 80 + + # === Per-child rate === + # Anchorage licensed center FT_MONTH preschool = 1_019 + ak_ccap_max_provider_rate_per_child: [0, 1_019] + + # === Benefit === + # 1_019 - 80 = 939 + ak_ccap: 939 + +- name: Case 2, two parent family Fairbanks mixed care. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent1: + age: 35 + immigration_status: CITIZEN + employment_income: 36_000 # 3_000/mo + parent2: + age: 33 + immigration_status: CITIZEN + weekly_hours_worked: 0 + is_full_time_student: true + child1: + age: 0 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + child2: + age: 8 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent1, parent2, child1, child2] + spm_unit_pre_subsidy_childcare_expenses: 28_800 # $2_400/mo for 2 kids + households: + household: + members: [parent1, parent2, child1, child2] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # === Eligibility === + ak_ccap_child_eligible: [false, false, true, true] + ak_ccap_eligible: true + + # === Activity === + # parent1: works -> eligible; parent2: full-time student -> eligible + # All parents qualify -> activity passes + + # === Copay === + # Family of 4 monthly SMI = 8_673 + # SMI ratio = 3_000 / 8_673 = 0.3459 -> 4% band (>= 0.26, < 0.35) + ak_ccap_copay_rate: 0.04 + # copay = 3_000 * 0.04 = 120 + ak_ccap_copay: 120 + + # === Per-child rates === + # Fairbanks licensed center FT_MONTH infant = 1_342 (child1) + # Fairbanks licensed home FT_MONTH school age = 728 (child2) + ak_ccap_max_provider_rate_per_child: [0, 0, 1_342, 728] + + # === Benefit === + # Total per-child = 1_342 + 728 = 2_070 + # Benefit = 2_070 - 120 = 1_950 + ak_ccap: 1_950 + +- name: Case 3, TANF-enrolled family has $0 copay (PASS I rule). + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 28 + immigration_status: CITIZEN + employment_income: 0 + weekly_hours_worked: 30 # activity test + child: + age: 6 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + is_tanf_enrolled: true # ATAP is Alaska's TANF; PASS I waives copay + spm_unit_pre_subsidy_childcare_expenses: 12_000 # $1_000/mo for school-age care + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_child_eligible: [false, true] + ak_ccap_eligible: true + # Countable income = 0 (no earnings, no unearned) -> 0% copay band + ak_ccap_copay_rate: 0 + # Anchorage center FT_MONTH school age = 884 + ak_ccap_max_provider_rate_per_child: [0, 884] + # is_tanf_enrolled=True -> copay waived to 0 per Manual §4040-3 D + ak_ccap_copay: 0 + # Benefit = 884 - 0 = 884 + ak_ccap: 884 + +- name: Case 4, income just over 85% SMI is ineligible. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 72_000 # 6_000/mo, well over 5_012.45 threshold + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Family of 2: 85% SMI monthly threshold = 5_012.45 + # 6_000 > 5_012.45 -> ineligible + ak_ccap_income_eligible: false + ak_ccap_eligible: false + # 6_000/mo earnings -> countable_income 6_000 + ak_ccap_countable_income: 6_000 + # Anchorage center FT_MONTH preschool = 1_019 (rate computed independent of eligibility) + ak_ccap_max_provider_rate_per_child: [0, 1_019] + ak_ccap: 0 + +- name: Case 5, special needs child gets supplement on top of standard child. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 35 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child_standard: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + child_sn: + age: 8 + is_disabled: true + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ssi: 0 # focus test on SN supplement, not SSI deeming math + # Provide a high charged rate so the SN supplement flows through. + ak_ccap_charged_rate: 3_000 + spm_units: + spm_unit: + members: [parent, child_standard, child_sn] + spm_unit_pre_subsidy_childcare_expenses: 36_000 # $3_000/mo for SN + standard kids + households: + household: + members: [parent, child_standard, child_sn] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_child_eligible: [false, true, true] + ak_ccap_eligible: true + + # SN supplement applies only to disabled child. + # Anchorage center FT_MONTH preschool = 1_019; school age = 884. + # SN child base = 884; supplement = 1 * 884 = 884; max combined = 1_768. + ak_ccap_special_needs_supplement: [0, 0, 884] + + # benefit_per_child = min(charged, max_state_rate) + supplement + # standard child: min(1_019, 1_019) + 0 = 1_019 + # SN child: min(3_000, 884) + 884 = 884 + 884 = 1_768 + ak_ccap_benefit_per_child: [0, 1_019, 1_768] + + # Countable income = 2_000/mo earnings; SSI explicitly 0 above. + # Family of 3 HHS SMI monthly (2022) = $7_284.90. + # Ratio = 2_000 / 7_284.90 = 0.2745 -> 4% band (>= 0.26, < 0.35). + ak_ccap_copay_rate: 0.04 + ak_ccap_copay: 80 + + # Total per-child = 1_019 + 1_768 = 2_787; expense cap not binding (10_000/mo) + # Total benefit = min(10_000, 2_787) - 80 = 2_707 + ak_ccap: 2_707 + +- name: Case 6, Anchorage with Licensed Group Home falls back to 0 rate. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 30 + immigration_status: CITIZEN + employment_income: 24_000 # 2_000/mo + child: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, child] + households: + household: + members: [parent, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Per Provider Rate Schedule p.1, Anchorage has no licensed group homes. + # Family is still eligible (one CCAP-eligible child) but the rate is 0, + # so the benefit cannot exceed -copay; clipped to 0. + ak_ccap_child_eligible: [false, true] + ak_ccap_eligible: true + ak_ccap_max_provider_rate_per_child: [0, 0] + ak_ccap: 0 + +- name: Case 7, 17-year-old in family does not count as eligible child. + period: 2022-01 + absolute_error_margin: 0.1 + input: + people: + parent: + age: 40 + immigration_status: CITIZEN + employment_income: 36_000 # 3_000/mo + teen: + age: 17 + immigration_status: CITIZEN + child: + age: 8 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [parent, teen, child] + spm_unit_pre_subsidy_childcare_expenses: 12_000 # $1_000/mo for one school-age child + households: + household: + members: [parent, teen, child] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # 17yo counts toward family size for the SMI calculation but is not an + # eligible child for benefit (age >= 13). Only the 8yo gets a benefit. + ak_ccap_child_eligible: [false, false, true] + ak_ccap_eligible: true + + # Family of 3 monthly SMI = 7_285 + # ratio = 3_000 / 7_285 = 0.4118 -> 5% band (>= 0.35, < 0.43) + ak_ccap_copay_rate: 0.05 + # copay = 3_000 * 0.05 = 150 + ak_ccap_copay: 150 + + # Anchorage center FT_MONTH school age = 884 + # Benefit = 884 - 150 = 734 + ak_ccap: 734 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.yaml new file mode 100644 index 00000000000..082bf5a51c5 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.yaml @@ -0,0 +1,117 @@ +# ak_ccap_age_group: Person, Enum, MONTH +# Age group boundaries (from age_group/months.yaml bracket parameter): +# 0 months -> INFANT (index 0) +# 13 months -> TODDLER (index 1) +# 36 months -> PRESCHOOL (index 2) +# 60 months -> SCHOOL_AGE (index 3) +# Use age * MONTHS_IN_YEAR (not monthly_age) per NH CCAP lesson. + +- name: Case 1, newborn is infant. + period: 2022-01 + input: + people: + person1: + age: 0 + households: + household: + members: [person1] + state_code: AK + output: + # 0 months -> INFANT + ak_ccap_age_group: INFANT + +- name: Case 2, child at 1 year is still infant. + period: 2022-01 + input: + people: + person1: + age: 1 + households: + household: + members: [person1] + state_code: AK + output: + # 1 year = 12 months < 13 -> INFANT + ak_ccap_age_group: INFANT + +- name: Case 3, child at 2 years is toddler. + period: 2022-01 + input: + people: + person1: + age: 2 + households: + household: + members: [person1] + state_code: AK + output: + # 2 years = 24 months >= 13, < 36 -> TODDLER + ak_ccap_age_group: TODDLER + +- name: Case 4, child at 3 years is preschool. + period: 2022-01 + input: + people: + person1: + age: 3 + households: + household: + members: [person1] + state_code: AK + output: + # 3 years = 36 months >= 36, < 60 -> PRESCHOOL + ak_ccap_age_group: PRESCHOOL + +- name: Case 5, child at 4 years is preschool. + period: 2022-01 + input: + people: + person1: + age: 4 + households: + household: + members: [person1] + state_code: AK + output: + # 4 years = 48 months >= 36, < 60 -> PRESCHOOL + ak_ccap_age_group: PRESCHOOL + +- name: Case 6, child at 5 years is school age. + period: 2022-01 + input: + people: + person1: + age: 5 + households: + household: + members: [person1] + state_code: AK + output: + # 5 years = 60 months >= 60 -> SCHOOL_AGE + ak_ccap_age_group: SCHOOL_AGE + +- name: Case 7, child at 8 years is school age. + period: 2022-01 + input: + people: + person1: + age: 8 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_age_group: SCHOOL_AGE + +- name: Case 8, child at 12 years is still school age. + period: 2022-01 + input: + people: + person1: + age: 12 + households: + household: + members: [person1] + state_code: AK + output: + ak_ccap_age_group: SCHOOL_AGE diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.yaml new file mode 100644 index 00000000000..d8806e9ade7 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.yaml @@ -0,0 +1,67 @@ +- name: Case 1, no charged rate falls back to state maximum. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # charged = 0 -> use max_state_rate = 1_019 (Anchorage center preschool FT_MONTH) + ak_ccap_authorized_rate_per_child: 1_019 + +- name: Case 2, charged below max is the authorized amount. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 700 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # min(700, 1_019) = 700 + ak_ccap_authorized_rate_per_child: 700 + +- name: Case 3, charged above max is capped at max. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 2_000 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # min(2_000, 1_019) = 1_019 + ak_ccap_authorized_rate_per_child: 1_019 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.yaml new file mode 100644 index 00000000000..325a3e8daba --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.yaml @@ -0,0 +1,102 @@ +# ak_ccap_benefit_per_child: Person, float (USD), MONTH +# benefit = min(charged_rate, max_state_rate) + special_needs_supplement. +# The supplement sits OUTSIDE the min(charged, max_state_rate) cap per +# Manual §28321-28324 (Alaska IN! Special Needs Supplements are not +# subject to the monthly maximum state payment amount) and §4370-1. +# Supplement multiplier = 2 (7 AAC 41.060(b)); supplement = base × 1. + +- name: Case 1, default eligible child receives max state rate. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Default charged = max state rate (1_019); min(1_019, 1_019) + 0 = 1_019 + ak_ccap_benefit_per_child: 1_019 + +- name: Case 2, charged rate below max state rate yields charged. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 700 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # min(700, 1_019) + 0 = 700 + ak_ccap_benefit_per_child: 700 + +- name: Case 3, disabled child with high charged rate captures supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 3_500 # higher than 3 x base + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Base = min(3_500, 1_019) = 1_019; supplement = 1 * 1_019 = 1_019 + # Total = 1_019 + 1_019 = 2_038 + ak_ccap_benefit_per_child: 2_038 + +- name: Case 4, disabled school-age child with charged between max and max*multiplier distinguishes new formula from old. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 7 + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 1_500 # max (884) < charged (1_500) < max * 2 (1_768) + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Anchorage SCHOOL_AGE FT_MONTH max state rate = 884 + # New (correct) formula: min(1_500, 884) + (2-1)*884 = 884 + 884 = 1_768 + # Old (buggy) formula: min(1_500, 884 + 884) = min(1_500, 1_768) = 1_500 + ak_ccap_benefit_per_child: 1_768 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.yaml new file mode 100644 index 00000000000..19cf6bc4b97 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.yaml @@ -0,0 +1,658 @@ +# ak_ccap_max_provider_rate_per_child: Person, float (USD), MONTH +# Rate lookup: provider_type x care_schedule x region x age_group. +# Rates from CCAP Provider Rate Schedule (Rev Dec 1 2021). +# Examples (FT_MONTH, all amounts monthly): +# Licensed center, Anchorage: INFANT=1135 TODDLER=1148 PRESCHOOL=1019 SCHOOL_AGE=884 +# Licensed center, Fairbanks: INFANT=1342 TODDLER=1100 PRESCHOOL=900 SCHOOL_AGE=750 +# Licensed center, Mat-Su: INFANT=805 TODDLER=760 PRESCHOOL=706 SCHOOL_AGE=702 +# Licensed home, Anchorage: INFANT=900 TODDLER=800 PRESCHOOL=700 SCHOOL_AGE=650 +# Approved relative, Anch.: INFANT=521 TODDLER=492 PRESCHOOL=440 SCHOOL_AGE=430 +# Licensed group home, Anch.: all 0 (Anchorage exception) +# Licensed group home, Aleutians East: same as center (1208/1107/886/914) + +- name: Case 1, licensed center Anchorage preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_max_provider_rate_per_child: 1_019 + +- name: Case 2, licensed center Anchorage infant FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 0 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_max_provider_rate_per_child: 1_135 + +- name: Case 3, licensed center Fairbanks toddler FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 1_100 + +- name: Case 4, licensed center Mat-Su school age FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 8 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: MATANUSKA_SUSITNA_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 702 + +- name: Case 5, licensed home Anchorage toddler FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_max_provider_rate_per_child: 800 + +- name: Case 6, approved relative Anchorage infant FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 0 + ak_ccap_provider_type: APPROVED_RELATIVE_IN_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_max_provider_rate_per_child: 521 + +- name: Case 7, licensed group home Anchorage preschool returns zero (Anchorage exception). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Per Provider Rate Schedule p.1: "Anchorage does not have licensed group homes" + ak_ccap_max_provider_rate_per_child: 0 + +- name: Case 8, licensed group home Aleutians East school age FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 8 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ALEUTIANS_EAST_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 914 + +- name: Case 9, licensed center Anchorage preschool PT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: PT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # PT_MONTH ANCHORAGE PRESCHOOL: from licensed_center.yaml + # PT_MONTH Anchorage: INFANT=660, TODDLER=717, PRESCHOOL=574, SCHOOL_AGE=450 + ak_ccap_max_provider_rate_per_child: 574 + +- name: Case 10, licensed center Anchorage infant FT day. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 0 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 1 # rate is per day; verify base rate + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # FT_DAY Anchorage: INFANT=69, TODDLER=70, PRESCHOOL=62, SCHOOL_AGE=54 + # FT_DAY base rate × 1 day = 69 + ak_ccap_max_provider_rate_per_child: 69 + +- name: Case 11, licensed center Anchorage school age FT day. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 8 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # FT_DAY Anchorage SCHOOL_AGE = 54; × 1 day = 54 + ak_ccap_max_provider_rate_per_child: 54 + +- name: Case 12, licensed center Anchorage toddler PT day. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # PT_DAY Anchorage: INFANT=40, TODDLER=43, PRESCHOOL=35, SCHOOL_AGE=27 + # PT_DAY base × 1 day = 43 + ak_ccap_max_provider_rate_per_child: 43 + +- name: Case 13, licensed center Anchorage preschool PT day. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # PT_DAY Anchorage PRESCHOOL = 35; × 1 day = 35 + ak_ccap_max_provider_rate_per_child: 35 + +- name: Case 14, licensed home Fairbanks toddler FT_DAY (non-Anchorage care unit coverage). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # FT_DAY Fairbanks TODDLER licensed_home = 56; × 1 day = 56 + ak_ccap_max_provider_rate_per_child: 56 + +- name: Case 15, approved relative Bethel infant (rural non-zero rate). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 0 + ak_ccap_provider_type: APPROVED_RELATIVE_IN_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: BETHEL_CENSUS_AREA_AK + output: + # FT_MONTH Bethel INFANT approved_relative_in_home = 673 + ak_ccap_max_provider_rate_per_child: 673 + +- name: Case 16, licensed group home Aleutians East infant (rural non-zero, non-Anchorage). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 0 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ALEUTIANS_EAST_BOROUGH_AK + output: + # FT_MONTH Aleutians East INFANT licensed_group_home = 1_208 + ak_ccap_max_provider_rate_per_child: 1_208 + +- name: Case 17, FT_DAY Anchorage preschool with 20 attending days scales rate. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 20 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # FT_DAY Anchorage PRESCHOOL = 62; × 20 days = 1_240 + ak_ccap_max_provider_rate_per_child: 1_240 + +- name: Case 18, PT_DAY Anchorage school age with 10 attending days scales rate. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 8 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 10 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # PT_DAY Anchorage SCHOOL_AGE = 27; × 10 days = 270 + ak_ccap_max_provider_rate_per_child: 270 + +- name: Case 19, FT_DAY with zero attending days returns zero. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 0 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # FT_DAY base × 0 days = 0 + ak_ccap_max_provider_rate_per_child: 0 + +- name: Case 20, FT_MONTH unchanged by attending_days (monthly rate ignores days). + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + childcare_attending_days_per_month: 20 # ignored for monthly care_schedule + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # FT_MONTH Anchorage PRESCHOOL = 1_019 (unchanged) + ak_ccap_max_provider_rate_per_child: 1_019 + +# --------------------------------------------------------------------------- +# Provider x care-schedule matrix completeness for non-LICENSED_CENTER types. +# Fairbanks is used because LICENSED_GROUP_HOME has non-zero rates there +# (Anchorage has no licensed group homes). All values come from the +# corresponding rate YAMLs under parameters/gov/states/ak/dpa/ccap/rates/. +# --------------------------------------------------------------------------- + +- name: Case 21, licensed home Fairbanks toddler PT_MONTH. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: PT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_MONTH Fairbanks TODDLER licensed_home = 550 + ak_ccap_max_provider_rate_per_child: 550 + +- name: Case 22, licensed home Fairbanks toddler FT_MONTH. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # FT_MONTH Fairbanks TODDLER licensed_home = 918 + ak_ccap_max_provider_rate_per_child: 918 + +- name: Case 23, licensed home Fairbanks toddler PT_DAY scales by attending days. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_HOME + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_DAY Fairbanks TODDLER licensed_home = 33; x 1 day = 33 + ak_ccap_max_provider_rate_per_child: 33 + +- name: Case 24, licensed group home Fairbanks toddler FT_MONTH. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # FT_MONTH Fairbanks TODDLER licensed_group_home = 1_100 + ak_ccap_max_provider_rate_per_child: 1_100 + +- name: Case 25, licensed group home Fairbanks toddler PT_MONTH. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: PT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_MONTH Fairbanks TODDLER licensed_group_home = 600 + ak_ccap_max_provider_rate_per_child: 600 + +- name: Case 26, licensed group home Fairbanks toddler FT_DAY scales by attending days. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # FT_DAY Fairbanks TODDLER licensed_group_home = 67; x 1 day = 67 + ak_ccap_max_provider_rate_per_child: 67 + +- name: Case 27, licensed group home Fairbanks toddler PT_DAY scales by attending days. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: LICENSED_GROUP_HOME + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_DAY Fairbanks TODDLER licensed_group_home = 36; x 1 day = 36 + ak_ccap_max_provider_rate_per_child: 36 + +- name: Case 28, approved relative Fairbanks toddler PT_MONTH. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: APPROVED_RELATIVE_IN_HOME + ak_ccap_care_schedule: PT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_MONTH Fairbanks TODDLER approved_relative_in_home = 359 + ak_ccap_max_provider_rate_per_child: 359 + +- name: Case 29, approved relative Fairbanks toddler FT_DAY scales by attending days. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: APPROVED_RELATIVE_IN_HOME + ak_ccap_care_schedule: FT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # FT_DAY Fairbanks TODDLER approved_relative_in_home = 30; x 1 day = 30 + ak_ccap_max_provider_rate_per_child: 30 + +- name: Case 30, approved relative Fairbanks toddler PT_DAY scales by attending days. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 2 + ak_ccap_provider_type: APPROVED_RELATIVE_IN_HOME + ak_ccap_care_schedule: PT_DAY + childcare_attending_days_per_month: 1 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + # PT_DAY Fairbanks TODDLER approved_relative_in_home = 22; x 1 day = 22 + ak_ccap_max_provider_rate_per_child: 22 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child_regions.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child_regions.yaml new file mode 100644 index 00000000000..05503b8bed5 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child_regions.yaml @@ -0,0 +1,489 @@ +# ak_ccap_max_provider_rate_per_child: regional coverage tests. +# +# One lookup per AK rate region not pinned in +# ak_ccap_max_provider_rate_per_child.yaml. All cases use the same +# easy combination — LICENSED_CENTER x FT_MONTH x PRESCHOOL (age 4) — +# so the expected value is read straight from +# parameters/gov/states/ak/dpa/ccap/rates/licensed_center.yaml. +# +# Source: Alaska CCAP Provider Rate Schedule (Rev Dec 1, 2021). + +- name: Case 1, licensed center Aleutians West preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ALEUTIANS_WEST_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 886 + +- name: Case 2, licensed center Bristol Bay preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: BRISTOL_BAY_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 886 + +- name: Case 3, licensed center Denali preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: DENALI_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 900 + +- name: Case 4, licensed center Dillingham preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: DILLINGHAM_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 975 + +- name: Case 5, licensed center Haines preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: HAINES_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 884 + +- name: Case 6, licensed center Hoonah-Angoon preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: HOONAH_ANGOON_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 884 + +- name: Case 7, licensed center Juneau preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: JUNEAU_CITY_AND_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 1_071 + +- name: Case 8, licensed center Kenai Peninsula preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: KENAI_PENINSULA_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 750 + +- name: Case 9, licensed center Ketchikan preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: KETCHIKAN_GATEWAY_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 650 + +- name: Case 10, licensed center Kodiak Island preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: KODIAK_ISLAND_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 725 + +- name: Case 11, licensed center Lake and Peninsula preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: LAKE_AND_PENINSULA_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 886 + +- name: Case 12, licensed center Nome preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: NOME_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 905 + +- name: Case 13, licensed center North Slope preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: NORTH_SLOPE_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 905 + +- name: Case 14, licensed center Northwest Arctic preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: NORTHWEST_ARCTIC_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 905 + +- name: Case 15, licensed center Petersburg preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: PETERSBURG_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 980 + +- name: Case 16, licensed center Prince of Wales-Hyder preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 980 + +- name: Case 17, licensed center Sitka preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: SITKA_CITY_AND_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 945 + +- name: Case 18, licensed center Skagway preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: SKAGWAY_MUNICIPALITY_AK + output: + ak_ccap_max_provider_rate_per_child: 884 + +- name: Case 19, licensed center Southeast Fairbanks preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 900 + +- name: Case 20, licensed center Chugach preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: CHUGACH_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 750 + +- name: Case 21, licensed center Kusilvak preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: KUSILVAK_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 886 + +- name: Case 22, licensed center Wrangell preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: WRANGELL_CITY_AND_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 884 + +- name: Case 23, licensed center Yakutat preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: YAKUTAT_CITY_AND_BOROUGH_AK + output: + ak_ccap_max_provider_rate_per_child: 884 + +- name: Case 24, licensed center Yukon-Koyukuk preschool FT month. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: YUKON_KOYUKUK_CENSUS_AREA_AK + output: + ak_ccap_max_provider_rate_per_child: 900 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.yaml new file mode 100644 index 00000000000..287fe4ce4ee --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.yaml @@ -0,0 +1,192 @@ +# ak_ccap_rate_region: SPMUnit, Enum (County), MONTH +# Returns the household's County for AK CCAP rate lookups. Copper River +# is collapsed into Chugach because the rate schedule still publishes +# one combined Valdez-Cordova column. Unknown counties fall back to +# Anchorage so downstream rate lookups always hit a valid AK key. + +- name: Case 1, Anchorage maps to ANCHORAGE_MUNICIPALITY_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_rate_region: ANCHORAGE_MUNICIPALITY_AK + +- name: Case 2, Fairbanks North Star maps to FAIRBANKS_NORTH_STAR_BOROUGH_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: FAIRBANKS_NORTH_STAR_BOROUGH_AK + output: + ak_ccap_rate_region: FAIRBANKS_NORTH_STAR_BOROUGH_AK + +- name: Case 3, Matanuska-Susitna maps to MATANUSKA_SUSITNA_BOROUGH_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: MATANUSKA_SUSITNA_BOROUGH_AK + output: + ak_ccap_rate_region: MATANUSKA_SUSITNA_BOROUGH_AK + +- name: Case 4, Kodiak Island maps to KODIAK_ISLAND_BOROUGH_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: KODIAK_ISLAND_BOROUGH_AK + output: + ak_ccap_rate_region: KODIAK_ISLAND_BOROUGH_AK + +- name: Case 5, Yukon-Koyukuk maps to YUKON_KOYUKUK_CENSUS_AREA_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: YUKON_KOYUKUK_CENSUS_AREA_AK + output: + ak_ccap_rate_region: YUKON_KOYUKUK_CENSUS_AREA_AK + +- name: Case 6, Chugach (post-2019 split) shares the Valdez-Cordova rate column (CHUGACH_CENSUS_AREA_AK). + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: CHUGACH_CENSUS_AREA_AK + output: + ak_ccap_rate_region: CHUGACH_CENSUS_AREA_AK + +- name: Case 7, Copper River (post-2019 split) collapses into CHUGACH_CENSUS_AREA_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: COPPER_RIVER_CENSUS_AREA_AK + output: + ak_ccap_rate_region: CHUGACH_CENSUS_AREA_AK + +- name: Case 8, Bethel maps to BETHEL_CENSUS_AREA_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: BETHEL_CENSUS_AREA_AK + output: + ak_ccap_rate_region: BETHEL_CENSUS_AREA_AK + +- name: Case 9, Juneau maps to JUNEAU_CITY_AND_BOROUGH_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: JUNEAU_CITY_AND_BOROUGH_AK + output: + ak_ccap_rate_region: JUNEAU_CITY_AND_BOROUGH_AK + +- name: Case 10, explicit UNKNOWN county falls back to ANCHORAGE_MUNICIPALITY_AK. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: UNKNOWN + output: + ak_ccap_rate_region: ANCHORAGE_MUNICIPALITY_AK + +- name: Case 11, non-AK household returns the default (Anchorage) via defined_for. + period: 2022-01 + input: + people: + person1: + age: 30 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: CA + county_str: LOS_ANGELES_COUNTY_CA + output: + ak_ccap_rate_region: ANCHORAGE_MUNICIPALITY_AK diff --git a/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.yaml b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.yaml new file mode 100644 index 00000000000..78b2773b086 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.yaml @@ -0,0 +1,144 @@ +# ak_ccap_special_needs_supplement: Person, float (USD), MONTH +# Alaska IN! supplemental rate per 7 AAC 41.060(b). Up to 2x standard rate +# (combined cap); the supplement above the standard rate is +# (multiplier - 1) * base = 1 * base. +# Applies only when is_disabled AND ak_ccap_child_eligible. + +- name: Case 1, non-disabled eligible child receives no supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + is_disabled: false + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_special_needs_supplement: 0 + +- name: Case 2, disabled eligible preschooler in Anchorage gets supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Base rate Anchorage center preschool FT_MONTH = 1_019 + # Supplement = (2 - 1) * 1_019 = 1_019 + ak_ccap_special_needs_supplement: 1_019 + +- name: Case 3, disabled but age-ineligible child gets no supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 14 # over CCAP age cap + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Not ak_ccap_child_eligible -> no supplement + ak_ccap_special_needs_supplement: 0 + +- name: Case 4, disabled adult gets no supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 30 + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + ak_ccap_special_needs_supplement: 0 + +- name: Case 5, supplement uses authorized rate when charged is below state max. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: CITIZEN + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + ak_ccap_charged_rate: 500 # below max 1_019 + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Authorized = min(500, 1_019) = 500; supplement = (2 - 1) * 500 = 500 + # Not (2 - 1) * 1_019 = 1_019 — supplement scales with authorized, not max. + ak_ccap_special_needs_supplement: 500 + +- name: Case 6, disabled but undocumented child gets no supplement. + period: 2022-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 4 + immigration_status: UNDOCUMENTED + is_disabled: true + ak_ccap_provider_type: LICENSED_CENTER + ak_ccap_care_schedule: FT_MONTH + spm_units: + spm_unit: + members: [person1] + households: + household: + members: [person1] + state_code: AK + county_str: ANCHORAGE_MUNICIPALITY_AK + output: + # Not ak_ccap_child_eligible (immigration) -> no supplement + ak_ccap_special_needs_supplement: 0 diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap.py new file mode 100644 index 00000000000..c1a9c7f731e --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap.py @@ -0,0 +1,34 @@ +from policyengine_us.model_api import * + + +class ak_ccap(Variable): + value_type = float + entity = SPMUnit + unit = USD + label = "Alaska CCAP monthly benefit" + definition_period = MONTH + defined_for = "ak_ccap_eligible" + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=846", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=596", + ) + + def formula(spm_unit, period): + # Manual §4370 describes the subsidy as + # `min(provider charged rate, state max rate) - copay`. + # In microsim we don't observe per-provider charged rates, so we + # approximate the regulatory min(charged, max) with min(actual + # childcare expenses the household pays, state max). This matches + # the MA CCFA / CO CCAP / RI CCAP convention. We use + # `spm_unit_pre_subsidy_childcare_expenses` (not `childcare_expenses`) + # to avoid a cycle with state TANF programs. + # Manual §4370-4 registration fee (up to $50/year/child) is paid by the State directly + # to the licensed provider — NOT by the family — so it's outside the modeled monthly + # subsidy: ak_ccap = max(0, min(charged, max_rate) - copay). + total_per_child = add(spm_unit, period, ["ak_ccap_benefit_per_child"]) + pre_subsidy_childcare_expenses = spm_unit( + "spm_unit_pre_subsidy_childcare_expenses", period + ) + copay = spm_unit("ak_ccap_copay", period) + capped = min_(pre_subsidy_childcare_expenses, total_per_child) + return max_(0, capped - copay) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap_charged_rate.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap_charged_rate.py new file mode 100644 index 00000000000..3e2aad7bea6 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_ccap_charged_rate.py @@ -0,0 +1,12 @@ +from policyengine_us.model_api import * + + +class ak_ccap_charged_rate(Variable): + value_type = float + entity = Person + unit = USD + label = "Alaska CCAP provider-charged rate per child (input)" + documentation = "This is an input variable representing the actual rate the provider charges per child. PolicyEngine households default to 0 unless explicitly set." + definition_period = MONTH + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=598" diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.py new file mode 100644 index 00000000000..401ee031f72 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/benefit/ak_child_care_subsidies.py @@ -0,0 +1,11 @@ +from policyengine_us.model_api import * + + +class ak_child_care_subsidies(Variable): + value_type = float + entity = SPMUnit + label = "Alaska child care subsidies" + unit = USD + definition_period = YEAR + defined_for = StateCode.AK + adds = ["ak_ccap"] diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.py new file mode 100644 index 00000000000..a98badfde96 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay.py @@ -0,0 +1,21 @@ +from policyengine_us.model_api import * + + +class ak_ccap_copay(Variable): + value_type = float + entity = SPMUnit + label = "Alaska CCAP family monthly copay" + definition_period = MONTH + unit = USD + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203" + + def formula(spm_unit, period): + # ATAP-enrolled families (PASS I) have a $0 copay per Manual §4040-3 D. + # We use `is_tanf_enrolled` (PolicyEngine's family-level TANF/ATAP + # enrollment flag) to break the circular dependency between + # ak_ccap_copay -> ak_atap -> childcare_expenses -> ak_ccap. + on_atap = spm_unit("is_tanf_enrolled", period) + countable = spm_unit("ak_ccap_countable_income", period) + rate = spm_unit("ak_ccap_copay_rate", period) + return where(on_atap, 0, countable * rate) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.py new file mode 100644 index 00000000000..2f5c48d1fa8 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/copay/ak_ccap_copay_rate.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class ak_ccap_copay_rate(Variable): + value_type = float + entity = SPMUnit + label = "Alaska CCAP family copay rate as share of income" + definition_period = MONTH + unit = "/1" + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/okdlx2xm/alaska-fics.pdf#page=1" + + def formula(spm_unit, period, parameters): + p = parameters(period).gov.states.ak.dpa.ccap.copay + countable = spm_unit("ak_ccap_countable_income", period) + monthly_smi = spm_unit("hhs_smi", period) + smi_ratio = where(monthly_smi > 0, countable / monthly_smi, 0) + return p.sliding_scale.calc(smi_ratio) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.py new file mode 100644 index 00000000000..d622837d460 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_age_eligible.py @@ -0,0 +1,22 @@ +from policyengine_us.model_api import * + + +class ak_ccap_child_age_eligible(Variable): + value_type = bool + entity = Person + label = "Age eligible for Alaska CCAP" + definition_period = MONTH + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=910", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173", + ) + + def formula(person, period, parameters): + # 7 AAC 41.060(a) caps the special-needs age limit at the same + # under-13 threshold as the general child eligibility — Alaska does + # not extend the federal CCDF special-needs age (up to 19) at the + # moment. A single age check therefore covers both cases. + p = parameters(period).gov.states.ak.dpa.ccap.age_threshold + age = person("age", period.this_year) + return age < p.child diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.py new file mode 100644 index 00000000000..6e11a5220cd --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_child_eligible.py @@ -0,0 +1,20 @@ +from policyengine_us.model_api import * + + +class ak_ccap_child_eligible(Variable): + value_type = bool + entity = Person + label = "Eligible child for Alaska CCAP" + definition_period = MONTH + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=910", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173", + ) + + def formula(person, period): + age_eligible = person("ak_ccap_child_age_eligible", period) + immigration_eligible = person( + "is_ccdf_immigration_eligible_child", period.this_year + ) + return age_eligible & immigration_eligible diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.py new file mode 100644 index 00000000000..b7cb3185d5d --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_eligible.py @@ -0,0 +1,20 @@ +from policyengine_us.model_api import * + + +class ak_ccap_eligible(Variable): + value_type = bool + entity = SPMUnit + label = "Eligible for Alaska CCAP" + definition_period = MONTH + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=846", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173", + ) + + def formula(spm_unit, period): + has_eligible_child = add(spm_unit, period, ["ak_ccap_child_eligible"]) > 0 + income_eligible = spm_unit("ak_ccap_income_eligible", period) + asset_eligible = spm_unit("is_ccdf_asset_eligible", period.this_year) + activity_eligible = spm_unit("ak_ccap_parent_in_eligible_activity", period) + return has_eligible_child & income_eligible & asset_eligible & activity_eligible diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.py new file mode 100644 index 00000000000..b233689b030 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/eligibility/ak_ccap_parent_in_eligible_activity.py @@ -0,0 +1,35 @@ +from policyengine_us.model_api import * + + +class ak_ccap_parent_in_eligible_activity(Variable): + value_type = bool + entity = SPMUnit + label = "Each parent meets Alaska CCAP activity requirement" + definition_period = MONTH + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=184" + + def formula(spm_unit, period): + # Manual §4070-3 D requires EACH parent to be engaged in an eligible + # activity. We don't track job search, training, jury duty, or CC24 + # incapacity at the moment — fall back to the federal CCDF activity + # test (meets_ccdf_activity_test) so units flagged there are + # treated as meeting the AK requirement. We also don't check the + # self-employment minimum-wage threshold at the moment. + person = spm_unit.members + is_head_or_spouse = person("is_tax_unit_head_or_spouse", period.this_year) + has_earning = ( + add(person, period, ["employment_income", "self_employment_income"]) > 0 + ) + hours_worked = person("weekly_hours_worked", period.this_year) + is_student = person("is_full_time_student", period.this_year) + individually_eligible = has_earning | (hours_worked > 0) | is_student + n_parents = spm_unit.sum(is_head_or_spouse) + n_failing_parents = spm_unit.sum(is_head_or_spouse & ~individually_eligible) + all_parents_qualify = (n_parents >= 1) & (n_failing_parents == 0) + # Manual §4070-3 D requires each parent in the family to be in an eligible activity. + # We fall back to the federal CCDF activity test for activities not separately modeled + # (job search, training, CC24 incapacity), which can be slightly broader than Alaska's + # strict "each parent" test. Documented simplification. + fallback = spm_unit("meets_ccdf_activity_test", period.this_year) + return all_parents_qualify | fallback diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.py new file mode 100644 index 00000000000..a5de7b8dea5 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_earned_income.py @@ -0,0 +1,32 @@ +from policyengine_us.model_api import * + + +class ak_ccap_countable_earned_income(Variable): + value_type = float + entity = SPMUnit + label = "Alaska CCAP countable earned income" + definition_period = MONTH + unit = USD + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203", + ) + + def formula(spm_unit, period, parameters): + # Manual §4080-2 J.4 prorates annual self-employment income over + # 12 months when self-employment income exceeds 185% of the federal + # poverty guideline for the family size, and over the "months of + # normal season of work" otherwise. We don't model the seasonal + # branch at the moment because PolicyEngine treats + # `self_employment_income` as annualized; the standard period + # conversion from annual to monthly approximates the >185% FPG + # branch. + p_income = parameters(period).gov.states.ak.dpa.ccap.income.countable_income + adult_age = parameters(period).gov.states.ak.dpa.ccap.age_threshold.adult + person = spm_unit.members + is_adult = person("age", period.this_year) >= adult_age + earned_per_person = sum( + person(source, period) for source in p_income.earned_sources + ) + return spm_unit.sum(earned_per_person * is_adult) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.py new file mode 100644 index 00000000000..d3548f9dea5 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_income.py @@ -0,0 +1,25 @@ +from policyengine_us.model_api import * + + +class ak_ccap_countable_income(Variable): + value_type = float + entity = SPMUnit + label = "Alaska CCAP countable income" + definition_period = MONTH + unit = USD + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203", + ) + + def formula(spm_unit, period): + # Manual §4080-4 B catastrophic medical (>10% income) is not modeled — PolicyEngine + # does not track catastrophic medical as a category separate from routine OOP medical. + # Manual §4080-4 C educational income/expense pair: educational income is not in + # our unearned_sources whitelist, so omitting the matching deduction is internally + # consistent (net zero effect on countable income). + earned = spm_unit("ak_ccap_countable_earned_income", period) + unearned = spm_unit("ak_ccap_countable_unearned_income", period) + child_support = add(spm_unit, period, ["child_support_expense"]) + return max_(0, earned + unearned - child_support) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.py new file mode 100644 index 00000000000..5f41d7d2713 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_countable_unearned_income.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class ak_ccap_countable_unearned_income(Variable): + value_type = float + entity = SPMUnit + label = "Alaska CCAP countable unearned income" + definition_period = MONTH + unit = USD + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=231", + ) + + adds = "gov.states.ak.dpa.ccap.income.countable_income.unearned_sources" diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.py new file mode 100644 index 00000000000..ef6c531ae15 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/income/ak_ccap_income_eligible.py @@ -0,0 +1,23 @@ +from policyengine_us.model_api import * + + +class ak_ccap_income_eligible(Variable): + value_type = bool + entity = SPMUnit + label = "Eligible for Alaska CCAP based on income" + definition_period = MONTH + defined_for = StateCode.AK + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=907", + "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=173", + ) + + def formula(spm_unit, period, parameters): + countable = spm_unit("ak_ccap_countable_income", period) + # Alaska CCAP "family" (Manual §4070-4 A.1) is parents + minor children — extended-family + # members co-residing are excluded. PolicyEngine uses spm_unit_size (via hhs_smi), which + # can include such adults, slightly overstating family size in those households. Accepted + # simplification. + smi = spm_unit("hhs_smi", period) + smi_rate = parameters(period).gov.states.ak.dpa.ccap.income.smi_rate + return countable <= smi * smi_rate diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.py new file mode 100644 index 00000000000..7bd47f1034b --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_age_group.py @@ -0,0 +1,24 @@ +from policyengine_us.model_api import * + + +class AKCCAPAgeGroup(Enum): + INFANT = "Infant (0 to 12 months)" + TODDLER = "Toddler (13 to 35 months)" + PRESCHOOL = "Preschool (36 to 59 months)" + SCHOOL_AGE = "School Age (60+ months)" + + +class ak_ccap_age_group(Variable): + value_type = Enum + entity = Person + possible_values = AKCCAPAgeGroup + default_value = AKCCAPAgeGroup.PRESCHOOL + definition_period = MONTH + label = "Alaska CCAP age group" + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1" + + def formula(person, period, parameters): + p = parameters(period).gov.states.ak.dpa.ccap.age_group + age_in_months = person("age", period.this_year) * MONTHS_IN_YEAR + return p.months.calc(age_in_months) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.py new file mode 100644 index 00000000000..9cd88ba3f87 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_authorized_rate_per_child.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class ak_ccap_authorized_rate_per_child(Variable): + value_type = float + entity = Person + unit = USD + label = "Alaska CCAP authorized reimbursement rate per child" + definition_period = MONTH + defined_for = "ak_ccap_child_eligible" + reference = "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203" + + def formula(person, period): + charged = person("ak_ccap_charged_rate", period) + max_state_rate = person("ak_ccap_max_provider_rate_per_child", period) + # When we don't track the provider's charged rate (charged = 0), + # assume the family is charged at least the state maximum. + return where(charged > 0, min_(charged, max_state_rate), max_state_rate) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.py new file mode 100644 index 00000000000..52fbdb9cdd8 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_benefit_per_child.py @@ -0,0 +1,16 @@ +from policyengine_us.model_api import * + + +class ak_ccap_benefit_per_child(Variable): + value_type = float + entity = Person + unit = USD + label = "Alaska CCAP subsidy per child before copay" + definition_period = MONTH + defined_for = "ak_ccap_child_eligible" + reference = "https://health.alaska.gov/media/igiccwuf/child-care-assistance-program-policies-and-procedures.pdf#page=203" + + def formula(person, period): + authorized = person("ak_ccap_authorized_rate_per_child", period) + sn_supplement = person("ak_ccap_special_needs_supplement", period) + return authorized + sn_supplement diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_care_schedule.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_care_schedule.py new file mode 100644 index 00000000000..135f5a16944 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_care_schedule.py @@ -0,0 +1,19 @@ +from policyengine_us.model_api import * + + +class AKCCAPCareSchedule(Enum): + FT_MONTH = "Full-time month" + PT_MONTH = "Part-time month" + FT_DAY = "Full-time day" + PT_DAY = "Part-time day" + + +class ak_ccap_care_schedule(Variable): + value_type = Enum + entity = Person + possible_values = AKCCAPCareSchedule + default_value = AKCCAPCareSchedule.FT_MONTH + definition_period = MONTH + label = "Alaska CCAP care schedule (provider billing)" + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1" diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.py new file mode 100644 index 00000000000..32da6b70fbb --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_max_provider_rate_per_child.py @@ -0,0 +1,70 @@ +from policyengine_us.model_api import * +from policyengine_us.variables.gov.states.ak.dpa.ccap.rates.ak_ccap_provider_type import ( + AKCCAPProviderType, +) +from policyengine_us.variables.gov.states.ak.dpa.ccap.rates.ak_ccap_care_schedule import ( + AKCCAPCareSchedule, +) + + +class ak_ccap_max_provider_rate_per_child(Variable): + value_type = float + entity = Person + unit = USD + label = "Alaska CCAP maximum provider reimbursement rate per child" + definition_period = MONTH + defined_for = "ak_ccap_child_eligible" + reference = "https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1" + + def formula(person, period, parameters): + p = parameters(period).gov.states.ak.dpa.ccap.rates + provider_type = person("ak_ccap_provider_type", period) + care_schedule = person("ak_ccap_care_schedule", period) + age_group = person("ak_ccap_age_group", period) + region = person.spm_unit("ak_ccap_rate_region", period) + attending_days = person("childcare_attending_days_per_month", period.this_year) + + is_part_day = (care_schedule == AKCCAPCareSchedule.PT_MONTH) | ( + care_schedule == AKCCAPCareSchedule.PT_DAY + ) + day_schedule = where( + is_part_day, AKCCAPCareSchedule.PT_DAY, AKCCAPCareSchedule.FT_DAY + ) + month_schedule = where( + is_part_day, + AKCCAPCareSchedule.PT_MONTH, + AKCCAPCareSchedule.FT_MONTH, + ) + + provider_conditions = [ + provider_type == AKCCAPProviderType.LICENSED_CENTER, + provider_type == AKCCAPProviderType.LICENSED_GROUP_HOME, + provider_type == AKCCAPProviderType.LICENSED_HOME, + provider_type == AKCCAPProviderType.APPROVED_RELATIVE_IN_HOME, + ] + day_rate = select( + provider_conditions, + [ + p.licensed_center[day_schedule][region][age_group], + p.licensed_group_home[day_schedule][region][age_group], + p.licensed_home[day_schedule][region][age_group], + p.approved_relative_in_home[day_schedule][region][age_group], + ], + ) + month_rate = select( + provider_conditions, + [ + p.licensed_center[month_schedule][region][age_group], + p.licensed_group_home[month_schedule][region][age_group], + p.licensed_home[month_schedule][region][age_group], + p.approved_relative_in_home[month_schedule][region][age_group], + ], + ) + + # Day-based schedules charge per attending day (zero days = $0). + # Month-based schedules charge a flat monthly rate regardless of + # attending days. + is_day_based = (care_schedule == AKCCAPCareSchedule.FT_DAY) | ( + care_schedule == AKCCAPCareSchedule.PT_DAY + ) + return where(is_day_based, day_rate * attending_days, month_rate) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_provider_type.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_provider_type.py new file mode 100644 index 00000000000..53896b9ae2d --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_provider_type.py @@ -0,0 +1,19 @@ +from policyengine_us.model_api import * + + +class AKCCAPProviderType(Enum): + LICENSED_CENTER = "Licensed or military child care center" + LICENSED_GROUP_HOME = "Licensed group home" + LICENSED_HOME = "Licensed or military family home" + APPROVED_RELATIVE_IN_HOME = "Approved relative or in-home care" + + +class ak_ccap_provider_type(Variable): + value_type = Enum + entity = Person + possible_values = AKCCAPProviderType + default_value = AKCCAPProviderType.LICENSED_CENTER + definition_period = MONTH + label = "Alaska CCAP child care provider type" + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1" diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.py new file mode 100644 index 00000000000..d02f6830afc --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_rate_region.py @@ -0,0 +1,69 @@ +from policyengine_us.model_api import * +from policyengine_us.variables.household.demographic.geographic.county.county_enum import ( + County, +) + + +class AKCCAPRateRegion(Enum): + ALEUTIANS_EAST_BOROUGH_AK = "Aleutians East Borough" + ALEUTIANS_WEST_CENSUS_AREA_AK = "Aleutians West Census Area" + ANCHORAGE_MUNICIPALITY_AK = "Anchorage Municipality" + BETHEL_CENSUS_AREA_AK = "Bethel Census Area" + BRISTOL_BAY_BOROUGH_AK = "Bristol Bay Borough" + CHUGACH_CENSUS_AREA_AK = "Chugach Census Area" + DENALI_BOROUGH_AK = "Denali Borough" + DILLINGHAM_CENSUS_AREA_AK = "Dillingham Census Area" + FAIRBANKS_NORTH_STAR_BOROUGH_AK = "Fairbanks North Star Borough" + HAINES_BOROUGH_AK = "Haines Borough" + HOONAH_ANGOON_CENSUS_AREA_AK = "Hoonah-Angoon Census Area" + JUNEAU_CITY_AND_BOROUGH_AK = "Juneau City and Borough" + KENAI_PENINSULA_BOROUGH_AK = "Kenai Peninsula Borough" + KETCHIKAN_GATEWAY_BOROUGH_AK = "Ketchikan Gateway Borough" + KODIAK_ISLAND_BOROUGH_AK = "Kodiak Island Borough" + KUSILVAK_CENSUS_AREA_AK = "Kusilvak Census Area" + LAKE_AND_PENINSULA_BOROUGH_AK = "Lake and Peninsula Borough" + MATANUSKA_SUSITNA_BOROUGH_AK = "Matanuska-Susitna Borough" + NOME_CENSUS_AREA_AK = "Nome Census Area" + NORTH_SLOPE_BOROUGH_AK = "North Slope Borough" + NORTHWEST_ARCTIC_BOROUGH_AK = "Northwest Arctic Borough" + PETERSBURG_BOROUGH_AK = "Petersburg Borough" + PRINCE_OF_WALES_HYDER_CENSUS_AREA_AK = "Prince of Wales-Hyder Census Area" + SITKA_CITY_AND_BOROUGH_AK = "Sitka City and Borough" + SKAGWAY_MUNICIPALITY_AK = "Skagway Municipality" + SOUTHEAST_FAIRBANKS_CENSUS_AREA_AK = "Southeast Fairbanks Census Area" + WRANGELL_CITY_AND_BOROUGH_AK = "Wrangell City and Borough" + YAKUTAT_CITY_AND_BOROUGH_AK = "Yakutat City and Borough" + YUKON_KOYUKUK_CENSUS_AREA_AK = "Yukon-Koyukuk Census Area" + + +class ak_ccap_rate_region(Variable): + value_type = Enum + entity = SPMUnit + possible_values = AKCCAPRateRegion + default_value = AKCCAPRateRegion.ANCHORAGE_MUNICIPALITY_AK + definition_period = MONTH + label = "Alaska CCAP rate region" + defined_for = StateCode.AK + reference = "https://health.alaska.gov/media/wsvhl3v3/ccap-rate-schedule.pdf#page=1" + + def formula(spm_unit, period, parameters): + county = spm_unit.household("county_str", period.this_year) + # The 2019 split of the Valdez-Cordova Census Area produced two + # successors (Chugach and Copper River); the rate schedule still + # publishes one combined Valdez-Cordova column, so we collapse + # Copper River into Chugach to share that single rate. + rate_region = where( + county == County.COPPER_RIVER_CENSUS_AREA_AK.name, + AKCCAPRateRegion.CHUGACH_CENSUS_AREA_AK.name, + county, + ) + # Fall back to Anchorage when the county string is UNKNOWN or + # any other value not in the AK rate-region enum. + valid_region_names = [r.name for r in AKCCAPRateRegion] + is_valid = np.isin(rate_region, valid_region_names) + rate_region = where( + is_valid, + rate_region, + AKCCAPRateRegion.ANCHORAGE_MUNICIPALITY_AK.name, + ) + return AKCCAPRateRegion.encode(rate_region) diff --git a/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.py b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.py new file mode 100644 index 00000000000..fd83628df58 --- /dev/null +++ b/policyengine_us/variables/gov/states/ak/dpa/ccap/rates/ak_ccap_special_needs_supplement.py @@ -0,0 +1,25 @@ +from policyengine_us.model_api import * + + +class ak_ccap_special_needs_supplement(Variable): + value_type = float + entity = Person + unit = USD + label = "Alaska CCAP maximum special-needs (Alaska IN!) supplement per child" + documentation = "Maximum allowable per-child special-needs supplement under 7 AAC 41.060(b). Actual supplement amounts can be lower because the per-case CC51 authorization (a percentage between 0% and 100% of the authorized rate) is not observed; we apply the full cap to every disabled child." + definition_period = MONTH + defined_for = "ak_ccap_child_eligible" + reference = ( + "https://www.akleg.gov/statutesPDF/aac%20Title%207.pdf#page=858", + "https://health.alaska.gov/en/services/alaska-inclusive-child-care/", + ) + + def formula(person, period, parameters): + # We don't track the per-child CC51 supplement percentage at the + # moment — apply the 7 AAC 41.060(b) cap (100% of authorized) to + # every disabled child. `is_disabled` is narrower than Alaska IN!'s + # "diagnosed special need" eligibility criterion. + p = parameters(period).gov.states.ak.dpa.ccap.special_needs + is_disabled = person("is_disabled", period.this_year) + authorized = person("ak_ccap_authorized_rate_per_child", period) + return is_disabled * authorized * (p.supplement_multiplier - 1)