Skip to content
Closed
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_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ values:
2019-01-01: 1_243_100_000_000
2020-01-01: 1_310_000_000_000
2021-01-01: 1_314_100_000_000
2022-01-01: 1_483_500_000_000
2022-01-01: 1_483_500_000_000
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ values:
2030-01-01: 2_068_000_000_000
2031-01-01: 2_147_000_000_000
2032-01-01: 2_226_000_000_000
2033-01-01: 2_307_000_000_000
2033-01-01: 2_307_000_000_000
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Maryland workhours for verifying full-time employment .

values:
2022-11-01: 100

metadata:
unit: /1
period: month
label: Maryland TANF earnings exclusion percent for self-employed individuals
reference:
- title: Maryland TEMPORARY CASH ASSISTANCE MANUAL 904.1 DEDUCTIONS FROM EARNED INCOME
href: https://dhs.maryland.gov/documents/Manuals/Temporary-Cash-Assistance-Manual/0900-Financial-Eligibility/0904%20Deductions%20and%20Expenses%20rev%2011.22.1.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: Maryland TANF counts these income sources as earned income.
values:
2022-11-01:
- salary
- wage
- self_employment
- commission
- tips
- allowance
- irregular earnings
metadata:
unit: list
reference:
title: Temporary-Cash-Assistance-Manual | 0902 TCA Earned Income rev 11.22 | 902.1
href: https://dhs.maryland.gov/documents/Manuals/Temporary-Cash-Assistance-Manual/0900-Financial-Eligibility/0902%20TCA%20Earned%20Income%20rev%2011.22.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
description: Maryland TANF counts these income sources as unearned income.
values:
2022-11-01:
- investment_income
- pension_income
- alimony_income
- dividend_income
- interest_income
- miscellaneous_income
- pension_income
- unemployment_compensation
- gi_cash_assistance
- social_security
- ssi
metadata:
unit: list
reference:
title: CODE OF COLORADO REGULATIONS 9 CCR 2503-6 | Income Maintenance (Volume 3) | 3.605.3
href: https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=10321#page=45
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
childcare_deduction = (
200 * (workhours >= 100) * md_tanf_count_children
+ 100 * (workhours < 100) * md_tanf_count_children
)

- name: 0 children, $0 deductions
period: 2023
input:
state_code: MD
md_tanf_count_children: 0
output:
md_tanf_childcare_deduction: 0

- name: 2 children, full-time work, $400 deductions
period: 2023
input:
state_code: MD
md_tanf_count_children: 2
workhours: 100
output:
md_tanf_childcare_deduction: 400

- name: 2 children, part-time work, $200 deductions
period: 2023
input:
state_code: MD
md_tanf_count_children: 2
workhours: 50
output:
md_tanf_childcare_deduction: 200
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
- name: If zero earned income, zero deduction.
period: 2023
input:
state_code: MD
md_tanf_gross_earned_income: 0
output:
md_tanf_continuous_earnings_deduction: 0

- name: If not self-employed, 40% deduction.
period: 2023
input:
state_code: MD
self_employment_income: 0
md_tanf_gross_earned_income: 100
output:
md_tanf_continuous_earnings_deduction: 40

- name: If self-employed, 50% deduction.
period: 2023
input:
state_code: MD
self_employment_income: 100
md_tanf_gross_earned_income: 100
output:
md_tanf_continuous_earnings_deduction: 50


This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
- name: If zero earned income, zero deduction.
period: 2023
input:
state_code: MD
md_tanf_gross_earned_income: 0
output:
md_tanf_initial_earnings_deduction: 0


- name: If not self-employed, new enrolled, 20% deduction.
period: 2023
input:
state_code: MD
is_tanf_enrolled: false
md_tanf_gross_earned_income: 100
output:
md_tanf_initial_earnings_deduction: 20

- name: If self-employed, new enrolled, 50% deduction.
period: 2023
input:
state_code: MD
self_employment_income: 100
is_tanf_enrolled: false
md_tanf_gross_earned_income: 100
output:
md_tanf_initial_earnings_deduction: 50

Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
- name: No alimony, child support, or childcare, countinuous deductions of $40, earned income of $100, $60 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 0
child_support_received: 0
md_tanf_countinuous_earnings_deductions: 40
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_countable_income: 60

