Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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,6 +13,7 @@ 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
Expand Down
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,8 @@ values:
- social_security
- veterans_benefits
- workers_compensation
# TANF 501-1 counts Bureau of Indian Affairs General Assistance
- 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,7 @@ values:
- unemployment_compensation
- gi_cash_assistance
- social_security
# general_assistance is not counted per the WF-114 income chart (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) lists welfare payments among income sources.
- 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)
href: https://www.law.cornell.edu/cfr/text/7/245.6#a_5
- 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
2 changes: 2 additions & 0 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)(A) counts public assistance or welfare payments.
- general_assistance
- pension_income
- survivor_benefits
- financial_assistance
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,12 @@
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
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,50 @@
# 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
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,19 @@
# 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
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,11 @@
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
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,16 @@
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
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from policyengine_us.model_api import *


class me_tanf_gross_unearned_income(Variable):
value_type = float
entity = Person
label = "Maine Temporary Assistance for Needy Families (TANF) gross unearned income"
unit = USD
definition_period = MONTH
reference = "https://www.law.cornell.edu/regulations/maine/C-M-R-10-144-ch-331-III"
defined_for = StateCode.ME

adds = "gov.states.me.dhhs.tanf.income.sources.unearned"
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ class financial_assistance(Variable):
value_type = float
entity = Person
label = "financial assistance"
documentation = "Cash financial assistance from outside the household."
documentation = (
"Cash financial assistance from friends or relatives outside the household."
)
unit = USD
definition_period = YEAR
Loading