From bdc92241edeedea5b15f7d5827ff5ee21bd1130c Mon Sep 17 00:00:00 2001 From: Matt Unrath Date: Sat, 7 Mar 2026 15:59:42 -0800 Subject: [PATCH] Add Kansas State Supplemental Payment Program (SSPP) Implements KS SSPP per K.S.A. 39-972: flat $20/month payment to SSI recipients age 18+ residing in Medicaid-approved institutions. Co-Authored-By: Claude Opus 4.6 --- changelog.d/add-ks-sspp.added.md | 1 + .../household/household_state_benefits.yaml | 4 ++ .../states/ks/kdhe/sspp/payment/amount.yaml | 14 +++++ .../gov/states/ks/kdhe/sspp/ks_sspp.yaml | 59 +++++++++++++++++++ .../gov/states/ks/kdhe/sspp/ks_sspp.py | 18 ++++++ .../states/ks/kdhe/sspp/ks_sspp_eligible.py | 21 +++++++ .../sspp/ks_sspp_in_medicaid_institution.py | 13 ++++ 7 files changed, 130 insertions(+) create mode 100644 changelog.d/add-ks-sspp.added.md create mode 100644 policyengine_us/parameters/gov/states/ks/kdhe/sspp/payment/amount.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/ks/kdhe/sspp/ks_sspp.yaml create mode 100644 policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp.py create mode 100644 policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_eligible.py create mode 100644 policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_in_medicaid_institution.py diff --git a/changelog.d/add-ks-sspp.added.md b/changelog.d/add-ks-sspp.added.md new file mode 100644 index 00000000000..cf4765d027e --- /dev/null +++ b/changelog.d/add-ks-sspp.added.md @@ -0,0 +1 @@ +Added Kansas State Supplemental Payment Program (SSPP) for SSI recipients in Medicaid-approved institutions. diff --git a/policyengine_us/parameters/gov/household/household_state_benefits.yaml b/policyengine_us/parameters/gov/household/household_state_benefits.yaml index 9ad7c2dae5d..5af61ab1fa1 100644 --- a/policyengine_us/parameters/gov/household/household_state_benefits.yaml +++ b/policyengine_us/parameters/gov/household/household_state_benefits.yaml @@ -22,6 +22,8 @@ values: # Massachusetts benefits - ma_eaedc - ma_tafdc + # Kansas benefits + - ks_sspp 2024-01-01: # Massachusetts benefits - ma_state_supplement @@ -46,6 +48,8 @@ values: # Massachusetts benefits - ma_eaedc - ma_tafdc + # Kansas benefits + - ks_sspp metadata: unit: list period: year diff --git a/policyengine_us/parameters/gov/states/ks/kdhe/sspp/payment/amount.yaml b/policyengine_us/parameters/gov/states/ks/kdhe/sspp/payment/amount.yaml new file mode 100644 index 00000000000..16f7aa415c3 --- /dev/null +++ b/policyengine_us/parameters/gov/states/ks/kdhe/sspp/payment/amount.yaml @@ -0,0 +1,14 @@ +description: >- + Kansas provides this flat monthly State Supplemental Payment to eligible + SSI recipients residing in Medicaid-approved institutions. +metadata: + unit: currency-USD + period: month + label: Kansas SSPP monthly payment amount + reference: + - title: K.S.A. 39-972 - State Supplemental Payment Program + href: https://ksrevisor.gov/statutes/chapters/ch39/039_009_0072.html + - title: KHPA Policy No. 2007-05-01 - State Supplemental Payment Program Policy Memo + href: https://khap.kdhe.ks.gov/kfmam/policydocs/state%20supplemental%20payment%20program%20policy%20memo.pdf +values: + 2006-07-01: 20 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/kdhe/sspp/ks_sspp.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/kdhe/sspp/ks_sspp.yaml new file mode 100644 index 00000000000..8de066a2ef1 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/kdhe/sspp/ks_sspp.yaml @@ -0,0 +1,59 @@ +- name: Eligible SSI recipient in Medicaid institution receives $240/year + period: 2024 + input: + state_code: KS + ssi: 360 + ks_sspp_in_medicaid_institution: true + age: 65 + output: + ks_sspp: 240 + +- name: SSI recipient not in Medicaid institution is ineligible + period: 2024 + input: + state_code: KS + ssi: 360 + ks_sspp_in_medicaid_institution: false + age: 65 + output: + ks_sspp: 0 + +- name: Person in Medicaid institution without SSI is ineligible + period: 2024 + input: + state_code: KS + ssi: 0 + ks_sspp_in_medicaid_institution: true + age: 65 + output: + ks_sspp: 0 + +- name: Minor in Medicaid institution with SSI is ineligible + period: 2024 + input: + state_code: KS + ssi: 360 + ks_sspp_in_medicaid_institution: true + age: 17 + output: + ks_sspp: 0 + +- name: Non-Kansas resident is ineligible + period: 2024 + input: + state_code: CA + ssi: 360 + ks_sspp_in_medicaid_institution: true + age: 65 + output: + ks_sspp: 0 + +- name: Eligible 18-year-old receives payment + period: 2024 + input: + state_code: KS + ssi: 108 + ks_sspp_in_medicaid_institution: true + age: 18 + output: + ks_sspp: 240 diff --git a/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp.py b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp.py new file mode 100644 index 00000000000..a33297e6bac --- /dev/null +++ b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp.py @@ -0,0 +1,18 @@ +from policyengine_us.model_api import * + + +class ks_sspp(Variable): + value_type = float + entity = Person + label = "Kansas State Supplemental Payment" + unit = USD + definition_period = YEAR + defined_for = "ks_sspp_eligible" + reference = ( + "https://ksrevisor.gov/statutes/chapters/ch39/039_009_0072.html", + "https://khap.kdhe.ks.gov/kfmam/policydocs/state%20supplemental%20payment%20program%20policy%20memo.pdf", + ) + + def formula(person, period, parameters): + p = parameters(period).gov.states.ks.kdhe.sspp.payment.amount + return p * MONTHS_IN_YEAR diff --git a/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_eligible.py b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_eligible.py new file mode 100644 index 00000000000..6277d069b1f --- /dev/null +++ b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_eligible.py @@ -0,0 +1,21 @@ +from policyengine_us.model_api import * + + +class ks_sspp_eligible(Variable): + value_type = bool + entity = Person + label = "Whether the person is eligible for Kansas SSPP" + definition_period = YEAR + defined_for = StateCode.KS + reference = ( + "https://ksrevisor.gov/statutes/chapters/ch39/039_009_0072.html", + "https://khap.kdhe.ks.gov/kfmam/policydocs/state%20supplemental%20payment%20program%20policy%20memo.pdf", + ) + + def formula(person, period, parameters): + receives_ssi = person("ssi", period) > 0 + in_medicaid_institution = person( + "ks_sspp_in_medicaid_institution", period + ) + age = person("age", period) + return receives_ssi & in_medicaid_institution & (age >= 18) diff --git a/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_in_medicaid_institution.py b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_in_medicaid_institution.py new file mode 100644 index 00000000000..7325965e672 --- /dev/null +++ b/policyengine_us/variables/gov/states/ks/kdhe/sspp/ks_sspp_in_medicaid_institution.py @@ -0,0 +1,13 @@ +from policyengine_us.model_api import * + + +class ks_sspp_in_medicaid_institution(Variable): + value_type = bool + entity = Person + label = "Whether the person resides in a Kansas Medicaid-approved institution" + definition_period = YEAR + defined_for = StateCode.KS + default_value = False + reference = ( + "https://ksrevisor.gov/statutes/chapters/ch39/039_009_0072.html", + )