Skip to content
Draft
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/oh-ssp-2026.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add Ohio Residential State Supplement for 2026.
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ values:
- sc_child_care_subsidies
# New Mexico benefits
- nm_ssi_state_supplement
# Ohio benefits
- oh_rss
# South Carolina benefits
- sc_ssi_state_supplement
# Texas benefits
Expand Down Expand Up @@ -159,6 +161,8 @@ values:
- ok_child_care_subsidies
# New Mexico benefits
- nm_ssi_state_supplement
# Ohio benefits
- oh_rss
# South Carolina benefits
- sc_ssi_state_supplement
# Texas benefits
Expand Down Expand Up @@ -261,6 +265,8 @@ values:
- ok_child_care_subsidies
# New Mexico benefits
- nm_ssi_state_supplement
# Ohio benefits
- oh_rss
# South Carolina benefits
- sc_ssi_state_supplement
# Texas benefits
Expand Down Expand Up @@ -364,6 +370,8 @@ values:
- ok_child_care_subsidies
# New Mexico benefits
- nm_ssi_state_supplement
# Ohio benefits
- oh_rss
# South Carolina benefits
- sc_ssi_state_supplement
# Texas benefits
Expand Down Expand Up @@ -401,6 +409,7 @@ values:
- nj_property_tax_relief
# New York benefits
- ny_child_care_subsidies

metadata:
unit: list
period: year
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ values:
- disability_benefits
- survivor_benefits
- financial_assistance

metadata:
unit: list
period: year
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Ohio provides this monthly allowable facility fee under its Residential State Supplement program.
values:
2023-07-01: 1_600

metadata:
unit: currency-USD
period: month
label: Ohio RSS allowable facility fee
reference:
- title: Ohio Administrative Code 5122-36-05(B)
href: https://codes.ohio.gov/ohio-administrative-code/rule-5122-36-05
- title: Ohio Medicaid Eligibility Procedure Letter 175
href: https://dam.assets.ohio.gov/image/upload/medicaid.ohio.gov/About%20Us/PoliciesGuidelines/MEPL/MEPL-175.pdf#page=1
10 changes: 10 additions & 0 deletions policyengine_us/parameters/gov/states/oh/dbh/rss/minimum_age.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Ohio limits its Residential State Supplement to people this age or older.
values:
2022-09-03: 18

metadata:
unit: year
label: Ohio RSS minimum age
reference:
- title: Ohio Administrative Code 5122-36-02(A)(1)
href: https://codes.ohio.gov/ohio-administrative-code/rule-5122-36-02
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: Ohio provides this monthly personal needs allowance under its Residential State Supplement program.
values:
2023-07-01: 200

metadata:
unit: currency-USD
period: month
label: Ohio RSS personal needs allowance
reference:
- title: Ohio Administrative Code 5122-36-05(C)
href: https://codes.ohio.gov/ohio-administrative-code/rule-5122-36-05
- title: Ohio Medicaid Eligibility Procedure Letter 175
href: https://dam.assets.ohio.gov/image/upload/medicaid.ohio.gov/About%20Us/PoliciesGuidelines/MEPL/MEPL-175.pdf#page=1
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ values:
- mo_ssp
- ne_aabd
- nm_ssi_state_supplement
- oh_rss
- sc_ssi_state_supplement
- tx_ssi_state_supplement
- wa_ssp
Expand Down Expand Up @@ -95,9 +96,7 @@ values:

metadata:
reference:
- title: 7 CFR 273.9(b)(2)
href: https://www.law.cornell.edu/cfr/text/7/273.9#b_2
- title: 7 CFR 273.9(c)(1)
href: https://www.law.cornell.edu/cfr/text/7/273.9#c_1
- title: 7 CFR 273.9(b)(2) and (c)(1)
href: https://www.law.cornell.edu/cfr/text/7/273.9
- title: POMS SI 01401.001 General Information about State Supplementation
href: https://secure.ssa.gov/poms.nsf/lnx/0501401001
11 changes: 11 additions & 0 deletions policyengine_us/programs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,17 @@ programs:
tracks. Unmodeled paths: grandfathered medically-needy-in-medical-
institution recipients per WAC 388-478-0055(2)(b); DDA-determined /
PVL track per (2)(f); and foster child in BRS per (2)(g).
- state: OH
status: partial
name: Ohio RSS
full_name: Ohio Residential State Supplement
variable: oh_rss
parameter_prefix: gov.states.oh.dbh.rss
verified_years: '2026'
notes: Models 2026 payments for approved placements, including first-month proration.
Care certification is an input, Medicaid enrollment must be supplied when the model
does not determine it, and PASS and specialized work-expense exclusions are not
modeled.

