Skip to content

Include Medicare Part A premiums and Part D IRMAA in MOOP#8532

Draft
daphnehanse11 wants to merge 3 commits into
PolicyEngine:mainfrom
daphnehanse11:codex/medicare-premiums-moop
Draft

Include Medicare Part A premiums and Part D IRMAA in MOOP#8532
daphnehanse11 wants to merge 3 commits into
PolicyEngine:mainfrom
daphnehanse11:codex/medicare-premiums-moop

Conversation

@daphnehanse11
Copy link
Copy Markdown
Collaborator

Summary

  • add a net medicare_part_a_premium variable for Part A premiums paid out of pocket
  • add msp_part_a_premium_coverage so QMB-covered Part A premiums do not count as household MOOP
  • include paid Part A premiums and Part D IRMAA in SPM health insurance premiums and medical out-of-pocket expenses

Fixes #8529.

Tests

uv run python -m policyengine_core.scripts.policyengine_command test -c policyengine_us policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/medicare_part_a_premium.yaml policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/msp_part_a_premium_coverage.yaml policyengine_us/tests/policy/baseline/household/income/spm_unit/spm_unit_medical_out_of_pocket_expenses_medicare_part_b.yaml
uv run python -m policyengine_core.scripts.policyengine_command test -c policyengine_us policyengine_us/tests/policy/baseline/gov/hhs/medicare policyengine_us/tests/policy/baseline/household/income/spm_unit/spm_unit_medical_out_of_pocket_expenses_medicare_part_b.yaml

@codecov
Copy link
Copy Markdown

codecov Bot commented May 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (7f028e9) to head (44c1b50).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8532   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         4    +2     
  Lines           30        49   +19     
  Branches         0         1    +1     
=========================================
+ Hits            30        49   +19     
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.

@daphnehanse11 daphnehanse11 force-pushed the codex/medicare-premiums-moop branch from e3fb9eb to 3aff88b Compare May 29, 2026 18:52
Copy link
Copy Markdown
Collaborator Author

@daphnehanse11 daphnehanse11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scope mismatch: this PR says it includes Medicare Part D premiums in MOOP, but spm_unit_health_insurance_premiums only adds income_adjusted_part_d_premium_surcharge. The surcharge variable documentation correctly says this is paid in addition to the beneficiary's underlying Part D plan premium, and I do not see a modeled base Part D premium or Part D enrollment variable in the PR. As written, ordinary Part D premiums remain omitted from MOOP, and high-income beneficiaries only get the IRMAA surcharge. Please add the base Part D premium path, or narrow the PR/docs/tests to say this only models Part D IRMAA.

@daphnehanse11 daphnehanse11 changed the title Include Medicare Part A and Part D premiums in MOOP Include Medicare Part A premiums and Part D IRMAA in MOOP May 29, 2026
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.

Include Medicare Part D IRMAA and paid Part A premiums in modeled MOOP/SPM premiums

1 participant