Skip to content

Implement Florida State Supplementary Payment (SSP)#7891

Draft
hua7450 wants to merge 5 commits intoPolicyEngine:mainfrom
hua7450:fl-ssp
Draft

Implement Florida State Supplementary Payment (SSP)#7891
hua7450 wants to merge 5 commits intoPolicyEngine:mainfrom
hua7450:fl-ssp

Conversation

@hua7450
Copy link
Copy Markdown
Collaborator

@hua7450 hua7450 commented Mar 26, 2026

Summary

Implements Florida's Optional State Supplementation (OSS) -- state supplement for SSI recipients in licensed residential care facilities.

Closes #7890

Regulatory Authority

Program Overview

  • Administration: State-administered by FL Department of Children and Families (DCF)
  • Funding: State funds
  • Current caseload: ~13,160 recipients (SSA 2011 report)

Eligibility

Requirement Source How Modeled
Aged 65+ OR 18+ blind/disabled per Title XVI FAC 65A-2.032(1)(a)-(b) is_ssi_eligible (checks aged/blind/disabled + resources + immigration)
Must actually receive SSI (Group 1) or have income <= income standard (Group 2) FAC 65A-2.033(1)-(2) uncapped_ssi > 0 for Group 1; ssi_countable_income <= fl_oss_income_standard for Group 2
Florida resident FAC 65A-2.032(1)(c) defined_for = StateCode.FL
US citizen or qualified noncitizen FAC 65A-2.032(1)(d) Via is_ssi_eligible (checks immigration)
Assets within SSI limits ($2K/$3K) FAC 65A-2.032(1)(f) Via is_ssi_eligible (checks meets_ssi_resource_test)
Must reside in licensed ALF, AFCH, or MHRTF FAC 65A-2.032(1)(g) fl_oss_facility_type input enum (NONE = ineligible)
Income exclusions follow federal SSI rules FAC 65A-2.035 Reuses ssi_countable_income

Benefit Amounts (DCF Appendix A-12, Jan 2026)

Two program tracks with different rates:

Provider Rates (FBR + fixed offset)

Track Individual Couple (2*I - $97)
Redesign (ALF/AFCH/RTF w/ ACS) $994 + $24.40 = $1,018.40 2 * $1,018.40 - $97 = $1,939.80
Protected (RTF w/o ACS + Gap) $994 + $185.00 = $1,179.00 2 * $1,179 - $97 = $2,261.00

Personal Needs Allowance (PNA)

Period Amount Source
2011-01-01 to 2024-06-30 $54/person/month SSA 2011 report
2024-07-01 onward $160/person/month HB 5001, Appendix A-12

Max OSS Caps (frozen)

Track Individual Couple
Redesign $184.40 $386.80
Protected $345.00 $690.00

Couple treatment: Couple provider rate = 2 * individual rate - $97; each person receives half the couple benefit.

COLA: Automatic via SSI FBR + fixed offset mechanism. The offsets ($24.40, $185.00) and max OSS caps are frozen; only the FBR component changes with annual COLA.

Formula: OSS = min(max(0, provider_rate + PNA - countable_income), max_oss)

Income Standards (for Group 2 eligibility)

Track Formula
Redesign Provider rate + $54
Protected Provider rate (no PNA offset)

Not Modeled (by design)

What Source Why Excluded
Must apply for all other benefits FAC 65A-2.032(1)(h) Administrative/procedural, not simulatable
Historical AABD recipients (Coverage Group 3) FAC 65A-2.033(3) Grandfathered since Dec 1973, no new entrants
Lost-OSS-due-to-income group (Coverage Group 4) FAC 65A-2.033(4) Transitional status, requires enrollment history
Medicaid facility $5/$10 PNA historical SSA 2011 report Discontinued in current program
Third-party supplementation (up to 4x rate) F.S. 409.212 Provider-side payment, not individual benefit
Estate recovery provisions SSA 2011 report Post-death administrative process
State-specific income exclusions (F.S. 409.212(5)) FAC 65A-2.035 Appear to mirror federal SSI exclusions; ssi_countable_income used

Files

parameters/gov/states/fl/dcf/oss/
  pna.yaml
  couple_provider_rate_reduction.yaml
  redesign/
    provider_rate_offset.yaml
    income_standard_pna_offset.yaml
    max_oss/
      individual.yaml
      couple.yaml
  protected/
    provider_rate_offset.yaml
    max_oss/
      individual.yaml
      couple.yaml

variables/gov/states/fl/dcf/oss/
  fl_oss.py                    # Final payment formula
  fl_oss_eligible.py           # Eligibility (Group 1 + Group 2)
  fl_oss_facility_type.py      # Input enum: ALF, AFCH, MHRTF, NONE
  fl_oss_program_track.py      # Input enum: REDESIGN, PROTECTED, NONE
  fl_oss_provider_rate.py      # Provider rate (FBR + offset, couple formula)
  fl_oss_income_standard.py    # Income standard for Group 2 eligibility
  fl_oss_max_oss.py            # Max OSS cap by track and claim type

tests/policy/baseline/gov/states/fl/dcf/oss/
  fl_oss.yaml                  # 7 payment tests
  fl_oss_eligible.yaml         # 6 eligibility tests
  fl_oss_provider_rate.yaml    # 5 provider rate tests
  fl_oss_max_oss.yaml          # 4 max OSS tests
  fl_oss_income_standard.yaml  # 3 income standard tests
  fl_oss_program_track.yaml    # 3 program track tests
  integration.yaml             # 9 end-to-end tests
  edge_cases.yaml              # 27 edge case tests

Verification TODO

  • Verify payment amounts against DCF Appendix A-12 (Jan 2025 and Jan 2026 editions)
  • Verify eligibility logic against FAC 65A-2.032/.033
  • Verify income standard formula against FAC 65A-2.036
  • Verify historical PNA ($54 pre-Jul 2024) against Appendix A-12
  • CI passes

Test plan

  • 64 tests pass (6 eligibility + 5 provider rate + 3 income standard + 4 max OSS + 3 program track + 7 payment + 9 integration + 27 edge cases)
  • CI passes

hua7450 and others added 3 commits March 26, 2026 18:45
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ine#7890)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (e649297) to head (2bb52fd).
⚠️ Report is 197 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7891   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            4         7    +3     
  Lines           90       126   +36     
  Branches         2         2           
=========================================
+ Hits            90       126   +36     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

hua7450 and others added 2 commits March 26, 2026 20:30
- Fix redesign/provider_rate_offset 2011 value: $78.40 → $24.40
  (was max OSS cap, not offset; SSA 2011 income limit $752.40 confirms)
- Fix redesign/max_oss/couple 2011 value: $396.80 → $156.80
  (SSA 2011 footnote b: couples treated as two individuals)
- Replace broken 404 Appendix A-12 URL in all 9 parameter files
- Update affected test expected values

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add protected/in_effect.yaml (false before 2024-07-01, true after)
to properly gate the Protected track instead of using $0 values as
sentinels. Formulas now use `if p.protected.in_effect:` to avoid
accessing Protected parameters in pre-2024 periods.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Florida State Supplementary Payment (SSP)

1 participant