From bd23e0b3720d9530b2283dd0bcfeecadbf5c85d8 Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Tue, 20 Oct 2026 20:51:37 -0400 Subject: [PATCH 1/3] Count Minnesota CCAP RSDI only above the federal SSI maximum Minn. Stat. 256P.06, subd. 3(2)(xvi) counts, for chapter 142E (CCAP), only the RSDI amount that exceeds the monthly federal maximum SSI payment (effective September 1, 2024, Laws 2023, ch. 70, art. 10, s. 79). CCAP Policy Manual 6.6 deducts the SSI federal benefit rate from gross RSDI. The model counted the full gross RSDI. Add mn_ccap_countable_rsdi, which subtracts the annualized individual SSI federal benefit rate (gov.ssa.ssi.amount.individual) from each recipient's RSDI, and count it in place of the three RSDI components in the CCAP unearned income list. Co-Authored-By: Claude Opus 5.5 --- .../mn-ccap-rsdi-above-ssi-fbr.fixed.md | 1 + .../income/countable_income/rsdi_sources.yaml | 18 +++ .../income/countable_income/unearned.yaml | 10 +- .../dcyf/ccap/mn_ccap_countable_income.yaml | 44 +++++++- .../mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml | 104 ++++++++++++++++++ .../mn/dcyf/ccap/mn_ccap_countable_rsdi.py | 25 +++++ 6 files changed, 191 insertions(+), 11 deletions(-) create mode 100644 changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md create mode 100644 policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml create mode 100644 policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py diff --git a/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md b/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md new file mode 100644 index 00000000000..03263a97708 --- /dev/null +++ b/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md @@ -0,0 +1 @@ +Count Minnesota CCAP Retirement, Survivors, and Disability Insurance only above the federal maximum SSI payment, per Minn. Stat. 256P.06, subd. 3(2)(xvi). diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml new file mode 100644 index 00000000000..9bfae39f77f --- /dev/null +++ b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml @@ -0,0 +1,18 @@ +description: Minnesota counts these Retirement, Survivors, and Disability Insurance sources under the Child Care Assistance Program, to the extent they exceed the federal maximum Supplemental Security Income payment. +values: + 2025-01-01: + # Listed as components rather than the social_security umbrella, which also + # adds social_security_dependents. + - social_security_retirement + - social_security_survivors + - social_security_disability + +metadata: + unit: list + period: year + label: Minnesota CCAP Retirement, Survivors, and Disability Insurance sources + reference: + - title: Minn. Stat. 256P.06, subd. 3(2)(xvi) (RSDI above the federal maximum SSI payment) + href: https://www.revisor.mn.gov/statutes/cite/256P.06 + - title: Minnesota CCAP Policy Manual, section 6.6 (Earned/Unearned Income) + href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606 diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/unearned.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/unearned.yaml index a8bc102168b..1c9a1bdfee1 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/unearned.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/unearned.yaml @@ -1,12 +1,10 @@ description: Minnesota counts these unearned income sources under the Child Care Assistance Program. values: 2025-01-01: - # RSDI (gross amount) — Retirement, Survivors, and Disability Insurance. - # Listed as components rather than the social_security umbrella, which also - # adds social_security_dependents. - - social_security_retirement - - social_security_survivors - - social_security_disability + # Retirement, Survivors, and Disability Insurance counts only above the + # federal maximum SSI payment (Minn. Stat. 256P.06, subd. 3(2)(xvi)); the + # sources are listed in rsdi_sources. + - mn_ccap_countable_rsdi - dividend_income - interest_income - pension_income diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml index 4501467b683..dc0b76a73ad 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml @@ -1,7 +1,8 @@ # Tests MN CCAP countable income = gross income (earned + unearned sources) # minus allowable deductions, floored at zero (Minn. Rules 3400.0170 subp. 4/6a; # manual sections 6.6 and 6.18). The variable is monthly; annual income inputs -# divide by 12. +# divide by 12. RSDI counts only above the federal maximum SSI payment (Minn. +# Stat. 256P.06, subd. 3(2)(xvi)). - name: Case 1, earnings only. period: 2026-01 absolute_error_margin: 0.01 @@ -31,8 +32,10 @@ members: [person1] state_code: MN output: - # (24,000 + 6,000 + 1,200) / 12 = 2,600 per month. - mn_ccap_countable_income: 2_600 + # RSDI counts only above the 2026 federal maximum SSI payment of + # 994 * 12 = 11,928 (Minn. Stat. 256P.06, subd. 3(2)(xvi)), so the 6,000 + # RSDI counts as 0. (24,000 + 0 + 1,200) / 12 = 2,100 per month. + mn_ccap_countable_income: 2_100 - name: Case 3, income reduced by allowable deductions. period: 2026-01 @@ -112,8 +115,10 @@ members: [person1] state_code: MN output: - # (12,000 + 6,000 + 3,600 + 2,400) / 12 = 24,000 / 12 = 2,000 per month. - mn_ccap_countable_income: 2_000 + # RSDI counts above the 2026 federal maximum SSI payment: + # 12,000 - 994 * 12 = 12,000 - 11,928 = 72. + # (72 + 6,000 + 3,600 + 2,400) / 12 = 12,072 / 12 = 1,006 per month. + mn_ccap_countable_income: 1_006 - name: Case 8, a child's earned income is not counted. period: 2026-01 @@ -214,3 +219,32 @@ # The allowed cross-business offset still works: max(20,000 - 8,000, 0) = # 12,000 net self-employment. 12,000 / 12 = 1,000 per month. mn_ccap_countable_income: 1_000 + +- name: Case 13, each member's RSDI counts only above the federal maximum SSI payment. + period: 2026-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 40 + social_security_disability: 18_000 # 1,500/month + person2: + age: 38 + employment_income: 24_000 # 2,000/month + social_security_survivors: 6_000 # 500/month + person3: + age: 6 + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: MN + output: + # Minn. Stat. 256P.06, subd. 3(2)(xvi), 2026 federal maximum SSI payment + # of 994 * 12 = 11,928 per recipient: + # person1 RSDI: 18,000 - 11,928 = 6,072. + # person2 RSDI: max(6,000 - 11,928, 0) = 0. + # (6,072 + 0 + 24,000) / 12 = 30,072 / 12 = 2,506 per month. + mn_ccap_countable_income: 2_506 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml new file mode 100644 index 00000000000..34229dca7f4 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml @@ -0,0 +1,104 @@ +# Tests MN CCAP countable RSDI: Minn. Stat. 256P.06, subd. 3(2)(xvi) counts +# only the Retirement, Survivors, and Disability Insurance amount that exceeds +# the monthly federal maximum SSI payment. Federal maximum SSI payment for an +# individual (SSA): $967/month in 2025 (11,604/year), $994/month in 2026 +# (11,928/year). +- name: Case 1, RSDI below the federal maximum SSI payment is not counted. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_retirement: 9_600 # 800/month + households: + household: + members: [person1] + state_code: MN + output: + # max(9,600 - 11,928, 0) = 0. + mn_ccap_countable_rsdi: 0 + +- name: Case 2, RSDI above the federal maximum SSI payment counts the excess. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_disability: 18_000 # 1,500/month + households: + household: + members: [person1] + state_code: MN + output: + # 18,000 - 11,928 = 6,072. + mn_ccap_countable_rsdi: 6_072 + +- name: Case 3, RSDI equal to the federal maximum SSI payment is not counted. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_retirement: 11_928 # 994/month + households: + household: + members: [person1] + state_code: MN + output: + # 11,928 - 11,928 = 0. + mn_ccap_countable_rsdi: 0 + +- name: Case 4, one person's RSDI components are combined before the offset. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_retirement: 6_000 # 500/month + social_security_survivors: 9_000 # 750/month + households: + household: + members: [person1] + state_code: MN + output: + # (6,000 + 9,000) - 11,928 = 3,072. + mn_ccap_countable_rsdi: 3_072 + +- name: Case 5, each recipient's RSDI is offset separately. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 40 + social_security_disability: 18_000 # 1,500/month + person2: + age: 38 + social_security_disability: 6_000 # 500/month + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: MN + output: + # person1: 18,000 - 11,928 = 6,072. + # person2: max(6,000 - 11,928, 0) = 0; the unused offset does not carry + # over to person1. + mn_ccap_countable_rsdi: [6_072, 0] + +- name: Case 6, the 2025 federal maximum SSI payment applies in 2025. + period: 2025 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_retirement: 15_000 # 1,250/month + households: + household: + members: [person1] + state_code: MN + output: + # 15,000 - 967 * 12 = 15,000 - 11,604 = 3,396. + mn_ccap_countable_rsdi: 3_396 diff --git a/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py new file mode 100644 index 00000000000..0cf41ffdf0e --- /dev/null +++ b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py @@ -0,0 +1,25 @@ +from policyengine_us.model_api import * + + +class mn_ccap_countable_rsdi(Variable): + value_type = float + entity = Person + unit = USD + label = "Minnesota CCAP countable Retirement, Survivors, and Disability Insurance" + definition_period = YEAR + defined_for = StateCode.MN + reference = ( + "https://www.revisor.mn.gov/statutes/cite/256P.06", + "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606", + ) + + def formula(person, period, parameters): + # Minn. Stat. 256P.06, subd. 3(2)(xvi) counts, for chapter 142E + # programs, only the RSDI amount that exceeds the monthly federal + # maximum SSI payment. CCAP Policy Manual section 6.6 annualizes the + # gross RSDI and deducts the SSI federal benefit rate from it. We apply + # the individual rate to each recipient's own RSDI. + p = parameters(period).gov.states.mn.dcyf.ccap.income.countable_income + rsdi = add(person, period, p.rsdi_sources) + monthly_fbr = parameters(period).gov.ssa.ssi.amount.individual + return max_(rsdi - monthly_fbr * MONTHS_IN_YEAR, 0) From 89f76a53326b6517c382b7aba4d9f82a2f1f1b78 Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Wed, 21 Oct 2026 12:25:08 -0400 Subject: [PATCH 2/3] Cite CCAP manual 6.15.24 for the individual SSI rate offset Manual 6.15.24 (issue date 01/2025) reduces RSDI by the SSI Federal Benefit Rate, "currently $967 per month", which is the 2025 individual rate. Add it as a reference for the RSDI offset. Co-Authored-By: Claude Opus 5.5 --- .../mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml | 2 ++ .../gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml index 9bfae39f77f..9665bd4e296 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml @@ -16,3 +16,5 @@ metadata: href: https://www.revisor.mn.gov/statutes/cite/256P.06 - title: Minnesota CCAP Policy Manual, section 6.6 (Earned/Unearned Income) href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606 + - title: Minnesota CCAP Policy Manual, section 6.15.24 (Annualizing RSDI) + href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_061524 diff --git a/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py index 0cf41ffdf0e..651fc7ff58a 100644 --- a/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py +++ b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py @@ -11,14 +11,16 @@ class mn_ccap_countable_rsdi(Variable): reference = ( "https://www.revisor.mn.gov/statutes/cite/256P.06", "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606", + "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_061524", ) def formula(person, period, parameters): # Minn. Stat. 256P.06, subd. 3(2)(xvi) counts, for chapter 142E # programs, only the RSDI amount that exceeds the monthly federal # maximum SSI payment. CCAP Policy Manual section 6.6 annualizes the - # gross RSDI and deducts the SSI federal benefit rate from it. We apply - # the individual rate to each recipient's own RSDI. + # gross RSDI and deducts the SSI federal benefit rate from it; section + # 6.15.24 gives that rate as $967 per month in 2025, the individual + # rate. We apply the individual rate to each recipient's own RSDI. p = parameters(period).gov.states.mn.dcyf.ccap.income.countable_income rsdi = add(person, period, p.rsdi_sources) monthly_fbr = parameters(period).gov.ssa.ssi.amount.individual From a8cb15b6d17516a9c041e828bc4d3967662ad4e2 Mon Sep 17 00:00:00 2001 From: PavelMakarchuk Date: Thu, 22 Oct 2026 15:06:40 -0400 Subject: [PATCH 3/3] Count Minnesota CCAP dependents' RSDI and cite Combined Manual 0017.15.45 Address DTrim99's review of #10333: - G1: count social_security (retirement, survivors, disability and dependents' benefits) in rsdi_sources; CM 0029.06.06 says RSDI pays dependents of insured people, and 256P.06, subd. 2 exempts only a child's earned income. - G3: add a just-above-threshold case and child dependents' benefit cases. - G4: cite CM 0017.15.45 (each client, household of 1; applies to CCAP). Co-Authored-By: Claude Opus 5.5 --- .../mn-ccap-rsdi-above-ssi-fbr.fixed.md | 2 +- .../income/countable_income/rsdi_sources.yaml | 12 +++--- .../dcyf/ccap/mn_ccap_countable_income.yaml | 25 +++++++++++ .../mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml | 42 +++++++++++++++++++ .../mn/dcyf/ccap/mn_ccap_countable_rsdi.py | 6 ++- 5 files changed, 80 insertions(+), 7 deletions(-) diff --git a/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md b/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md index 03263a97708..cb2253c3dd6 100644 --- a/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md +++ b/changelog.d/mn-ccap-rsdi-above-ssi-fbr.fixed.md @@ -1 +1 @@ -Count Minnesota CCAP Retirement, Survivors, and Disability Insurance only above the federal maximum SSI payment, per Minn. Stat. 256P.06, subd. 3(2)(xvi). +Count Minnesota CCAP Retirement, Survivors, and Disability Insurance, including dependents' benefits, only above the federal maximum SSI payment, per Minn. Stat. 256P.06, subd. 3(2)(xvi). diff --git a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml index 9665bd4e296..cb3c792fa86 100644 --- a/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml +++ b/policyengine_us/parameters/gov/states/mn/dcyf/ccap/income/countable_income/rsdi_sources.yaml @@ -1,11 +1,9 @@ description: Minnesota counts these Retirement, Survivors, and Disability Insurance sources under the Child Care Assistance Program, to the extent they exceed the federal maximum Supplemental Security Income payment. values: 2025-01-01: - # Listed as components rather than the social_security umbrella, which also - # adds social_security_dependents. - - social_security_retirement - - social_security_survivors - - social_security_disability + # Retirement, survivors, disability and dependents' benefits; RSDI pays + # dependents of insured people (Combined Manual 0029.06.06). + - social_security metadata: unit: list @@ -18,3 +16,7 @@ metadata: href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606 - title: Minnesota CCAP Policy Manual, section 6.15.24 (Annualizing RSDI) href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_061524 + - title: Minnesota Combined Manual, 0017.15.45 - Income From RSDI and SSI + href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_00171545 + - title: Minnesota Combined Manual, 0029.06.06 - Retirement, Survivors and Disability Insurance + href: https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_00290606 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml index dc0b76a73ad..1cb898452fb 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_income.yaml @@ -248,3 +248,28 @@ # person2 RSDI: max(6,000 - 11,928, 0) = 0. # (6,072 + 0 + 24,000) / 12 = 30,072 / 12 = 2,506 per month. mn_ccap_countable_income: 2_506 + +- name: Case 14, a child's RSDI above the federal maximum SSI payment counts as family income. + period: 2026-01 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 40 + employment_income: 24_000 # 2,000/month + person2: + age: 8 + social_security_dependents: 13_200 # 1,100/month + spm_units: + spm_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: MN + output: + # Minn. Stat. 256P.06, subd. 2 exempts only a child's earned income, so + # the child's own RSDI counts above 994 * 12 = 11,928: + # person2 RSDI: 13,200 - 11,928 = 1,272. + # (24,000 + 1,272) / 12 = 25,272 / 12 = 2,106 per month. + mn_ccap_countable_income: 2_106 diff --git a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml index 34229dca7f4..36da0147ce7 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.yaml @@ -102,3 +102,45 @@ output: # 15,000 - 967 * 12 = 15,000 - 11,604 = 3,396. mn_ccap_countable_rsdi: 3_396 + +- name: Case 7, RSDI just above the federal maximum SSI payment counts only the excess. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + social_security_retirement: 11_940 # 995/month + households: + household: + members: [person1] + state_code: MN + output: + # 11,940 - 11,928 = 12. + mn_ccap_countable_rsdi: 12 + +- name: Case 8, a child's own dependents' benefit gets its own offset. + period: 2026 + absolute_error_margin: 0.01 + input: + people: + person1: + age: 40 + social_security_disability: 18_000 # 1,500/month + person2: + age: 8 + social_security_dependents: 13_200 # 1,100/month + person3: + age: 5 + social_security_dependents: 6_000 # 500/month + spm_units: + spm_unit: + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: MN + output: + # person1: 18,000 - 11,928 = 6,072. + # person2: 13,200 - 11,928 = 1,272. + # person3: max(6,000 - 11,928, 0) = 0. + mn_ccap_countable_rsdi: [6_072, 1_272, 0] diff --git a/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py index 651fc7ff58a..dfd0f296f21 100644 --- a/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py +++ b/policyengine_us/variables/gov/states/mn/dcyf/ccap/mn_ccap_countable_rsdi.py @@ -12,6 +12,7 @@ class mn_ccap_countable_rsdi(Variable): "https://www.revisor.mn.gov/statutes/cite/256P.06", "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_0606", "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=CCAP_061524", + "https://www.dhs.state.mn.us/main/idcplg?IdcService=GET_DYNAMIC_CONVERSION&RevisionSelectionMethod=LatestReleased&dDocName=cm_00171545", ) def formula(person, period, parameters): @@ -20,7 +21,10 @@ def formula(person, period, parameters): # maximum SSI payment. CCAP Policy Manual section 6.6 annualizes the # gross RSDI and deducts the SSI federal benefit rate from it; section # 6.15.24 gives that rate as $967 per month in 2025, the individual - # rate. We apply the individual rate to each recipient's own RSDI. + # rate. Combined Manual 0017.15.45 counts, for each client who receives + # RSDI, only the amount above the SSI standard for a household of 1, + # and its 09/2024 revision note applies the change to CCAP. We apply + # the individual rate to each recipient's own RSDI. p = parameters(period).gov.states.mn.dcyf.ccap.income.countable_income rsdi = add(person, period, p.rsdi_sources) monthly_fbr = parameters(period).gov.ssa.ssi.amount.individual