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
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Implement DC Optional State Supplemental Payment (OSSP) program.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ values:
# Massachusetts benefits
- ma_eaedc
- ma_tafdc
# DC benefits
- dc_ossp
2024-01-01:
# Massachusetts benefits
- ma_state_supplement
Expand All @@ -46,6 +48,8 @@ values:
# Massachusetts benefits
- ma_eaedc
- ma_tafdc
# DC benefits
- dc_ossp
metadata:
unit: list
period: year
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: >-
Bed count threshold distinguishing OS-A (at or below) from OS-B
(above) adult foster care facilities in DC OSSP.
metadata:
unit: /1
period: year
label: DC OSSP facility size threshold
reference:
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 50
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-A (adult foster care
facility with 50 or fewer beds) for a couple.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-A couple payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 1717
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-A (adult foster care
facility with 50 or fewer beds) for an individual.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-A individual payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 681
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-B (adult foster care
facility with more than 50 beds) for a couple.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-B couple payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 1937
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-B (adult foster care
facility with more than 50 beds) for an individual.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-B individual payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 791
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-G (nursing facility)
for a couple.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-G couple payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 158
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: >-
DC Optional State Supplemental Payment for OS-G (nursing facility)
for an individual.
metadata:
unit: currency-USD
period: month
label: DC OSSP OS-G individual payment
reference:
- title: DC Code § 4-205.49 - Optional State Supplemental Payment
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 79
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: >-
Personal needs allowance for DC OSSP recipients in adult foster care.
metadata:
unit: currency-USD
period: month
label: DC OSSP adult foster care personal needs allowance
reference:
- title: DC Code § 4-208.02 - Personal needs allowance
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-208.02
values:
2026-01-01: 100
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: >-
Personal needs allowance for DC OSSP recipients in nursing facilities.
metadata:
unit: currency-USD
period: month
label: DC OSSP nursing facility personal needs allowance
reference:
- title: DC Code § 4-208.02 - Personal needs allowance
href: https://code.dccouncil.gov/us/dc/council/code/sections/4-208.02
- title: DHCF Transmittal 26-02 - 2026 PNA increase
href: https://dhcf.dc.gov/
values:
2026-01-01: 109
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: >-
Resource limit for DC OSSP eligibility for a couple.
metadata:
unit: currency-USD
period: year
label: DC OSSP couple resource limit
reference:
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 3000
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: >-
Resource limit for DC OSSP eligibility for an individual.
metadata:
unit: currency-USD
period: year
label: DC OSSP individual resource limit
reference:
- title: SSA POMS SI PHI01415.009 - District of Columbia
href: https://secure.ssa.gov/poms.nsf/lnx/0501415009
values:
2026-01-01: 2000
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
- name: Individual in OS-A facility receives DC OSSP
period: 2026
input:
people:
person:
dc_ossp_living_arrangement: OS_A
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 1_500}
families:
family:
members: [person]
is_married: {2026: false}
households:
household:
members: [person]
state_code: DC
output:
dc_ossp_eligible: [true]
dc_ossp: [8_172] # $681/month * 12

- name: Couple in OS-A facility receives DC OSSP
period: 2026
input:
people:
person1:
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 1_500}
dc_ossp_living_arrangement: OS_A
person2:
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 1_500}
dc_ossp_living_arrangement: OS_A
families:
family:
members: [person1, person2]
is_married: {2026: true}
households:
household:
members: [person1, person2]
state_code: DC
output:
dc_ossp: [10_302, 10_302] # $1717/2 * 12

- name: Individual in OS-B facility receives DC OSSP
period: 2026
input:
people:
person:
dc_ossp_living_arrangement: OS_B
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 1_000}
families:
family:
members: [person]
is_married: {2026: false}
households:
household:
members: [person]
state_code: DC
output:
dc_ossp: [9_492] # $791/month * 12

