Skip to content
1 change: 1 addition & 0 deletions changelog.d/ssi-federal-living-arrangement.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add federal SSI living arrangement statuses and ISM/PMV framework.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: SSA sets this amount as the monthly federal SSI payment for an eligible individual residing in a medical treatment facility where Medicaid pays more than half the cost of care.

values:
1975-01-01: 25
1988-07-01: 30

metadata:
unit: currency-USD
period: month
label: SSI medical treatment facility monthly payment
reference:
- title: 42 U.S.C. § 1382(e)(1)(A) - Amount of benefits for individuals in medical treatment facilities
href: https://www.law.cornell.edu/uscode/text/42/1382#e_1_A
- title: 20 CFR § 416.414 - Amount of benefits; eligible individual or eligible couple in a medical treatment facility
href: https://www.law.cornell.edu/cfr/text/20/416.414
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: SSA reduces this share of the federal benefit rate for SSI recipients living in another person's household under the one-third reduction rule.

values:
1975-01-01: 0.333333333

metadata:
unit: /1
period: year
label: SSI one-third reduction rate
reference:
- title: 42 U.S.C. § 1382a(a)(2)(A)(i) - One-third reduction in lieu of counting in-kind support and maintenance
href: https://www.law.cornell.edu/uscode/text/42/1382a#a_2_A_i
- title: 20 CFR § 416.1131 - The one-third reduction rule
href: https://www.law.cornell.edu/cfr/text/20/416.1131
15 changes: 15 additions & 0 deletions policyengine_us/parameters/gov/ssa/ssi/income/ism/food_counts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: SSA uses this indicator to determine whether food counts in SSI in-kind support and maintenance calculations.

values:
1975-01-01: true
2024-10-01: false

metadata:
unit: bool
period: month
label: SSI ISM food counts
reference:
- title: 20 CFR § 416.1130 - Introduction to in-kind support and maintenance (as amended)
href: https://www.law.cornell.edu/cfr/text/20/416.1130
- title: 89 FR 21199 - Omitting Food from In-Kind Support and Maintenance Calculations
href: https://www.federalregister.gov/documents/2024/03/27/2024-06464/omitting-food-from-in-kind-support-and-maintenance-calculations
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: SSA uses this share of the federal benefit rate in calculating the presumed maximum value of in-kind support and maintenance.

values:
1975-01-01: 0.333333333

metadata:
unit: /1
period: year
label: SSI presumed maximum value FBR fraction
reference:
- title: 20 CFR § 416.1140 - The presumed value rule
href: https://www.law.cornell.edu/cfr/text/20/416.1140
- title: POMS SI 00835.300 - Presumed Maximum Value (PMV) Rule
href: https://secure.ssa.gov/apps10/poms.nsf/lnx/0500835300
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
- name: Case 1, own household without shelter support has zero ISM.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
output:
ssi_in_kind_support_and_maintenance: 0

- name: Case 2, own household with outside shelter support triggers PMV.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
ssi_receives_outside_shelter_support: true
output:
# PMV monthly = (1/3 x 967) + 20 = 322.33 + 20 = 342.33
# PMV annual = 342.33 x 12 = 4_108
ssi_in_kind_support_and_maintenance: 4_108

- name: Case 3, own household with in-household shelter support triggers PMV.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
ssi_receives_shelter_from_others_in_household: true
# Not in another's household, so not Status B
output:
# PMV monthly = (1/3 x 967) + 20 = 342.33
# PMV annual = 342.33 x 12 = 4_108
ssi_in_kind_support_and_maintenance: 4_108

- name: Case 4, another person's household has zero ISM (VTR is an FBR adjustment, not income).
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: true
ssi_others_pay_all_meals: true
output:
ssi_in_kind_support_and_maintenance: 0

- name: Case 5, medical treatment facility has zero ISM.
period: 2025
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
output:
ssi_in_kind_support_and_maintenance: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
- name: Case 1, single disabled adult defaults to own household.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
output:
ssi_federal_living_arrangement: OWN_HOUSEHOLD

- name: Case 2, medical treatment facility with Medicaid.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
output:
ssi_federal_living_arrangement: MEDICAL_TREATMENT_FACILITY

