Skip to content

Add Medicare Part D IRMAA surcharge variable#7950

Open
MaxGhenis wants to merge 4 commits intomainfrom
codex/medicare-part-d-irmaa
Open

Add Medicare Part D IRMAA surcharge variable#7950
MaxGhenis wants to merge 4 commits intomainfrom
codex/medicare-part-d-irmaa

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis commented Apr 8, 2026

Summary

  • add Medicare Part D IRMAA parameter ladders for all modeled filing statuses
  • add an annualized income_adjusted_part_d_premium_surcharge variable using two-year-lagged MAGI
  • add baseline policy tests covering no-surcharge and surcharge cases

Scope

This PR models the federally defined Part D IRMAA surcharge only.

It does not attempt to model a total Part D premium, because underlying Part D plan premiums vary by plan and are not nationally fixed.

Legal basis

Annual values source

The 2024 / 2025 bracket thresholds and surcharge amounts in this PR come from CMS fact sheets:

Testing

  • uv run python -m py_compile policyengine_us/variables/gov/hhs/medicare/eligibility/part_d/income_adjusted_part_d_premium_surcharge.py
  • uv run policyengine-core test policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml
  • uv run policyengine-core test policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_b_premium.yaml
  • uv run policyengine-core test policyengine_us/tests/policy/baseline/gov/hhs/medicare/costs/medicare_cost.yaml

Closes #7949.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 8, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7950   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         1    -1     
  Lines           43        23   -20     
=========================================
- Hits            43        23   -20     
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.

@MaxGhenis MaxGhenis requested a review from daphnehanse11 April 8, 2026 12:41
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.

Add Medicare Part D IRMAA surcharge modeling

1 participant