- name: Excess resources makes person ineligible for DC OSSP
period: 2026
input:
people:
person:
dc_ossp_living_arrangement: OS_A
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 2_500}
families:
family:
members: [person]
is_married: {2026: false}
households:
household:
members: [person]
state_code: DC
output:
dc_ossp_resource_eligible: [false]
dc_ossp: [0]

- name: Individual in OS-G nursing facility receives DC OSSP
period: 2026
input:
people:
person:
dc_ossp_living_arrangement: OS_G
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 500}
families:
family:
members: [person]
is_married: {2026: false}
households:
household:
members: [person]
state_code: DC
output:
dc_ossp: [948] # $79/month * 12

- name: Person not in qualifying facility is ineligible
period: 2026
input:
people:
person:
dc_ossp_living_arrangement: NONE
is_ssi_eligible_individual: true
ssi_countable_resources: {2026: 500}
families:
family:
members: [person]
is_married: {2026: false}
households:
household:
members: [person]
state_code: DC
output:
dc_ossp_eligible: [false]
dc_ossp: [0]
18 changes: 18 additions & 0 deletions policyengine_us/variables/gov/states/dc/dhcf/ossp/dc_ossp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from policyengine_us.model_api import *


class dc_ossp(Variable):
value_type = float
entity = Person
label = "DC Optional State Supplemental Payment"
unit = USD
definition_period = YEAR
defined_for = "dc_ossp_eligible"
reference = (
"https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49",
"https://secure.ssa.gov/poms.nsf/lnx/0501415009",
)

def formula(person, period, parameters):
monthly_amount = person("dc_ossp_payment_amount", period)
return monthly_amount * MONTHS_IN_YEAR
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from policyengine_us.model_api import *
from policyengine_us.variables.gov.states.dc.dhcf.ossp.dc_ossp_living_arrangement import (
DCOSSPLivingArrangement,
)


class dc_ossp_eligible(Variable):
value_type = bool
entity = Person
label = "Whether the person is eligible for DC OSSP"
definition_period = YEAR
defined_for = StateCode.DC
reference = (
"https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49",
"https://secure.ssa.gov/poms.nsf/lnx/0501415009",
)

def formula(person, period, parameters):
ssi_eligible = person("dc_ossp_ssi_eligible", period)
resource_eligible = person("dc_ossp_resource_eligible", period)
living_arrangement = person("dc_ossp_living_arrangement", period)
in_qualifying_facility = living_arrangement != DCOSSPLivingArrangement.NONE
return ssi_eligible & resource_eligible & in_qualifying_facility
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class dc_ossp_facility_size(Variable):
value_type = int
entity = Person
label = "Number of beds in the adult foster care facility"
definition_period = YEAR
defined_for = StateCode.DC
default_value = 0
reference = ("https://secure.ssa.gov/poms.nsf/lnx/0501415009",)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class dc_ossp_in_adult_foster_care(Variable):
value_type = bool
entity = Person
label = "Whether the person resides in an adult foster care facility"
definition_period = YEAR
defined_for = StateCode.DC
default_value = False
reference = ("https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49",)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class dc_ossp_in_nursing_facility(Variable):
value_type = bool
entity = Person
label = "Whether the person resides in a nursing facility"
definition_period = YEAR
defined_for = StateCode.DC
default_value = False
reference = ("https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49",)
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from policyengine_us.model_api import *


class DCOSSPLivingArrangement(Enum):
OS_A = "Adult foster care facility with 50 or fewer beds"
OS_B = "Adult foster care facility with more than 50 beds"
OS_G = "Nursing facility"
NONE = "Not in a qualifying facility"


class dc_ossp_living_arrangement(Variable):
value_type = Enum
entity = Person
label = "DC OSSP living arrangement"
definition_period = YEAR
defined_for = StateCode.DC
possible_values = DCOSSPLivingArrangement
default_value = DCOSSPLivingArrangement.NONE
reference = (
"https://code.dccouncil.gov/us/dc/council/code/sections/4-205.49",
"https://secure.ssa.gov/poms.nsf/lnx/0501415009",
)
Loading
Loading