- name: No alimony or child support, childcare of $10, countinuous deductions of $40, earned income of $100, $50 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 10
child_support_received: 0
md_tanf_countinuous_earnings_deductions: 40
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_countable_income: 50

- name: No alimony or childcare, child support of $10, countinuous deductions of $40, earned income of $100, $50 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 0
child_support_received: 10
md_tanf_countinuous_earnings_deductions: 40
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_countable_income: 50

- name: No childcare or child support, alimony of $10, countinuous deductions of $40, earned income of $100, $50 per year
period: 2023
input:
state_code: MD
alimony_income: 10
childcare_expenses: 0
child_support_received: 0
md_tanf_countinuous_earnings_deductions: 40
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_countable_income: 50
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
- name: No alimony, child support, or childcare, initial deductions of $20, earned income of $100, $80 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 0
child_support_received: 0
is_tanf_enrolled: false
md_tanf_initial_earnings_deductions: 20
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_initial_countable_income: 80

- name: No alimony or child support, childcare of $10, initial deductions of $20, earned income of $100, $70 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 10
child_support_received: 0
is_tanf_enrolled: false
md_tanf_initial_earnings_deductions: 20
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_initial_countable_income: 70

- name: No alimony or childcare, child support of $10, initial deductions of $20, earned income of $100, $70 per year
period: 2023
input:
state_code: MD
alimony_income: 0
childcare_expenses: 0
child_support_received: 10
is_tanf_enrolled: false
md_tanf_initial_earnings_deductions: 20
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_initial_countable_income: 70

- name: No childcare or child support, alimony of $10, initial deductions of $20, earned income of $100, $70 per year
period: 2023
input:
state_code: MD
alimony_income: 10
childcare_expenses: 0
child_support_received: 0
is_tanf_enrolled: false
md_tanf_initial_earnings_deductions: 20
md_tanf_gross_earned_income: 100
md_tanf_gross_unearned_income: 0
output:
md_tanf_net_initial_countable_income: 70
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from policyengine_us.model_api import *


class md_tanf_continuous_earnings_deduction(Variable):
value_type = float
entity = SPMUnit
label = "Maryland TANF continuous earnings deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MD

def formula(spm_unit, period, parameters):
# Get earned income for the SPM unit.
earned_income = add(spm_unit, period, p.earned)
# Determine if the SPM unit has any self-employment income.
self_employment_income = spm_unit("self_employment_income", period)
# Get the policy parameters.
p = parameters(period).gov.states.md.tanf.income.deductions.earned

return select(
# First arg: self employed or not
[earned_income > 0, self_employment_income > 0],
# Second arg: multiply by the percent deduction (0.4, 0.5)
[
earned_income * p.not_self_employed,
self_employment_income * p.self_employed,
],
# Third arg: default value to return if none of the conditions are True
default=0,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from policyengine_us.model_api import *
from policyengine_us.tools import variables


class md_tanf_initial_earnings_deduction(Variable):
value_type = float
entity = SPMUnit
label = "Maryland TANF initial earnings deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MD

def formula(spm_unit, period, parameters):
# Get earned income for the SPM unit.
earned_income = add(spm_unit, period, p.earned)
# Determine if the SPM unit has any self-employment income.
self_employment_income = spm_unit("self_employment_income", period)
# Get the policy parameters.
p = parameters(period).gov.states.md.tanf.income.sources

return select(
# First arg: self employed or not
[earned_income, self_employment_income > 0],
# Second arg: multiply by the percent deduction (0.2, 0.5)
[earned_income * p.new, self_employment_income * p.self_employed],
# Third arg: default value to return if none of the conditions are True
default=0,
)
# Return if initially eligible
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from policyengine_us.model_api import *
from policyengine_us.variables.gov.states.md.tanf.md_tanf_count_children import (
md_tanf_count_children,
)


class md_tanf_childcare_deduction(Variable):
value_type = float
entity = SPMUnit
label = "Maryland TANF childcare deduction"
unit = USD
definition_period = YEAR
defined_for = StateCode.MD

def formula(spm_unit, period, parameters):
workhours = add(spm_unit, period, ["workhour"])

# Get the policy parameters.
p = parameters(period).gov.states.md.tanf.income.deductions.earned
childcare_deduction = (
200 * (workhours >= 100) * md_tanf_count_children
+ 100 * (workhours < 100) * md_tanf_count_children
)

# Return if initially eligible
return childcare_deduction
Loading