- id: social_security
name: Social Security
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
- name: Case 1, both spouses in approved care.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
person2:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
oh_rss: [1_054.5, 1_054.5]

- name: Case 2, one spouse in approved care.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
person2:
age: 65
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
oh_rss: [1_054.5, 0]

- name: Case 3, ineligible spouse income is not deemed.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
person2:
age: 40
# BLS OEWS May 2025, Ohio all-occupations median annual wage.
employment_income: 49_380
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
# SSI deems the spouse's wages: 49,380 / 12 = 4,115;
# (4,115 - 20 - 65) / 2 = 2,015.
ssi_income_deemed_from_ineligible_spouse: [2_015, 0]
# Couple rate under deeming: 1,491 - 2,015 < 0.
ssi: [0, 0]
oh_rss_eligible: [true, false]
# RSS counts only person1's own income (0) plus SSI (0). Person2 is not
# an RSS candidate; person2's own wages compute to (4,115 - 85) / 2 = 2,015.
oh_rss_countable_income: [0, 2_015]
# 1,600 fee + 200 allowance - 0 = 1,800.
oh_rss: [1_800, 0]

- name: Case 4, combined resource boundary.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
ssi_countable_resources: 2_000
person2:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
ssi_countable_resources: 1_000
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
oh_rss: [1_054.5, 1_054.5]

- name: Case 5, combined excess resources.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
ssi_countable_resources: 2_000
person2:
age: 65
oh_rss_certified: true
medicaid_enrolled: true
ssi_countable_resources: 1_001
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
oh_rss: [0, 0]

- name: Case 6, annual benefits and SNAP income.
period: 2026
absolute_error_margin: 0.01
input:
state_code: OH
age: 65
oh_rss_certified: true
medicaid_enrolled: true
output:
oh_rss: 9_672
household_state_benefits: 9_672
snap_unearned_income: 21_600
# HUD income excludes RSS (see oh_rss): SSI 994 * 12 = 11_928.
hud_unearned_income: 11_928

- name: Case 7, partial month daily amount rounded upward.
period: 2026-04
absolute_error_margin: 0.01
input:
state_code:
2026: OH
age:
2026: 65
oh_rss_certified: true
medicaid_enrolled:
2026: true
oh_rss_days_of_placement: 15
output:
oh_rss: 403.05

- name: Case 8, couple income pooled with one general exclusion.
period: 2026-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
oh_rss_certified: true
medicaid_enrolled: true
social_security_retirement: 12_000
person2:
age: 70
oh_rss_certified: true
medicaid_enrolled: true
social_security_retirement: 12_000
marital_units:
couple:
members: [person1, person2]
tax_units:
unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: OH
output:
oh_rss_eligible: [true, true]
# SSI couple computation: (1,000 + 1,000 - 20) / 2 = 990 each.
ssi_countable_income: [990, 990]
# 1,491 / 2 = 745.50 - 990 < 0.
ssi: [0, 0]
# RSS pools the couple's income: (2,000 - 20) / 2 = 990 each (not
# 1,000 - 20 = 980 with a separate exclusion per spouse); SSI adds 0.
oh_rss_countable_income: [990, 990]
# 1,600 fee + 200 allowance - 990 = 810 each.
oh_rss: [810, 810]

- name: Case 9, partial month with a whole-cent daily amount.
period: 2026-04
absolute_error_margin: 0.01
input:
state_code:
2026: OH
age:
2026: 65
oh_rss_certified: true
medicaid_enrolled:
2026: true
# $1,578.50 a month, chosen so the daily amount is a whole cent.
social_security_retirement:
2026: 18_942
oh_rss_days_of_placement: 15
output:
oh_rss_eligible: true
# 18,942 / 12 = 1,578.50; 1,578.50 - 20 = 1,558.50; 994 - 1,558.50 < 0.
ssi: 0
# 1,558.50 + SSI 0.
oh_rss_countable_income: 1_558.5
# 1,800 - 1,558.50 = 241.50; 241.50 / 30 days = 8.05 exactly (no
# float round-up to 8.06); 8.05 x 15 days = 120.75.
oh_rss: 120.75
Loading