-
Notifications
You must be signed in to change notification settings - Fork 201
Implement Michigan Family Independence Program (FIP) #6812
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
hua7450
wants to merge
14
commits into
PolicyEngine:master
Choose a base branch
from
hua7450:mi_tanf_simple
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
7b0c224
Initial commit for Michigan TANF implementation
hua7450 d1bb8a3
Update tracking file with new issue and PR numbers
hua7450 fedba02
Add comprehensive integration tests for Michigan TANF
hua7450 578f984
Implement Michigan Family Independence Program (FIP/TANF) with zero h…
hua7450 2d5004a
Fix basic integration issue: variable name mismatch
hua7450 7723373
Add comprehensive unit tests for Michigan TANF variables
hua7450 ba01ab7
Fix hard-coded max_bracket_size value in mi_tanf_payment_standard
hua7450 a87514d
Reorganize Michigan TANF parameters and simplify implementation
hua7450 1fc7f92
Restructure MI TANF parameters following PA/OH patterns
hua7450 f1bed52
Rename Michigan TANF to FIP and restructure following PA/OH patterns
hua7450 801106c
Implement per-person earned income deductions per BEM 518
hua7450 04ab3cb
adjustment
hua7450 829861b
Fix Michigan FIP eligibility to include demographic and immigration c…
hua7450 8052551
Separate initial eligibility test from benefit calculation
hua7450 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| - bump: minor | ||
| changes: | ||
| added: | ||
| - Michigan Family Independence Program (FIP/TANF) |
15 changes: 15 additions & 0 deletions
15
...meters/gov/states/mi/mdhhs/fip/income/deductions/earned_income_disregard/flat_amount.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| description: Michigan deducts this fixed dollar amount from earned income when determining Family Independence Program eligibility and calculating benefits. | ||
|
|
||
| values: | ||
| 2008-10-01: 200 | ||
|
|
||
| metadata: | ||
| unit: currency-USD | ||
| period: month | ||
| label: Michigan FIP earned income flat deduction | ||
| reference: | ||
| - title: Michigan DHHS BEM 518 - FIP/RCA/SDA Income Budgeting | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/ex/BP/Public/BEM/518.pdf | ||
| - title: Michigan TANF State Plan 2023 | ||
| href: https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Inside-MDHHS/Reports-and-Statistics---Human-Services/State-Plans-and-Federal-Regulations/TANF_State_Plan_2023.pdf | ||
| publication_date: 2023-01-01 |
14 changes: 14 additions & 0 deletions
14
...rs/gov/states/mi/mdhhs/fip/income/deductions/earned_income_disregard/initial_percent.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| description: Michigan deducts this share of remaining earned income (after the flat deduction) when determining initial Family Independence Program eligibility for new applicants. | ||
|
|
||
| values: | ||
| 2008-10-01: 0.2 | ||
|
|
||
| metadata: | ||
| unit: /1 | ||
| period: month | ||
| label: Michigan FIP initial earned income percentage deduction | ||
| reference: | ||
| - title: Michigan DHHS BEM 518 - FIP/RCA/SDA Income Budgeting (Qualifying Earned Income Disregard) | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/ex/BP/Public/BEM/518.pdf | ||
| - title: Michigan DHHS BEM 520 - Computing the FIP/RCA/SDA Budget (Section C) | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/EX/BP/Public/BEM/520.pdf |
15 changes: 15 additions & 0 deletions
15
...rs/gov/states/mi/mdhhs/fip/income/deductions/earned_income_disregard/ongoing_percent.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| description: Michigan deducts this share of remaining earned income (after the flat deduction) when calculating Family Independence Program benefits for currently enrolled recipients. | ||
|
|
||
| values: | ||
| 2008-10-01: 0.2 | ||
| 2011-01-01: 0.5 | ||
|
|
||
| metadata: | ||
| unit: /1 | ||
| period: month | ||
| label: Michigan FIP ongoing earned income percentage deduction | ||
| reference: | ||
| - title: Michigan DHHS BEM 518 - FIP/RCA/SDA Income Budgeting (Issuance Earned Income Disregard) | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/ex/BP/Public/BEM/518.pdf | ||
| - title: Michigan DHHS BEM 520 - Computing the FIP/RCA/SDA Budget (Section D) | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/EX/BP/Public/BEM/520.pdf |
18 changes: 18 additions & 0 deletions
18
...e_us/parameters/gov/states/mi/mdhhs/fip/payment_standard/additional_person_increment.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| description: Michigan adds this amount to the Family Independence Program payment standard for each person beyond household size 7. | ||
|
|
||
| values: | ||
| 2017-01-01: 80 | ||
| 2024-12-01: 95 | ||
|
|
||
| metadata: | ||
| unit: currency-USD | ||
| period: month | ||
| label: Michigan FIP additional person increment | ||
| reference: | ||
| - title: Michigan TANF State Plan 2017 - Payment Standards (frozen 2008-2024) | ||
| href: https://www.michigan.gov/-/media/Project/Websites/mdhhs/Folder1/Folder33/TANF_State_Plan_2017.pdf#page=7 | ||
| - title: Michigan TANF State Plan Effective 01-01-23 Revised 07-01-25 - Updated Payment Standards | ||
| href: https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Inside-MDHHS/Reports-and-Statistics---Human-Services/State-Plans-and-Federal-Regulations/TANF_State_Plan_Effective_01-01-23_Rev-07-01-25.pdf | ||
| - title: Michigan DHHS Reference Table 210 - FIP Monthly Assistance Payment Standard | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/ex/RF/Public/RFT/210.pdf | ||
| publication_date: 2025-01-01 | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lets remove publication dates |
||
53 changes: 53 additions & 0 deletions
53
policyengine_us/parameters/gov/states/mi/mdhhs/fip/payment_standard/amounts.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| description: Michigan provides up to this monthly payment amount under the Family Independence Program, based on household size. | ||
|
|
||
| metadata: | ||
| type: single_amount | ||
| threshold_unit: int | ||
| amount_unit: currency-USD | ||
| period: month | ||
| label: Michigan FIP payment standard | ||
| reference: | ||
| - title: Michigan TANF State Plan 2017 - Payment Standards (frozen 2008-2024) | ||
| href: https://www.michigan.gov/-/media/Project/Websites/mdhhs/Folder1/Folder33/TANF_State_Plan_2017.pdf#page=7 | ||
| - title: Michigan TANF State Plan Effective 01-01-23 Revised 07-01-25 - Updated Payment Standards | ||
| href: https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Inside-MDHHS/Reports-and-Statistics---Human-Services/State-Plans-and-Federal-Regulations/TANF_State_Plan_Effective_01-01-23_Rev-07-01-25.pdf | ||
| - title: Michigan DHHS Reference Table 210 - FIP Monthly Assistance Payment Standard | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/ex/RF/Public/RFT/210.pdf | ||
| publication_date: 2025-01-01 | ||
|
|
||
| brackets: | ||
| - threshold: | ||
| 2017-01-01: 1 | ||
| amount: | ||
| 2017-01-01: 306 | ||
| 2024-12-01: 363 | ||
| - threshold: | ||
| 2017-01-01: 2 | ||
| amount: | ||
| 2017-01-01: 403 | ||
| 2024-12-01: 478 | ||
| - threshold: | ||
| 2017-01-01: 3 | ||
| amount: | ||
| 2017-01-01: 492 | ||
| 2024-12-01: 583 | ||
| - threshold: | ||
| 2017-01-01: 4 | ||
| amount: | ||
| 2017-01-01: 597 | ||
| 2024-12-01: 707 | ||
| - threshold: | ||
| 2017-01-01: 5 | ||
| amount: | ||
| 2017-01-01: 694 | ||
| 2024-12-01: 822 | ||
| - threshold: | ||
| 2017-01-01: 6 | ||
| amount: | ||
| 2017-01-01: 828 | ||
| 2024-12-01: 981 | ||
| - threshold: | ||
| 2017-01-01: 7 | ||
| amount: | ||
| 2017-01-01: 905 | ||
| 2024-12-01: 1_072 |
14 changes: 14 additions & 0 deletions
14
policyengine_us/parameters/gov/states/mi/mdhhs/fip/resource_limit.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| description: Michigan limits the Family Independence Program to households with countable assets up to this amount. | ||
|
|
||
| values: | ||
| 2008-10-01: 3_000 | ||
| 2019-01-01: 15_000 | ||
|
|
||
| metadata: | ||
| unit: currency-USD | ||
| label: Michigan FIP resource limit | ||
| period: year | ||
| reference: | ||
| - title: Michigan DHHS BEM 400 - Assets | ||
| href: https://mdhhs-pres-prod.michigan.gov/olmweb/EX/BP/Public/BEM/400.pdf | ||
| effective_date: 2025-10-01 |
76 changes: 76 additions & 0 deletions
76
...yengine_us/tests/policy/baseline/gov/states/mi/mdhhs/fip/eligibility/mi_fip_eligible.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| - name: All requirements met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: true | ||
| is_citizen_or_legal_immigrant: true | ||
| mi_fip_income_eligible: true | ||
| mi_fip_resources_eligible: true | ||
| output: | ||
| mi_fip_eligible: true | ||
|
|
||
| - name: Demographic not met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: false | ||
| is_citizen_or_legal_immigrant: true | ||
| mi_fip_income_eligible: true | ||
| mi_fip_resources_eligible: true | ||
| output: | ||
| mi_fip_eligible: false | ||
|
|
||
| - name: Citizenship not met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: true | ||
| is_citizen_or_legal_immigrant: false | ||
| mi_fip_income_eligible: true | ||
| mi_fip_resources_eligible: true | ||
| output: | ||
| mi_fip_eligible: false | ||
|
|
||
| - name: Income not met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: true | ||
| is_citizen_or_legal_immigrant: true | ||
| mi_fip_income_eligible: false | ||
| mi_fip_resources_eligible: true | ||
| output: | ||
| mi_fip_eligible: false | ||
|
|
||
| - name: Resources not met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: true | ||
| is_citizen_or_legal_immigrant: true | ||
| mi_fip_income_eligible: true | ||
| mi_fip_resources_eligible: false | ||
| output: | ||
| mi_fip_eligible: false | ||
|
|
||
| - name: No requirements met | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| is_demographic_tanf_eligible: false | ||
| is_citizen_or_legal_immigrant: false | ||
| mi_fip_income_eligible: false | ||
| mi_fip_resources_eligible: false | ||
| output: | ||
| mi_fip_eligible: false | ||
|
|
||
| - name: Household outside Michigan is not eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: CA | ||
| is_demographic_tanf_eligible: true | ||
| is_citizen_or_legal_immigrant: true | ||
| mi_fip_income_eligible: true | ||
| mi_fip_resources_eligible: true | ||
| output: | ||
| mi_fip_eligible: 0 |
104 changes: 104 additions & 0 deletions
104
..._us/tests/policy/baseline/gov/states/mi/mdhhs/fip/eligibility/mi_fip_income_eligible.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,104 @@ | ||
| - name: Enrolled recipient with income below payment standard is eligible | ||
| period: 2025-01 | ||
| input: | ||
| employment_income_before_lsr: 6_000 # $500/month | ||
| is_tanf_enrolled: true | ||
| state_code: MI | ||
| output: | ||
| # Enrolled uses Issuance Deficit Test (50% rate): | ||
| # Countable = $500 - [$200 + 50%×$300] = $500 - $350 = $150 | ||
| # Payment standard (size 1) = $363 | ||
| # $150 < $363 → ELIGIBLE | ||
| mi_fip_income_eligible: true | ||
|
|
||
| - name: New applicant with low income passes initial eligibility (20% test) | ||
| period: 2025-01 | ||
| input: | ||
| employment_income_before_lsr: 4_800 # $400/month | ||
| is_tanf_enrolled: false | ||
| state_code: MI | ||
| output: | ||
| # Initial eligibility uses 20% deduction: | ||
| # Countable (20%) = $400 - [$200 + 20%×$200] = $400 - $240 = $160 | ||
| # Payment standard (size 1) = $363 | ||
| # $160 < $363 → ELIGIBLE | ||
| mi_fip_income_eligible: true | ||
|
|
||
| - name: New applicant with high income fails initial eligibility (20% test) | ||
| period: 2025-01 | ||
| input: | ||
| employment_income_before_lsr: 12_000 # $1,000/month | ||
| is_tanf_enrolled: false | ||
| state_code: MI | ||
| output: | ||
| # Initial eligibility uses 20% deduction: | ||
| # Countable (20%) = $1,000 - [$200 + 20%×$800] = $1,000 - $360 = $640 | ||
| # Payment standard (size 1) = $363 | ||
| # $640 > $363 → NOT ELIGIBLE | ||
| mi_fip_income_eligible: false | ||
|
|
||
| - name: New applicant family of 3 at initial eligibility threshold | ||
| period: 2025-01 | ||
| input: | ||
| people: | ||
| parent: | ||
| employment_income_before_lsr: 9_768 # $814/month | ||
| age: 35 | ||
| child1: | ||
| age: 8 | ||
| child2: | ||
| age: 4 | ||
| spm_units: | ||
| spm_unit: | ||
| members: [parent, child1, child2] | ||
| households: | ||
| household: | ||
| members: [parent, child1, child2] | ||
| state_code: MI | ||
| output: | ||
| # Initial eligibility (20% deduction): | ||
| # Countable = $814 - [$200 + 20%×$614] = $814 - $322.80 = $491.20 | ||
| # Payment standard (size 3) = $583 | ||
| # $491.20 < $583 → ELIGIBLE | ||
| mi_fip_income_eligible: true | ||
|
|
||
| - name: New applicant family of 3 just above initial threshold | ||
| period: 2025-01 | ||
| input: | ||
| people: | ||
| parent: | ||
| employment_income_before_lsr: 9_900 # $825/month | ||
| age: 35 | ||
| child1: | ||
| age: 8 | ||
| child2: | ||
| age: 4 | ||
| spm_units: | ||
| spm_unit: | ||
| members: [parent, child1, child2] | ||
| households: | ||
| household: | ||
| members: [parent, child1, child2] | ||
| state_code: MI | ||
| output: | ||
| # Initial eligibility (20% deduction): | ||
| # Countable = $825 - [$200 + 20%×$625] = $825 - $325 = $500 | ||
| # Payment standard (size 3) = $583 | ||
| # $500 < $583 → ELIGIBLE | ||
| mi_fip_income_eligible: true | ||
|
|
||
| - name: Household with zero income is eligible | ||
| period: 2025-01 | ||
| input: | ||
| employment_income_before_lsr: 0 | ||
| state_code: MI | ||
| output: | ||
| mi_fip_income_eligible: true | ||
|
|
||
| - name: Household outside Michigan returns false | ||
| period: 2025-01 | ||
| input: | ||
| employment_income_before_lsr: 12_000 | ||
| state_code: CA | ||
| output: | ||
| mi_fip_income_eligible: false |
47 changes: 47 additions & 0 deletions
47
.../tests/policy/baseline/gov/states/mi/mdhhs/fip/eligibility/mi_fip_resources_eligible.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| - name: Household with assets below limit is eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| spm_unit_assets: 10_000 | ||
| output: | ||
| mi_fip_resources_eligible: true | ||
|
|
||
| - name: Household with zero assets is eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| spm_unit_assets: 0 | ||
| output: | ||
| mi_fip_resources_eligible: true | ||
|
|
||
| - name: Household with assets exactly at limit is eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| spm_unit_assets: 15_000 | ||
| output: | ||
| mi_fip_resources_eligible: true | ||
|
|
||
| - name: Household with assets exceeding limit is not eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| spm_unit_assets: 20_000 | ||
| output: | ||
| mi_fip_resources_eligible: false | ||
|
|
||
| - name: Household with assets one dollar over limit is not eligible | ||
| period: 2025-01 | ||
| input: | ||
| state_code: MI | ||
| spm_unit_assets: 15_001 | ||
| output: | ||
| mi_fip_resources_eligible: false | ||
|
|
||
| - name: Household outside Michigan returns zero | ||
| period: 2025-01 | ||
| input: | ||
| state_code: CA | ||
| spm_unit_assets: 10_000 | ||
| output: | ||
| mi_fip_resources_eligible: 0 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.