- name: Case 3, medical facility without Medicaid paying majority defaults to A.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: false
output:
ssi_federal_living_arrangement: OWN_HOUSEHOLD

- name: Case 4, another person's household with shelter and all meals.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: true
ssi_others_pay_all_meals: true
output:
ssi_federal_living_arrangement: ANOTHER_PERSONS_HOUSEHOLD

- name: Case 5, another person's household but no meals paid defaults to A.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: true
ssi_others_pay_all_meals: false
output:
ssi_federal_living_arrangement: OWN_HOUSEHOLD

- name: Case 6, another person's household but no shelter defaults to A.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: false
ssi_others_pay_all_meals: true
output:
ssi_federal_living_arrangement: OWN_HOUSEHOLD

- name: Case 7, child in parental household with ineligible parent.
period: 2025
input:
people:
person1:
age: 30
person2:
age: 10
is_disabled: true
tax_units:
tax_unit:
members: [person1, person2]
output:
ssi_federal_living_arrangement: [OWN_HOUSEHOLD, CHILD_IN_PARENTAL_HOUSEHOLD]

- name: Case 8, child with two eligible parents is not child in parental household.
period: 2025
input:
people:
person1:
age: 30
is_disabled: true
is_tax_unit_head: true
person2:
age: 28
is_disabled: true
is_tax_unit_spouse: true
person3:
age: 10
is_disabled: true
tax_units:
tax_unit:
members: [person1, person2, person3]
output:
# Both parents are ABD, so neither is an "ineligible parent"
# Child defaults to A (parental deeming does not apply)
ssi_federal_living_arrangement: [OWN_HOUSEHOLD, OWN_HOUSEHOLD, OWN_HOUSEHOLD]

- name: Case 9, D takes priority over C for child in medical facility.
period: 2025
input:
people:
person1:
age: 30
person2:
age: 10
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
tax_units:
tax_unit:
members: [person1, person2]
output:
ssi_federal_living_arrangement: [OWN_HOUSEHOLD, MEDICAL_TREATMENT_FACILITY]

- name: Case 10, D takes priority over B.
period: 2025
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: true
ssi_others_pay_all_meals: true
output:
ssi_federal_living_arrangement: MEDICAL_TREATMENT_FACILITY

- name: Case 11, age 18 non-student with ineligible parent is not child in parental household.
period: 2025
input:
people:
person1:
age: 40
person2:
age: 18
is_disabled: true
tax_units:
tax_unit:
members: [person1, person2]
output:
ssi_federal_living_arrangement: [OWN_HOUSEHOLD, OWN_HOUSEHOLD]
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,90 @@
members: [person1, person2, person3]
output:
ssi_amount_if_eligible: [725, 725, 967]

- name: Case D, another person's household one-third reduction.
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: true
ssi_others_pay_all_meals: true
households:
household:
members: [person1]
output:
# Individual FBR = 967, VTR = 967 * 1/3 = 322.33
# Reduced FBR = 967 - 322.33 = 644.67
ssi_amount_if_eligible: 644.67

- name: Case E, medical treatment facility individual.
period: 2025-01
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
households:
household:
members: [person1]
output:
ssi_amount_if_eligible: 30

- name: Case F, couple both in medical treatment facility.
period: 2025-01
input:
people:
person1:
age: 40
is_disabled: true
is_tax_unit_head: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
person2:
age: 38
is_disabled: true
is_tax_unit_spouse: true
ssi_lives_in_medical_treatment_facility: true
ssi_medicaid_pays_majority_of_care: true
households:
household:
members: [person1, person2]
output:
# Both in facility: each gets $30/month
ssi_amount_if_eligible: [30, 30]

- name: Case G, another person's household with no shelter means no VTR (stays own household).
period: 2025-01
input:
people:
person1:
age: 40
is_disabled: true
ssi_lives_in_another_persons_household: true
ssi_receives_shelter_from_others_in_household: false
ssi_others_pay_all_meals: true
households:
household:
members: [person1]
output:
# Not another person's household (no shelter), defaults to own household, full FBR
ssi_amount_if_eligible: 967

- name: Case H, default inputs give own household with full FBR.
period: 2025-01
input:
people:
person1:
age: 40
is_disabled: true
households:
household:
members: [person1]
output:
ssi_amount_if_eligible: 967
Loading
Loading