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/de-ssp.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add Delaware State Supplementary Payment (SSP).
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
description: The government counts these sources as benefits paid by state agencies.
values:
2023-01-01:
# Delaware benefits
- de_ssp
# Massachusetts benefits
- ma_state_supplement
# Colorado benefits
Expand All @@ -23,6 +25,8 @@ values:
- ma_eaedc
- ma_tafdc
2024-01-01:
# Delaware benefits
- de_ssp
# Massachusetts benefits
- ma_state_supplement
# Colorado benefits
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Delaware sets this threshold as the minimum age for eligibility under the State Supplementary Payment program.

values:
1992-01-01: 18

metadata:
unit: year
period: eternity
label: Delaware SSP age threshold
reference:
- title: SSA State Assistance Programs for SSI Recipients, January 2011 - Delaware
href: https://www.ssa.gov/policy/docs/progdesc/ssi_st_asst/2011/de.html
- title: WorkWorld - SSI State Supplement, Delaware
href: https://help.workworldapp.com/wwwebhelp/ssi_state_supplement_delaware.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
description: Delaware provides this amount as the couple State Supplementary Payment under the State Supplementary Payment program.

values:
1992-01-01: 448

metadata:
unit: currency-USD
period: month
label: Delaware SSP couple supplement amount
reference:
- title: SSA POMS SI PHI01415.008 - Delaware State Supplementary Payment Amounts
href: https://secure.ssa.gov/poms.nsf/lnx/0501415008PHI
- title: SSA POMS SI 01415.058 - Payment Levels for State Supplementation, January 2026
href: https://secure.ssa.gov/poms.nsf/lnx/0501415058
- title: SSA State Assistance Programs for SSI Recipients, January 2011 - Delaware, Table 1
href: https://www.ssa.gov/policy/docs/progdesc/ssi_st_asst/2011/de.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
description: Delaware provides this amount as the individual State Supplementary Payment under the State Supplementary Payment program.

values:
1992-01-01: 140

metadata:
unit: currency-USD
period: month
label: Delaware SSP individual supplement amount
reference:
- title: SSA POMS SI PHI01415.008 - Delaware State Supplementary Payment Amounts
href: https://secure.ssa.gov/poms.nsf/lnx/0501415008PHI
- title: SSA POMS SI 01415.058 - Payment Levels for State Supplementation, January 2026
href: https://secure.ssa.gov/poms.nsf/lnx/0501415058
- title: SSA State Assistance Programs for SSI Recipients, January 2011 - Delaware, Table 1
href: https://www.ssa.gov/policy/docs/progdesc/ssi_st_asst/2011/de.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
- name: Case 1, eligible individual with no income reduction.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: false
uncapped_ssi: 0
households:
household:
members: [person1]
state_code: DE
output:
# per_person_amount = $140 (individual)
# reduction = max(0, -(0/12)) = 0
# supplement = max(0, 140 - 0) = $140
de_ssp: 140

- name: Case 2, eligible individual with partial income reduction.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: false
uncapped_ssi: -600
households:
household:
members: [person1]
state_code: DE
output:
# per_person_amount = $140 (individual)
# uncapped_ssi monthly = -600/12 = -$50
# reduction = max(0, -(-50)) = $50
# supplement = max(0, 140 - 50) = $90
de_ssp: 90

- name: Case 3, eligible individual with income exceeding supplement.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: false
uncapped_ssi: -2_400
households:
household:
members: [person1]
state_code: DE
output:
# per_person_amount = $140 (individual)
# uncapped_ssi monthly = -2,400/12 = -$200
# reduction = max(0, -(-200)) = $200
# supplement = max(0, 140 - 200) = $0
de_ssp: 0

- name: Case 4, eligible couple with no income reduction.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: true
uncapped_ssi: 0
person2:
de_ssp_eligible: true
ssi_claim_is_joint: true
uncapped_ssi: 0
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: DE
output:
# per_person_amount = $448/2 = $224 (couple)
# Each person: reduction = 0, supplement = $224
# joint path: sum(224, 224) / 2 = $224 per person
de_ssp: [224, 224]

