Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/general-assistance-income-sources.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Count general assistance as unearned income in WIC, school meals, and the DC, Illinois, and Montana TANF income lists, and give Maine TANF its own unearned income list that excludes general assistance.
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ values:
- social_security
- workers_compensation
- disability_benefits
# general_assistance is exempt under 9 CCR 2503-6, Section 3.605.4(A)(7)
metadata:
unit: list
period: month
label: Colorado TANF unearned income sources
reference:
- title: 9 CCR 2503-6, Section 3.605.3 — Countable Unearned Income Definition
href: https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=10321#page=45
- title: 9 CCR 2503-6, Section 3.605.4 (A)(7) — Exempt Unearned Income (General Assistance)
href: https://www.law.cornell.edu/regulations/colorado/9-CCR-2503-6-3.605
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ values:
- pension_income
- unemployment_compensation
- gi_cash_assistance
# D.C. Code 4-205.05(4) counts District and federal public assistance payments
- general_assistance
- social_security

metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ values:
- debt_relief
- illicit_income
- miscellaneous_income
# 89 Ill. Adm. Code 112.100(c) counts need based payments and cash assistance
- general_assistance
#- pension_income # exempt
#- veterans_benefits # exempt
#- gi_cash_assistance # exempt
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
description: Maine counts these income sources as unearned income under the Temporary Assistance for Needy Families program.
values:
2013-11-01:
- veterans_benefits
- survivor_benefits
- rental_income
# Chapter III, Section B(2)(a) excludes the first $50 of child support
# per month; the exclusion is applied downstream
- child_support_received
- alimony_income
# Chapter III, Section B(2)(k) excludes gifts of money up to $150 per
# household in three months; the exclusion is not modeled
- financial_assistance
- dividend_income
- interest_income
- miscellaneous_income
- pension_income
- unemployment_compensation
- gi_cash_assistance
- social_security
# Chapter III, Section B(2)(d) excludes General Assistance, so
# general_assistance is not counted

metadata:
unit: list
period: year
label: Maine TANF unearned income sources
reference:
- title: 10-144 C.M.R. Chapter 331, Chapter III - Eligibility Requirements (Financial), Section B
href: https://www.law.cornell.edu/regulations/maine/C-M-R-10-144-ch-331-III
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ values:
- social_security
- veterans_benefits
- workers_compensation
# TANF 501-1 (Assistance Programs) and Mont. Admin. r. 37.78.402 count
# Bureau of Indian Affairs General Assistance; general_assistance is a
# proxy for BIA General Assistance since Montana has no broad state
# general assistance program
- general_assistance
# Adoption Subsidies
# TANF from other states
# Capital Gains
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ values:
- unemployment_compensation
- gi_cash_assistance
- social_security
# general_assistance is not counted per the WF-114 income chart, which
# starts on the referenced page 6; the General Assistance row is on page 11
metadata:
unit: list
period: year
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ values:
- social_security
- ssi
- tanf
# 7 CFR 245.6(a)(5)(ii) lists welfare among the sources of cash income.
- general_assistance
- pension_income
- survivor_benefits
- financial_assistance
Expand All @@ -25,6 +27,8 @@ values:

metadata:
reference:
- title: Code of Federal Regulations, 7 CFR 245.6(a)(5)(ii)
href: https://www.law.cornell.edu/cfr/text/7/245.6#a_5_ii
- title: Code of Federal Regulations, 7 CFR 273.9(b)
href: https://www.law.cornell.edu/cfr/text/7/273.9#b
- title: Code of Federal Regulations, 7 CFR 247.9(d)(1)
Expand Down
6 changes: 4 additions & 2 deletions policyengine_us/parameters/gov/usda/wic/income/sources.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ values:
- social_security
- ssi
- tanf
# 7 CFR 246.7(d)(2)(ii)(E) counts public assistance or welfare payments.
- general_assistance
- pension_income
- survivor_benefits
- financial_assistance
Expand All @@ -29,5 +31,5 @@ values:

metadata:
reference:
- title: 7 CFR 246.7(d)(2)(ii)(A)
href: https://www.law.cornell.edu/cfr/text/7/246.7#d_2_ii_A
- title: 7 CFR 246.7(d)(2)(ii) - Definition of income
href: https://www.law.cornell.edu/cfr/text/7/246.7#d_2_ii
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,22 @@
child_support_received: 2_000 # disregard $150 per month * 12
output:
dc_tanf_countable_unearned_income: 200


- name: General assistance counts as unearned income, $1,200 per year
period: 2023
input:
state_code: DC
general_assistance: 1_200
output:
dc_tanf_countable_unearned_income: 1_200


- name: No general assistance, $1,200 of pension income only, $1,200 per year
period: 2023
input:
state_code: DC
pension_income: 1_200
general_assistance: 0
output:
dc_tanf_countable_unearned_income: 1_200
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
- name: Case 1, general assistance counts as unearned income.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
general_assistance: 2_400
households:
household:
members: [person1]
state_code: IL
output:
# 2,400 / 12 = 200
il_tanf_gross_unearned_income: 200