- name: Case 5, ineligible person gets zero.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: false
households:
household:
members: [person1]
state_code: DE
output:
# defined_for = de_ssp_eligible, which is false
de_ssp: 0

- name: Case 6, couple with partial income reduction.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: true
uncapped_ssi: -1_200
person2:
de_ssp_eligible: true
ssi_claim_is_joint: true
uncapped_ssi: 0
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: DE
output:
# per_person_amount = $448/2 = $224 (couple)
# person1: uncapped_ssi monthly = -1,200/12 = -$100
# reduction = max(0, 100) = $100
# supplement = max(0, 224 - 100) = $124
# person2: uncapped_ssi monthly = 0/12 = $0
# reduction = max(0, 0) = $0
# supplement = max(0, 224 - 0) = $224
# joint path: sum(124, 224) / 2 = $174 per person
de_ssp: [174, 174]

- name: Case 7, large positive uncapped SSI does not inflate benefit.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: false
uncapped_ssi: 120_000
households:
household:
members: [person1]
state_code: DE
output:
# uncapped_ssi monthly = 120,000/12 = $10,000 (positive = low income)
# reduction = max(0, -10,000) = 0
# supplement = max(0, 140 - 0) = $140 (capped at max, not inflated)
de_ssp: 140

- name: Case 8, couple with one eligible and one ineligible spouse.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
de_ssp_eligible: true
ssi_claim_is_joint: true
uncapped_ssi: 0
person2:
de_ssp_eligible: false
ssi_claim_is_joint: true
uncapped_ssi: 0
marital_units:
marital_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: DE
output:
# both_eligible = sum(true, false) = 1 != 2, so is_couple = false
# person1: individual path, per_person_amount = $140
# supplement = max(0, 140 - 0) = $140
# result = supplement * eligible = 140 * 1 = $140
# person2: individual path, per_person_amount = $140
# supplement = max(0, 140 - 0) = $140
# result = supplement * eligible = 140 * 0 = $0
de_ssp: [140, 0]
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
- name: Case 1, SSI-eligible adult in residential care.
period: 2025-01
input:
people:
person1:
age: 45
is_ssi_eligible: true
households:
household:
members: [person1]
state_code: DE
de_ssp_living_arrangement: RESIDENTIAL_CARE
output:
de_ssp_eligible: true

- name: Case 2, child in residential care is ineligible.
period: 2025-01
input:
people:
person1:
age: 17
is_ssi_eligible: true
households:
household:
members: [person1]
state_code: DE
de_ssp_living_arrangement: RESIDENTIAL_CARE
output:
de_ssp_eligible: false

- name: Case 3, adult not in residential care.
period: 2025-01
input:
people:
person1:
age: 50
is_ssi_eligible: true
households:
household:
members: [person1]
state_code: DE
de_ssp_living_arrangement: NONE
output:
de_ssp_eligible: false

- name: Case 4, SSI-ineligible adult in residential care.
period: 2025-01
input:
people:
person1:
age: 40
is_ssi_eligible: false
households:
household:
members: [person1]
state_code: DE
de_ssp_living_arrangement: RESIDENTIAL_CARE
output:
de_ssp_eligible: false

- name: Case 5, non-DE resident.
period: 2025-01
input:
people:
person1:
age: 65
is_ssi_eligible: true
households:
household:
members: [person1]
state_code: PA
de_ssp_living_arrangement: RESIDENTIAL_CARE
output:
de_ssp_eligible: false

- name: Case 6, adult exactly at age threshold.
period: 2025-01
input:
people:
person1:
age: 18
is_ssi_eligible: true
households:
household:
members: [person1]
state_code: DE
de_ssp_living_arrangement: RESIDENTIAL_CARE
output:
de_ssp_eligible: true
Loading
Loading