- name: Case 2, exempt veterans benefits and pensions do not count.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
veterans_benefits: 2_400
pension_income: 1_200
households:
household:
members: [person1]
state_code: IL
output:
il_tanf_gross_unearned_income: 0
Original file line number Diff line number Diff line change
Expand Up @@ -1032,3 +1032,40 @@
me_tanf_eligible: true
# Benefit = min($669, $769 - $0) = $669
me_tanf: 669

- name: Case 1 regression, general assistance does not reduce the benefit.
period: 2025-01
absolute_error_margin: 1
input:
people:
person1:
age: 30
employment_income_before_lsr: 12_000 # $1,000/month gross earned income
general_assistance: 2_400 # $200/month, excluded under Chapter III, Section B(2)(d)
is_tax_unit_head_or_spouse: true
immigration_status: CITIZEN
person2:
age: 8
is_tax_unit_dependent: true
immigration_status: CITIZEN
person3:
age: 5
is_tax_unit_dependent: true
immigration_status: CITIZEN
spm_units:
spm_unit:
members: [person1, person2, person3]
childcare_expenses: 4_200 # $350/month child care
tax_units:
tax_unit:
members: [person1, person2, person3]
households:
household:
members: [person1, person2, person3]
state_code: ME
output:
# Same as Case 1: $96 countable earned income, $0 countable unearned income
me_tanf_countable_unearned_income: 0
me_tanf_countable_income: 96
# Benefit = min($895, $1,030 - $96) = $895, unchanged by general assistance
me_tanf: 895
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Tests gross unearned income minus child support deduction
# Source: 22 M.R.S. Section 3762(3)(B)(7-D)
#
# Note: tanf_gross_unearned_income is a MONTH variable
# Note: me_tanf_gross_unearned_income is a MONTH variable

- name: Case 1, zero unearned income.
period: 2025-01
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Maine TANF Gross Unearned Income Tests
# Source: 10-144 C.M.R. Chapter 331, Chapter III, Section B

- name: Case 1, social security counts as unearned income.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
social_security: 3_000
households:
household:
members: [person1]
state_code: ME
output:
# 3,000 / 12 = 250
me_tanf_gross_unearned_income: 250

- name: Case 2, general assistance is excluded under Chapter III, Section B(2)(d).
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
general_assistance: 2_400
gi_cash_assistance: 1_200
households:
household:
members: [person1]
state_code: ME
output:
# general_assistance excluded; gi_cash_assistance 1,200 / 12 = 100
me_tanf_gross_unearned_income: 100

- name: Case 3, earned income does not count as unearned income.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
employment_income: 24_000
households:
household:
members: [person1]
state_code: ME
output:
me_tanf_gross_unearned_income: 0

- name: Case 4, cash from friends or relatives counts as unearned income.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
financial_assistance: 2_400
households:
household:
members: [person1]
state_code: ME
output:
# 2,400 / 12 = 200
me_tanf_gross_unearned_income: 200
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,36 @@
# child_support_expense: 3,600/year = 300/month
# max(300 - 300, 0) = 0
mt_tanf_gross_unearned_income: 0

- name: Case 6, general assistance counts as unearned income.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
general_assistance: 2_400
households:
household:
members: [person1]
state_code: MT
output:
# general_assistance: 2,400/year = 200/month
mt_tanf_gross_unearned_income: 200

- name: Case 7, no general assistance leaves other unearned income unchanged.
period: 2025-01
absolute_error_margin: 0.1
input:
people:
person1:
age: 30
social_security: 2_400
general_assistance: 0
households:
household:
members: [person1]
state_code: MT
output:
# social_security: 2,400/year = 200/month; general_assistance: 0
mt_tanf_gross_unearned_income: 200
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,19 @@
child_support_received: 3_000
output:
school_meal_countable_income: 13_000

- name: Includes general assistance.
period: 2026
input:
employment_income: 10_000
general_assistance: 3_000
output:
school_meal_countable_income: 13_000

- name: Without general assistance, income is the other income only.
period: 2026
input:
employment_income: 10_000
general_assistance: 0
output:
school_meal_countable_income: 10_000
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,29 @@
members: [p1]
output:
wic_countable_income: 10_000

- name: WIC countable income includes general assistance.
period: 2026
input:
people:
p1:
employment_income: 10_000
general_assistance: 3_000
spm_units:
spm_unit:
members: [p1]
output:
wic_countable_income: 13_000

- name: WIC countable income without general assistance is the other income only.
period: 2026
input:
people:
p1:
employment_income: 10_000
general_assistance: 0
spm_units:
spm_unit:
members: [p1]
output:
wic_countable_income: 10_000
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def formula(spm_unit, period, parameters):
# is excluded from income calculations
p = parameters(period).gov.states.me.dhhs.tanf

gross_unearned = add(spm_unit, period, ["tanf_gross_unearned_income"])
gross_unearned = add(spm_unit, period, ["me_tanf_gross_unearned_income"])
child_support = add(spm_unit, period, ["child_support_received"])
child_support_deduction = min_(child_support, p.child_support_deduction)

Expand Down
Loading
Loading