From 82b644dc74ce7451d76caefb04208da9175b403d Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 11 Oct 2026 15:02:20 -0400 Subject: [PATCH 1/6] Add 2015-2023 Medicare IRMAA brackets and 2015-2020 Part B premiums The Part B and Part D income-related monthly adjustment schedules started in 2024, so the backdating floor applied 2024 thresholds and amounts to benefit years 2015-2023, and the standard Part B premium applied its 2021 value to 2015-2020. Encode each year's schedule from the Federal Register Part B premium notices and CMS's Part D income-related adjustment releases: thresholds frozen through 2017, the MACRA brackets for 2018, the 85% tier from 2019 and CPI-U indexing from 2020, with the shorter married-filing-separately schedule (a single tier in 2018). Add YAML tests for every tier boundary in 2015-2023 and property tests for the statutory structure (ordering, joint and separate schedules, Part B adjustments relative to the standard premium, Part D tier proportions). Co-Authored-By: Claude Opus 5.5 --- .../irmaa-historical-brackets.fixed.md | 1 + .../gov/hhs/medicare/part_b/base_premium.yaml | 18 + .../part_b/irmaa/head_of_household.yaml | 116 + .../gov/hhs/medicare/part_b/irmaa/joint.yaml | 116 + .../hhs/medicare/part_b/irmaa/separate.yaml | 66 + .../gov/hhs/medicare/part_b/irmaa/single.yaml | 117 +- .../part_b/irmaa/surviving_spouse.yaml | 116 + .../part_d/irmaa/head_of_household.yaml | 114 + .../gov/hhs/medicare/part_d/irmaa/joint.yaml | 114 + .../hhs/medicare/part_d/irmaa/separate.yaml | 64 + .../gov/hhs/medicare/part_d/irmaa/single.yaml | 114 + .../part_d/irmaa/surviving_spouse.yaml | 114 + .../eligibility/base_part_b_premium.yaml | 48 + .../gross_medicare_part_b_premium.yaml | 1776 +++++++++++++++ ...ome_adjusted_part_d_premium_surcharge.yaml | 1975 +++++++++++++++++ .../test_irmaa_schedule_properties.py | 193 ++ 16 files changed, 5061 insertions(+), 1 deletion(-) create mode 100644 changelog.d/irmaa-historical-brackets.fixed.md create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml create mode 100644 policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py diff --git a/changelog.d/irmaa-historical-brackets.fixed.md b/changelog.d/irmaa-historical-brackets.fixed.md new file mode 100644 index 00000000000..6bf32d20b93 --- /dev/null +++ b/changelog.d/irmaa-historical-brackets.fixed.md @@ -0,0 +1 @@ +Add the Medicare Part B and Part D income-related monthly adjustment brackets for 2015-2023 and the standard Part B premium for 2015-2020, which had been backdated from their 2024 and 2021 values. diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml index 3f456752c45..12fae64f7de 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml @@ -4,6 +4,18 @@ metadata: period: month label: Medicare Part B base premium reference: + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=2 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=1 - title: 2021 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/press-releases/2021-medicare-part-b-premiums-remain-steady - title: 2022 Medicare Parts A & B Premiums and Deductibles @@ -17,6 +29,12 @@ metadata: - title: 2026 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles values: + 2015-01-01: 104.90 + 2016-01-01: 121.80 + 2017-01-01: 134.00 + 2018-01-01: 134.00 + 2019-01-01: 135.50 + 2020-01-01: 144.60 2021-01-01: 148.50 2022-01-01: 170.1 2023-01-01: 164.9 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml index 3592b9a0e87..ecd4b77df95 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml @@ -6,6 +6,28 @@ metadata: period: month label: Medicare Part B income brackets for head of household filers reference: + - title: 42 U.S.C. § 1395r(i) + href: https://www.law.cornell.edu/uscode/text/42/1395r#i + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 + - title: 2026 Medicare Trustees Report, Table V.E3 + href: https://www.cms.gov/oact/tr/2026#page=215 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -14,50 +36,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 42.00 + 2016-01-01: 48.70 + 2017-01-01: 53.50 + 2018-01-01: 53.50 + 2019-01-01: 54.10 + 2020-01-01: 57.80 + 2021-01-01: 59.40 + 2022-01-01: 68.00 + 2023-01-01: 65.90 2024-01-01: 69.90 2025-01-01: 74 2026-01-01: 81.20 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 104.90 + 2016-01-01: 121.80 + 2017-01-01: 133.90 + 2018-01-01: 133.90 + 2019-01-01: 135.40 + 2020-01-01: 144.60 + 2021-01-01: 148.50 + 2022-01-01: 170.10 + 2023-01-01: 164.80 2024-01-01: 174.70 2025-01-01: 185 2026-01-01: 202.90 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 167.80 + 2016-01-01: 194.90 + 2017-01-01: 214.30 + 2018-01-01: 214.30 + 2019-01-01: 216.70 + 2020-01-01: 231.40 + 2021-01-01: 237.60 + 2022-01-01: 272.20 + 2023-01-01: 263.70 2024-01-01: 279.50 2025-01-01: 295.9 2026-01-01: 324.60 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 297.90 + 2020-01-01: 318.10 + 2021-01-01: 326.70 + 2022-01-01: 374.20 + 2023-01-01: 362.60 2024-01-01: 384.30 2025-01-01: 406.9 2026-01-01: 446.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 325.00 + 2020-01-01: 347.00 + 2021-01-01: 356.40 + 2022-01-01: 408.20 + 2023-01-01: 395.60 2024-01-01: 419.30 2025-01-01: 443.9 2026-01-01: 487 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml index ae22ca67c2e..e104c9cc426 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml @@ -6,6 +6,28 @@ metadata: type: single_amount label: Medicare Part B income brackets for joint filers reference: + - title: 42 U.S.C. § 1395r(i) + href: https://www.law.cornell.edu/uscode/text/42/1395r#i + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 + - title: 2026 Medicare Trustees Report, Table V.E3 + href: https://www.cms.gov/oact/tr/2026#page=215 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -14,50 +36,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 170_001 + 2016-01-01: 170_001 + 2017-01-01: 170_001 + 2018-01-01: 170_001 + 2019-01-01: 170_001 + 2020-01-01: 174_001 + 2021-01-01: 176_001 + 2022-01-01: 182_001 + 2023-01-01: 194_001 2024-01-01: 206_001 2025-01-01: 212_001 2026-01-01: 218_001 amount: + 2015-01-01: 42.00 + 2016-01-01: 48.70 + 2017-01-01: 53.50 + 2018-01-01: 53.50 + 2019-01-01: 54.10 + 2020-01-01: 57.80 + 2021-01-01: 59.40 + 2022-01-01: 68.00 + 2023-01-01: 65.90 2024-01-01: 69.90 2025-01-01: 74 2026-01-01: 81.20 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 214_001 + 2019-01-01: 214_001 + 2020-01-01: 218_001 + 2021-01-01: 222_001 + 2022-01-01: 228_001 + 2023-01-01: 246_001 2024-01-01: 258_001 2025-01-01: 266_001 2026-01-01: 274_001 amount: + 2015-01-01: 104.90 + 2016-01-01: 121.80 + 2017-01-01: 133.90 + 2018-01-01: 133.90 + 2019-01-01: 135.40 + 2020-01-01: 144.60 + 2021-01-01: 148.50 + 2022-01-01: 170.10 + 2023-01-01: 164.80 2024-01-01: 174.70 2025-01-01: 185 2026-01-01: 202.90 - threshold: + 2015-01-01: 320_001 + 2016-01-01: 320_001 + 2017-01-01: 320_001 + 2018-01-01: 267_001 + 2019-01-01: 267_001 + 2020-01-01: 272_001 + 2021-01-01: 276_001 + 2022-01-01: 284_001 + 2023-01-01: 306_001 2024-01-01: 322_001 2025-01-01: 334_001 2026-01-01: 342_001 amount: + 2015-01-01: 167.80 + 2016-01-01: 194.90 + 2017-01-01: 214.30 + 2018-01-01: 214.30 + 2019-01-01: 216.70 + 2020-01-01: 231.40 + 2021-01-01: 237.60 + 2022-01-01: 272.20 + 2023-01-01: 263.70 2024-01-01: 279.50 2025-01-01: 295.9 2026-01-01: 324.60 - threshold: + 2015-01-01: 428_001 + 2016-01-01: 428_001 + 2017-01-01: 428_001 + 2018-01-01: 320_001 + 2019-01-01: 320_001 + 2020-01-01: 326_001 + 2021-01-01: 330_001 + 2022-01-01: 340_001 + 2023-01-01: 366_001 2024-01-01: 386_001 2025-01-01: 400_001 2026-01-01: 410_001 amount: + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 297.90 + 2020-01-01: 318.10 + 2021-01-01: 326.70 + 2022-01-01: 374.20 + 2023-01-01: 362.60 2024-01-01: 384.30 2025-01-01: 406.9 2026-01-01: 446.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 750_000 + 2020-01-01: 750_000 + 2021-01-01: 750_000 + 2022-01-01: 750_000 + 2023-01-01: 750_000 2024-01-01: 750_000 2025-01-01: 750_000 2026-01-01: 750_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 325.00 + 2020-01-01: 347.00 + 2021-01-01: 356.40 + 2022-01-01: 408.20 + 2023-01-01: 395.60 2024-01-01: 419.30 2025-01-01: 443.9 2026-01-01: 487 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml index 00640fac5b1..f55bdbe9585 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml @@ -6,6 +6,28 @@ metadata: type: single_amount label: Medicare Part B income brackets for married filing separately reference: + - title: 42 U.S.C. § 1395r(i) + href: https://www.law.cornell.edu/uscode/text/42/1395r#i + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=5 + - title: 2026 Medicare Trustees Report, Table V.E3 + href: https://www.cms.gov/oact/tr/2026#page=215 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -14,26 +36,70 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + # The 65% tier before 2018 and the 80% tier from 2018. + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 167.80 + 2016-01-01: 194.90 + 2017-01-01: 214.30 + 2018-01-01: 294.60 + 2019-01-01: 297.90 + 2020-01-01: 318.10 + 2021-01-01: 326.70 + 2022-01-01: 374.20 + 2023-01-01: 362.60 2024-01-01: 384.30 2025-01-01: 406.9 2026-01-01: 446.30 - threshold: + # The 80% tier before 2018 and the 85% tier from 2019. Married filing + # separately reduces each individual dollar amount by the $85,000 + # threshold (42 U.S.C. 1395r(i)(3)(C)(iii)); in 2018 the 65% tier then + # ended at $75,000, below the threshold, so only the 80% tier applied. + 2015-01-01: 129_001 + 2016-01-01: 129_001 + 2017-01-01: 129_001 + 2018-01-01: .inf + 2019-01-01: 415_000 + 2020-01-01: 413_000 + 2021-01-01: 412_000 + 2022-01-01: 409_000 + 2023-01-01: 403_000 2024-01-01: 397_000 2025-01-01: 394_000 2026-01-01: 391_000 amount: + # 2018 repeats the 80% tier amount; its threshold is unreachable. + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 325.00 + 2020-01-01: 347.00 + 2021-01-01: 356.40 + 2022-01-01: 408.20 + 2023-01-01: 395.60 2024-01-01: 419.30 2025-01-01: 443.9 2026-01-01: 487 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml index ee4af575421..92358f02b03 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml @@ -6,6 +6,28 @@ metadata: type: single_amount label: Medicare Part B income brackets for single filers reference: + - title: 42 U.S.C. § 1395r(i) + href: https://www.law.cornell.edu/uscode/text/42/1395r#i + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 + - title: 2026 Medicare Trustees Report, Table V.E3 + href: https://www.cms.gov/oact/tr/2026#page=215 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -14,51 +36,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 42.00 + 2016-01-01: 48.70 + 2017-01-01: 53.50 + 2018-01-01: 53.50 + 2019-01-01: 54.10 + 2020-01-01: 57.80 + 2021-01-01: 59.40 + 2022-01-01: 68.00 + 2023-01-01: 65.90 2024-01-01: 69.90 2025-01-01: 74 2026-01-01: 81.20 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 104.90 + 2016-01-01: 121.80 + 2017-01-01: 133.90 + 2018-01-01: 133.90 + 2019-01-01: 135.40 + 2020-01-01: 144.60 + 2021-01-01: 148.50 + 2022-01-01: 170.10 + 2023-01-01: 164.80 2024-01-01: 174.70 2025-01-01: 185 2026-01-01: 202.90 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 167.80 + 2016-01-01: 194.90 + 2017-01-01: 214.30 + 2018-01-01: 214.30 + 2019-01-01: 216.70 + 2020-01-01: 231.40 + 2021-01-01: 237.60 + 2022-01-01: 272.20 + 2023-01-01: 263.70 2024-01-01: 279.50 2025-01-01: 295.9 2026-01-01: 324.60 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 297.90 + 2020-01-01: 318.10 + 2021-01-01: 326.70 + 2022-01-01: 374.20 + 2023-01-01: 362.60 2024-01-01: 384.30 2025-01-01: 406.9 2026-01-01: 446.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 325.00 + 2020-01-01: 347.00 + 2021-01-01: 356.40 + 2022-01-01: 408.20 + 2023-01-01: 395.60 2024-01-01: 419.30 2025-01-01: 443.9 2026-01-01: 487 - diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml index 25e1f04734c..9470bb04a95 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml @@ -6,6 +6,28 @@ metadata: period: month label: Medicare Part B income brackets for surviving spouse filers reference: + - title: 42 U.S.C. § 1395r(i) + href: https://www.law.cornell.edu/uscode/text/42/1395r#i + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 + - title: 2026 Medicare Trustees Report, Table V.E3 + href: https://www.cms.gov/oact/tr/2026#page=215 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -14,50 +36,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 42.00 + 2016-01-01: 48.70 + 2017-01-01: 53.50 + 2018-01-01: 53.50 + 2019-01-01: 54.10 + 2020-01-01: 57.80 + 2021-01-01: 59.40 + 2022-01-01: 68.00 + 2023-01-01: 65.90 2024-01-01: 69.90 2025-01-01: 74 2026-01-01: 81.20 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 104.90 + 2016-01-01: 121.80 + 2017-01-01: 133.90 + 2018-01-01: 133.90 + 2019-01-01: 135.40 + 2020-01-01: 144.60 + 2021-01-01: 148.50 + 2022-01-01: 170.10 + 2023-01-01: 164.80 2024-01-01: 174.70 2025-01-01: 185 2026-01-01: 202.90 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 167.80 + 2016-01-01: 194.90 + 2017-01-01: 214.30 + 2018-01-01: 214.30 + 2019-01-01: 216.70 + 2020-01-01: 231.40 + 2021-01-01: 237.60 + 2022-01-01: 272.20 + 2023-01-01: 263.70 2024-01-01: 279.50 2025-01-01: 295.9 2026-01-01: 324.60 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 297.90 + 2020-01-01: 318.10 + 2021-01-01: 326.70 + 2022-01-01: 374.20 + 2023-01-01: 362.60 2024-01-01: 384.30 2025-01-01: 406.9 2026-01-01: 446.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 230.80 + 2016-01-01: 268.00 + 2017-01-01: 294.60 + 2018-01-01: 294.60 + 2019-01-01: 325.00 + 2020-01-01: 347.00 + 2021-01-01: 356.40 + 2022-01-01: 408.20 + 2023-01-01: 395.60 2024-01-01: 419.30 2025-01-01: 443.9 2026-01-01: 487 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml index c9c5403a23c..13b4b8a0e84 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml @@ -12,6 +12,26 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2016.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 29, 2016) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2017.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2017) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2018.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2018) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2019.pdf#page=4 + - title: CMS Office of the Actuary, 2020 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/Medicare/Health-Plans/MedicareAdvtgSpecRateStats/Downloads/PartDIRMAA2020.pdf#page=2 + - title: CMS Office of the Actuary, 2021 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/files/document/2021-part-d-income-related-monthly-premium-adjustment.pdf#page=2 + - title: 2022 Medicare Parts A & B Premiums and Deductibles and 2022 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2022-medicare-parts-b-premiums-deductibles-2022-medicare-part-d-income-related-monthly-adjustment + - title: 2023 Medicare Parts A & B Premiums and Deductibles and 2023 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2023-medicare-parts-b-premiums-and-deductibles-2023-medicare-part-d-income-related-monthly + - title: 2026 Medicare Trustees Report, Table V.E4 + href: https://www.cms.gov/oact/tr/2026#page=218 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -20,50 +40,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 12.30 + 2016-01-01: 12.70 + 2017-01-01: 13.30 + 2018-01-01: 13.00 + 2019-01-01: 12.40 + 2020-01-01: 12.20 + 2021-01-01: 12.30 + 2022-01-01: 12.40 + 2023-01-01: 12.20 2024-01-01: 12.90 2025-01-01: 13.70 2026-01-01: 14.50 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 31.80 + 2016-01-01: 32.80 + 2017-01-01: 34.20 + 2018-01-01: 33.60 + 2019-01-01: 31.90 + 2020-01-01: 31.50 + 2021-01-01: 31.80 + 2022-01-01: 32.10 + 2023-01-01: 31.50 2024-01-01: 33.30 2025-01-01: 35.30 2026-01-01: 37.50 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 51.30 + 2016-01-01: 52.80 + 2017-01-01: 55.20 + 2018-01-01: 54.20 + 2019-01-01: 51.40 + 2020-01-01: 50.70 + 2021-01-01: 51.20 + 2022-01-01: 51.70 + 2023-01-01: 50.70 2024-01-01: 53.80 2025-01-01: 57.00 2026-01-01: 60.40 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 70.90 + 2020-01-01: 70.00 + 2021-01-01: 70.70 + 2022-01-01: 71.30 + 2023-01-01: 70.00 2024-01-01: 74.20 2025-01-01: 78.60 2026-01-01: 83.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 77.40 + 2020-01-01: 76.40 + 2021-01-01: 77.10 + 2022-01-01: 77.90 + 2023-01-01: 76.40 2024-01-01: 81.00 2025-01-01: 85.80 2026-01-01: 91 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml index 4837285dfdb..11c2e7d00e0 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml @@ -12,6 +12,26 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2016.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 29, 2016) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2017.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2017) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2018.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2018) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2019.pdf#page=4 + - title: CMS Office of the Actuary, 2020 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/Medicare/Health-Plans/MedicareAdvtgSpecRateStats/Downloads/PartDIRMAA2020.pdf#page=2 + - title: CMS Office of the Actuary, 2021 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/files/document/2021-part-d-income-related-monthly-premium-adjustment.pdf#page=2 + - title: 2022 Medicare Parts A & B Premiums and Deductibles and 2022 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2022-medicare-parts-b-premiums-deductibles-2022-medicare-part-d-income-related-monthly-adjustment + - title: 2023 Medicare Parts A & B Premiums and Deductibles and 2023 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2023-medicare-parts-b-premiums-and-deductibles-2023-medicare-part-d-income-related-monthly + - title: 2026 Medicare Trustees Report, Table V.E4 + href: https://www.cms.gov/oact/tr/2026#page=218 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -20,50 +40,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 170_001 + 2016-01-01: 170_001 + 2017-01-01: 170_001 + 2018-01-01: 170_001 + 2019-01-01: 170_001 + 2020-01-01: 174_001 + 2021-01-01: 176_001 + 2022-01-01: 182_001 + 2023-01-01: 194_001 2024-01-01: 206_001 2025-01-01: 212_001 2026-01-01: 218_001 amount: + 2015-01-01: 12.30 + 2016-01-01: 12.70 + 2017-01-01: 13.30 + 2018-01-01: 13.00 + 2019-01-01: 12.40 + 2020-01-01: 12.20 + 2021-01-01: 12.30 + 2022-01-01: 12.40 + 2023-01-01: 12.20 2024-01-01: 12.90 2025-01-01: 13.70 2026-01-01: 14.50 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 214_001 + 2019-01-01: 214_001 + 2020-01-01: 218_001 + 2021-01-01: 222_001 + 2022-01-01: 228_001 + 2023-01-01: 246_001 2024-01-01: 258_001 2025-01-01: 266_001 2026-01-01: 274_001 amount: + 2015-01-01: 31.80 + 2016-01-01: 32.80 + 2017-01-01: 34.20 + 2018-01-01: 33.60 + 2019-01-01: 31.90 + 2020-01-01: 31.50 + 2021-01-01: 31.80 + 2022-01-01: 32.10 + 2023-01-01: 31.50 2024-01-01: 33.30 2025-01-01: 35.30 2026-01-01: 37.50 - threshold: + 2015-01-01: 320_001 + 2016-01-01: 320_001 + 2017-01-01: 320_001 + 2018-01-01: 267_001 + 2019-01-01: 267_001 + 2020-01-01: 272_001 + 2021-01-01: 276_001 + 2022-01-01: 284_001 + 2023-01-01: 306_001 2024-01-01: 322_001 2025-01-01: 334_001 2026-01-01: 342_001 amount: + 2015-01-01: 51.30 + 2016-01-01: 52.80 + 2017-01-01: 55.20 + 2018-01-01: 54.20 + 2019-01-01: 51.40 + 2020-01-01: 50.70 + 2021-01-01: 51.20 + 2022-01-01: 51.70 + 2023-01-01: 50.70 2024-01-01: 53.80 2025-01-01: 57.00 2026-01-01: 60.40 - threshold: + 2015-01-01: 428_001 + 2016-01-01: 428_001 + 2017-01-01: 428_001 + 2018-01-01: 320_001 + 2019-01-01: 320_001 + 2020-01-01: 326_001 + 2021-01-01: 330_001 + 2022-01-01: 340_001 + 2023-01-01: 366_001 2024-01-01: 386_001 2025-01-01: 400_001 2026-01-01: 410_001 amount: + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 70.90 + 2020-01-01: 70.00 + 2021-01-01: 70.70 + 2022-01-01: 71.30 + 2023-01-01: 70.00 2024-01-01: 74.20 2025-01-01: 78.60 2026-01-01: 83.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 750_000 + 2020-01-01: 750_000 + 2021-01-01: 750_000 + 2022-01-01: 750_000 + 2023-01-01: 750_000 2024-01-01: 750_000 2025-01-01: 750_000 2026-01-01: 750_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 77.40 + 2020-01-01: 76.40 + 2021-01-01: 77.10 + 2022-01-01: 77.90 + 2023-01-01: 76.40 2024-01-01: 81.00 2025-01-01: 85.80 2026-01-01: 91 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml index dfb4259c3c4..17a78465e1d 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml @@ -12,6 +12,26 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2016.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 29, 2016) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2017.pdf#page=5 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2017) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2018.pdf#page=5 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2018) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2019.pdf#page=5 + - title: CMS Office of the Actuary, 2020 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/Medicare/Health-Plans/MedicareAdvtgSpecRateStats/Downloads/PartDIRMAA2020.pdf#page=3 + - title: CMS Office of the Actuary, 2021 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/files/document/2021-part-d-income-related-monthly-premium-adjustment.pdf#page=3 + - title: 2022 Medicare Parts A & B Premiums and Deductibles and 2022 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2022-medicare-parts-b-premiums-deductibles-2022-medicare-part-d-income-related-monthly-adjustment + - title: 2023 Medicare Parts A & B Premiums and Deductibles and 2023 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2023-medicare-parts-b-premiums-and-deductibles-2023-medicare-part-d-income-related-monthly + - title: 2026 Medicare Trustees Report, Table V.E4 + href: https://www.cms.gov/oact/tr/2026#page=218 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -20,26 +40,70 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + # The 65% tier before 2018 and the 80% tier from 2018. + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 51.30 + 2016-01-01: 52.80 + 2017-01-01: 55.20 + 2018-01-01: 74.80 + 2019-01-01: 70.90 + 2020-01-01: 70.00 + 2021-01-01: 70.70 + 2022-01-01: 71.30 + 2023-01-01: 70.00 2024-01-01: 74.20 2025-01-01: 78.60 2026-01-01: 83.30 - threshold: + # The 80% tier before 2018 and the 85% tier from 2019. Married filing + # separately reduces each individual dollar amount by the $85,000 + # threshold (42 U.S.C. 1395r(i)(3)(C)(iii)); in 2018 the 65% tier then + # ended at $75,000, below the threshold, so only the 80% tier applied. + 2015-01-01: 129_001 + 2016-01-01: 129_001 + 2017-01-01: 129_001 + 2018-01-01: .inf + 2019-01-01: 415_000 + 2020-01-01: 413_000 + 2021-01-01: 412_000 + 2022-01-01: 409_000 + 2023-01-01: 403_000 2024-01-01: 397_000 2025-01-01: 394_000 2026-01-01: 391_000 amount: + # 2018 repeats the 80% tier amount; its threshold is unreachable. + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 77.40 + 2020-01-01: 76.40 + 2021-01-01: 77.10 + 2022-01-01: 77.90 + 2023-01-01: 76.40 2024-01-01: 81.00 2025-01-01: 85.80 2026-01-01: 91 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml index 7c79e99ee12..569aed99af4 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml @@ -12,6 +12,26 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2016.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 29, 2016) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2017.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2017) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2018.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2018) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2019.pdf#page=4 + - title: CMS Office of the Actuary, 2020 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/Medicare/Health-Plans/MedicareAdvtgSpecRateStats/Downloads/PartDIRMAA2020.pdf#page=2 + - title: CMS Office of the Actuary, 2021 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/files/document/2021-part-d-income-related-monthly-premium-adjustment.pdf#page=2 + - title: 2022 Medicare Parts A & B Premiums and Deductibles and 2022 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2022-medicare-parts-b-premiums-deductibles-2022-medicare-part-d-income-related-monthly-adjustment + - title: 2023 Medicare Parts A & B Premiums and Deductibles and 2023 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2023-medicare-parts-b-premiums-and-deductibles-2023-medicare-part-d-income-related-monthly + - title: 2026 Medicare Trustees Report, Table V.E4 + href: https://www.cms.gov/oact/tr/2026#page=218 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -20,50 +40,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 12.30 + 2016-01-01: 12.70 + 2017-01-01: 13.30 + 2018-01-01: 13.00 + 2019-01-01: 12.40 + 2020-01-01: 12.20 + 2021-01-01: 12.30 + 2022-01-01: 12.40 + 2023-01-01: 12.20 2024-01-01: 12.90 2025-01-01: 13.70 2026-01-01: 14.50 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 31.80 + 2016-01-01: 32.80 + 2017-01-01: 34.20 + 2018-01-01: 33.60 + 2019-01-01: 31.90 + 2020-01-01: 31.50 + 2021-01-01: 31.80 + 2022-01-01: 32.10 + 2023-01-01: 31.50 2024-01-01: 33.30 2025-01-01: 35.30 2026-01-01: 37.50 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 51.30 + 2016-01-01: 52.80 + 2017-01-01: 55.20 + 2018-01-01: 54.20 + 2019-01-01: 51.40 + 2020-01-01: 50.70 + 2021-01-01: 51.20 + 2022-01-01: 51.70 + 2023-01-01: 50.70 2024-01-01: 53.80 2025-01-01: 57.00 2026-01-01: 60.40 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 70.90 + 2020-01-01: 70.00 + 2021-01-01: 70.70 + 2022-01-01: 71.30 + 2023-01-01: 70.00 2024-01-01: 74.20 2025-01-01: 78.60 2026-01-01: 83.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 77.40 + 2020-01-01: 76.40 + 2021-01-01: 77.10 + 2022-01-01: 77.90 + 2023-01-01: 76.40 2024-01-01: 81.00 2025-01-01: 85.80 2026-01-01: 91 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml index 749583c717b..c7c0c496c44 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml @@ -12,6 +12,26 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2016.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 29, 2016) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2017.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2017) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2018.pdf#page=4 + - title: CMS, Annual Release of Part D National Average Bid Amount and Other Part C & D Bid Information (July 31, 2018) + href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2019.pdf#page=4 + - title: CMS Office of the Actuary, 2020 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/Medicare/Health-Plans/MedicareAdvtgSpecRateStats/Downloads/PartDIRMAA2020.pdf#page=2 + - title: CMS Office of the Actuary, 2021 Part D Income-Related Monthly Premium Adjustment + href: https://www.cms.gov/files/document/2021-part-d-income-related-monthly-premium-adjustment.pdf#page=2 + - title: 2022 Medicare Parts A & B Premiums and Deductibles and 2022 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2022-medicare-parts-b-premiums-deductibles-2022-medicare-part-d-income-related-monthly-adjustment + - title: 2023 Medicare Parts A & B Premiums and Deductibles and 2023 Medicare Part D Income-Related Monthly Adjustment Amounts + href: https://www.cms.gov/newsroom/fact-sheets/2023-medicare-parts-b-premiums-and-deductibles-2023-medicare-part-d-income-related-monthly + - title: 2026 Medicare Trustees Report, Table V.E4 + href: https://www.cms.gov/oact/tr/2026#page=218 - title: 2024 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/fact-sheets/2024-medicare-parts-b-premiums-and-deductibles - title: 2025 Medicare Parts A & B Premiums and Deductibles @@ -20,50 +40,144 @@ metadata: href: https://www.cms.gov/newsroom/fact-sheets/2026-medicare-parts-b-premiums-deductibles brackets: - threshold: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 amount: + 2015-01-01: 0 2024-01-01: 0 2025-01-01: 0 2026-01-01: 0 - threshold: + 2015-01-01: 85_001 + 2016-01-01: 85_001 + 2017-01-01: 85_001 + 2018-01-01: 85_001 + 2019-01-01: 85_001 + 2020-01-01: 87_001 + 2021-01-01: 88_001 + 2022-01-01: 91_001 + 2023-01-01: 97_001 2024-01-01: 103_001 2025-01-01: 106_001 2026-01-01: 109_001 amount: + 2015-01-01: 12.30 + 2016-01-01: 12.70 + 2017-01-01: 13.30 + 2018-01-01: 13.00 + 2019-01-01: 12.40 + 2020-01-01: 12.20 + 2021-01-01: 12.30 + 2022-01-01: 12.40 + 2023-01-01: 12.20 2024-01-01: 12.90 2025-01-01: 13.70 2026-01-01: 14.50 - threshold: + 2015-01-01: 107_001 + 2016-01-01: 107_001 + 2017-01-01: 107_001 + 2018-01-01: 107_001 + 2019-01-01: 107_001 + 2020-01-01: 109_001 + 2021-01-01: 111_001 + 2022-01-01: 114_001 + 2023-01-01: 123_001 2024-01-01: 129_001 2025-01-01: 133_001 2026-01-01: 137_001 amount: + 2015-01-01: 31.80 + 2016-01-01: 32.80 + 2017-01-01: 34.20 + 2018-01-01: 33.60 + 2019-01-01: 31.90 + 2020-01-01: 31.50 + 2021-01-01: 31.80 + 2022-01-01: 32.10 + 2023-01-01: 31.50 2024-01-01: 33.30 2025-01-01: 35.30 2026-01-01: 37.50 - threshold: + 2015-01-01: 160_001 + 2016-01-01: 160_001 + 2017-01-01: 160_001 + 2018-01-01: 133_501 + 2019-01-01: 133_501 + 2020-01-01: 136_001 + 2021-01-01: 138_001 + 2022-01-01: 142_001 + 2023-01-01: 153_001 2024-01-01: 161_001 2025-01-01: 167_001 2026-01-01: 171_001 amount: + 2015-01-01: 51.30 + 2016-01-01: 52.80 + 2017-01-01: 55.20 + 2018-01-01: 54.20 + 2019-01-01: 51.40 + 2020-01-01: 50.70 + 2021-01-01: 51.20 + 2022-01-01: 51.70 + 2023-01-01: 50.70 2024-01-01: 53.80 2025-01-01: 57.00 2026-01-01: 60.40 - threshold: + 2015-01-01: 214_001 + 2016-01-01: 214_001 + 2017-01-01: 214_001 + 2018-01-01: 160_001 + 2019-01-01: 160_001 + 2020-01-01: 163_001 + 2021-01-01: 165_001 + 2022-01-01: 170_001 + 2023-01-01: 183_001 2024-01-01: 193_001 2025-01-01: 200_001 2026-01-01: 205_001 amount: + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 70.90 + 2020-01-01: 70.00 + 2021-01-01: 70.70 + 2022-01-01: 71.30 + 2023-01-01: 70.00 2024-01-01: 74.20 2025-01-01: 78.60 2026-01-01: 83.30 - threshold: + # The 85% tier begins in 2019 (Bipartisan Budget Act of 2018, section 53114). + 2015-01-01: .inf + 2016-01-01: .inf + 2017-01-01: .inf + 2018-01-01: .inf + 2019-01-01: 500_000 + 2020-01-01: 500_000 + 2021-01-01: 500_000 + 2022-01-01: 500_000 + 2023-01-01: 500_000 2024-01-01: 500_000 2025-01-01: 500_000 2026-01-01: 500_000 amount: + # Before 2019 the threshold is unreachable and the amount repeats the 80% tier. + 2015-01-01: 70.80 + 2016-01-01: 72.90 + 2017-01-01: 76.20 + 2018-01-01: 74.80 + 2019-01-01: 77.40 + 2020-01-01: 76.40 + 2021-01-01: 77.10 + 2022-01-01: 77.90 + 2023-01-01: 76.40 2024-01-01: 81.00 2025-01-01: 85.80 2026-01-01: 91 diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml index 0711fd86c9f..ed996b9221b 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml @@ -37,3 +37,51 @@ is_medicare_eligible: true output: base_part_b_premium: 2_434.80 # $202.90 * 12 months + +- name: Standard premium in 2015. + period: 2015 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_258.8 # $104.90 * 12 months + +- name: Standard premium in 2016. + period: 2016 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_461.6 # $121.80 * 12 months + +- name: Standard premium in 2017. + period: 2017 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_608 # $134.00 * 12 months + +- name: Standard premium in 2018. + period: 2018 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_608 # $134.00 * 12 months + +- name: Standard premium in 2019. + period: 2019 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_626 # $135.50 * 12 months + +- name: Standard premium in 2020. + period: 2020 + input: + age: 65 + is_medicare_eligible: true + output: + base_part_b_premium: 1_735.2 # $144.60 * 12 months diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml new file mode 100644 index 00000000000..ff7d4aa6188 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml @@ -0,0 +1,1776 @@ +# Part B premiums for 2015-2023, from the Federal Register notices of the +# Part B premium rates for each year: the standard premium plus the +# income-related monthly adjustment amount for the tier, times 12. Each person +# is a separate tax unit with MAGI from two years prior provided directly. +# Thresholds are "more than $X" for the first four tiers and "at least $X" for +# the 85% tier, which the Bipartisan Budget Act of 2018 added for 2019. + +- name: 2015 single filers across the Part B premium tiers. + period: 2015 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $104.90 a month + # MAGI 85,001, lowest income in the 35% tier: $146.90 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $209.80 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $272.70 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $335.70 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $335.70 (80%) a month + gross_medicare_part_b_premium: [1_258.8, 1_762.8, 2_517.6, 3_272.4, 4_028.4, 4_028.4] + +- name: 2015 joint filers across the Part B premium tiers. + period: 2015 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $104.90 a month + # MAGI 170,001, lowest income in the 35% tier: $146.90 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $209.80 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $272.70 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $335.70 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $335.70 (80%) a month + gross_medicare_part_b_premium: [1_258.8, 1_762.8, 2_517.6, 3_272.4, 4_028.4, 4_028.4] + +- name: 2015 married filing separately filers across the Part B premium tiers. + period: 2015 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $104.90 a month + # MAGI 85,001, just above it: $272.70 (65%) a month + # MAGI 129,000, at the second threshold: $272.70 (65%) a month + # MAGI 129,001, just above it: $335.70 (80%) a month + # MAGI 2,000,000, far above every threshold: $335.70 (80%) a month + gross_medicare_part_b_premium: [1_258.8, 3_272.4, 3_272.4, 4_028.4, 4_028.4] + +- name: 2016 single filers across the Part B premium tiers. + period: 2016 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $121.80 a month + # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $389.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + +- name: 2016 head of household filers across the Part B premium tiers. + period: 2016 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $121.80 a month + # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $389.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + +- name: 2016 surviving spouse filers across the Part B premium tiers. + period: 2016 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $121.80 a month + # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $389.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + +- name: 2016 joint filers across the Part B premium tiers. + period: 2016 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $121.80 a month + # MAGI 170,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $389.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + +- name: 2016 married filing separately filers across the Part B premium tiers. + period: 2016 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $121.80 a month + # MAGI 85,001, just above it: $316.70 (65%) a month + # MAGI 129,000, at the second threshold: $316.70 (65%) a month + # MAGI 129,001, just above it: $389.80 (80%) a month + # MAGI 2,000,000, far above every threshold: $389.80 (80%) a month + gross_medicare_part_b_premium: [1_461.6, 3_800.4, 3_800.4, 4_677.6, 4_677.6] + +- name: 2017 single filers across the Part B premium tiers. + period: 2017 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $134.00 a month + # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $428.60 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + +- name: 2017 joint filers across the Part B premium tiers. + period: 2017 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $134.00 a month + # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $428.60 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + +- name: 2017 married filing separately filers across the Part B premium tiers. + period: 2017 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $134.00 a month + # MAGI 85,001, just above it: $348.30 (65%) a month + # MAGI 129,000, at the second threshold: $348.30 (65%) a month + # MAGI 129,001, just above it: $428.60 (80%) a month + # MAGI 2,000,000, far above every threshold: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 4_179.6, 4_179.6, 5_143.2, 5_143.2] + +- name: 2018 single filers across the Part B premium tiers. + period: 2018 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $134.00 a month + # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $428.60 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + +- name: 2018 joint filers across the Part B premium tiers. + period: 2018 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $134.00 a month + # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 267,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 320,001, lowest income in the 80% tier: $428.60 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + +- name: 2018 married filing separately filers across the Part B premium tiers. + period: 2018 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3] + output: + # MAGI 85,000, at the threshold: $134.00 a month + # MAGI 85,001, just above it: $428.60 (80%) a month + # MAGI 2,000,000, far above every threshold: $428.60 (80%) a month + gross_medicare_part_b_premium: [1_608, 5_143.2, 5_143.2] + +- name: 2019 single filers across the Part B premium tiers. + period: 2019 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $135.50 a month + # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $433.40 (80%) a month + # MAGI 499,999, just below the 85% tier: $433.40 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $460.50 (85%) a month + gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + +- name: 2019 head of household filers across the Part B premium tiers. + period: 2019 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $135.50 a month + # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $433.40 (80%) a month + # MAGI 499,999, just below the 85% tier: $433.40 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $460.50 (85%) a month + gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + +- name: 2019 surviving spouse filers across the Part B premium tiers. + period: 2019 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $135.50 a month + # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $433.40 (80%) a month + # MAGI 499,999, just below the 85% tier: $433.40 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $460.50 (85%) a month + gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + +- name: 2019 joint filers across the Part B premium tiers. + period: 2019 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 170,000, at the threshold: $135.50 a month + # MAGI 170,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 267,001, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 320,001, lowest income in the 80% tier: $433.40 (80%) a month + # MAGI 749,999, just below the 85% tier: $433.40 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $460.50 (85%) a month + gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + +- name: 2019 married filing separately filers across the Part B premium tiers. + period: 2019 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 414_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 415_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $135.50 a month + # MAGI 85,001, just above it: $433.40 (80%) a month + # MAGI 414,999, just below the top tier: $433.40 (80%) a month + # MAGI 415,000, at the top tier: $460.50 (85%) a month + # MAGI 2,000,000, far above every threshold: $460.50 (85%) a month + gross_medicare_part_b_premium: [1_626, 5_200.8, 5_200.8, 5_526, 5_526] + +- name: 2020 single filers across the Part B premium tiers. + period: 2020 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 87_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 87_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 109_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 136_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 87,000, at the threshold: $144.60 a month + # MAGI 87,001, lowest income in the 35% tier: $202.40 (35%) a month + # MAGI 109,001, lowest income in the 50% tier: $289.20 (50%) a month + # MAGI 136,001, lowest income in the 65% tier: $376.00 (65%) a month + # MAGI 163,001, lowest income in the 80% tier: $462.70 (80%) a month + # MAGI 499,999, just below the 85% tier: $462.70 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $491.60 (85%) a month + gross_medicare_part_b_premium: [1_735.2, 2_428.8, 3_470.4, 4_512, 5_552.4, 5_552.4, 5_899.2] + +- name: 2020 joint filers across the Part B premium tiers. + period: 2020 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 174_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 174_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 218_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 272_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 174,000, at the threshold: $144.60 a month + # MAGI 174,001, lowest income in the 35% tier: $202.40 (35%) a month + # MAGI 218,001, lowest income in the 50% tier: $289.20 (50%) a month + # MAGI 272,001, lowest income in the 65% tier: $376.00 (65%) a month + # MAGI 326,001, lowest income in the 80% tier: $462.70 (80%) a month + # MAGI 749,999, just below the 85% tier: $462.70 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $491.60 (85%) a month + gross_medicare_part_b_premium: [1_735.2, 2_428.8, 3_470.4, 4_512, 5_552.4, 5_552.4, 5_899.2] + +- name: 2020 married filing separately filers across the Part B premium tiers. + period: 2020 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 87_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 87_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 412_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 413_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 87,000, at the threshold: $144.60 a month + # MAGI 87,001, just above it: $462.70 (80%) a month + # MAGI 412,999, just below the top tier: $462.70 (80%) a month + # MAGI 413,000, at the top tier: $491.60 (85%) a month + # MAGI 2,000,000, far above every threshold: $491.60 (85%) a month + gross_medicare_part_b_premium: [1_735.2, 5_552.4, 5_552.4, 5_899.2, 5_899.2] + +- name: 2021 single filers across the Part B premium tiers. + period: 2021 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $148.50 a month + # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $475.20 (80%) a month + # MAGI 499,999, just below the 85% tier: $475.20 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $504.90 (85%) a month + gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + +- name: 2021 head of household filers across the Part B premium tiers. + period: 2021 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $148.50 a month + # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $475.20 (80%) a month + # MAGI 499,999, just below the 85% tier: $475.20 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $504.90 (85%) a month + gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + +- name: 2021 surviving spouse filers across the Part B premium tiers. + period: 2021 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $148.50 a month + # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $475.20 (80%) a month + # MAGI 499,999, just below the 85% tier: $475.20 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $504.90 (85%) a month + gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + +- name: 2021 joint filers across the Part B premium tiers. + period: 2021 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 176_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 176_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 222_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 276_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 176,000, at the threshold: $148.50 a month + # MAGI 176,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 222,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 276,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 330,001, lowest income in the 80% tier: $475.20 (80%) a month + # MAGI 749,999, just below the 85% tier: $475.20 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $504.90 (85%) a month + gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + +- name: 2021 married filing separately filers across the Part B premium tiers. + period: 2021 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 411_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 412_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 88,000, at the threshold: $148.50 a month + # MAGI 88,001, just above it: $475.20 (80%) a month + # MAGI 411,999, just below the top tier: $475.20 (80%) a month + # MAGI 412,000, at the top tier: $504.90 (85%) a month + # MAGI 2,000,000, far above every threshold: $504.90 (85%) a month + gross_medicare_part_b_premium: [1_782, 5_702.4, 5_702.4, 6_058.8, 6_058.8] + +- name: 2022 single filers across the Part B premium tiers. + period: 2022 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 91_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 91_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 114_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 142_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 91,000, at the threshold: $170.10 a month + # MAGI 91,001, lowest income in the 35% tier: $238.10 (35%) a month + # MAGI 114,001, lowest income in the 50% tier: $340.20 (50%) a month + # MAGI 142,001, lowest income in the 65% tier: $442.30 (65%) a month + # MAGI 170,001, lowest income in the 80% tier: $544.30 (80%) a month + # MAGI 499,999, just below the 85% tier: $544.30 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $578.30 (85%) a month + gross_medicare_part_b_premium: [2_041.2, 2_857.2, 4_082.4, 5_307.6, 6_531.6, 6_531.6, 6_939.6] + +- name: 2022 joint filers across the Part B premium tiers. + period: 2022 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 182_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 182_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 228_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 284_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 182,000, at the threshold: $170.10 a month + # MAGI 182,001, lowest income in the 35% tier: $238.10 (35%) a month + # MAGI 228,001, lowest income in the 50% tier: $340.20 (50%) a month + # MAGI 284,001, lowest income in the 65% tier: $442.30 (65%) a month + # MAGI 340,001, lowest income in the 80% tier: $544.30 (80%) a month + # MAGI 749,999, just below the 85% tier: $544.30 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $578.30 (85%) a month + gross_medicare_part_b_premium: [2_041.2, 2_857.2, 4_082.4, 5_307.6, 6_531.6, 6_531.6, 6_939.6] + +- name: 2022 married filing separately filers across the Part B premium tiers. + period: 2022 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 91_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 91_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 408_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 409_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 91,000, at the threshold: $170.10 a month + # MAGI 91,001, just above it: $544.30 (80%) a month + # MAGI 408,999, just below the top tier: $544.30 (80%) a month + # MAGI 409,000, at the top tier: $578.30 (85%) a month + # MAGI 2,000,000, far above every threshold: $578.30 (85%) a month + gross_medicare_part_b_premium: [2_041.2, 6_531.6, 6_531.6, 6_939.6, 6_939.6] + +- name: 2023 single filers across the Part B premium tiers. + period: 2023 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 97_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 97_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 123_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 153_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 97,000, at the threshold: $164.90 a month + # MAGI 97,001, lowest income in the 35% tier: $230.80 (35%) a month + # MAGI 123,001, lowest income in the 50% tier: $329.70 (50%) a month + # MAGI 153,001, lowest income in the 65% tier: $428.60 (65%) a month + # MAGI 183,001, lowest income in the 80% tier: $527.50 (80%) a month + # MAGI 499,999, just below the 85% tier: $527.50 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $560.50 (85%) a month + gross_medicare_part_b_premium: [1_978.8, 2_769.6, 3_956.4, 5_143.2, 6_330, 6_330, 6_726] + +- name: 2023 joint filers across the Part B premium tiers. + period: 2023 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + person6: + age: 66 + person7: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 194_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 194_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 246_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 306_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 194,000, at the threshold: $164.90 a month + # MAGI 194,001, lowest income in the 35% tier: $230.80 (35%) a month + # MAGI 246,001, lowest income in the 50% tier: $329.70 (50%) a month + # MAGI 306,001, lowest income in the 65% tier: $428.60 (65%) a month + # MAGI 366,001, lowest income in the 80% tier: $527.50 (80%) a month + # MAGI 749,999, just below the 85% tier: $527.50 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $560.50 (85%) a month + gross_medicare_part_b_premium: [1_978.8, 2_769.6, 3_956.4, 5_143.2, 6_330, 6_330, 6_726] + +- name: 2023 married filing separately filers across the Part B premium tiers. + period: 2023 + input: + people: + person1: + age: 66 + person2: + age: 66 + person3: + age: 66 + person4: + age: 66 + person5: + age: 66 + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 97_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 97_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 402_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 403_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 97,000, at the threshold: $164.90 a month + # MAGI 97,001, just above it: $527.50 (80%) a month + # MAGI 402,999, just below the top tier: $527.50 (80%) a month + # MAGI 403,000, at the top tier: $560.50 (85%) a month + # MAGI 2,000,000, far above every threshold: $560.50 (85%) a month + gross_medicare_part_b_premium: [1_978.8, 6_330, 6_330, 6_726, 6_726] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml index 66ce09857a6..03631338d3f 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml @@ -129,3 +129,1978 @@ medicare_irmaa_magi_two_years_prior: 500_000 output: income_adjusted_part_d_premium_surcharge: 1_029.6 + +# Part D IRMAA for 2015-2023, from the CMS Part D income-related monthly +# adjustment releases for each year, times 12. Each person is a separate tax +# unit with MAGI from two years prior provided directly. + +- name: 2015 single filers across the Part D IRMAA tiers. + period: 2015 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $51.30 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $70.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $70.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 615.6, 849.6, 849.6] + +- name: 2015 joint filers across the Part D IRMAA tiers. + period: 2015 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $0 a month + # MAGI 170,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $51.30 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $70.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $70.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 615.6, 849.6, 849.6] + +- name: 2015 married filing separately filers across the Part D IRMAA tiers. + period: 2015 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, just above it: $51.30 (65%) a month + # MAGI 129,000, at the second threshold: $51.30 (65%) a month + # MAGI 129,001, just above it: $70.80 (80%) a month + # MAGI 2,000,000, far above every threshold: $70.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 615.6, 615.6, 849.6, 849.6] + +- name: 2016 single filers across the Part D IRMAA tiers. + period: 2016 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $72.90 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + +- name: 2016 head of household filers across the Part D IRMAA tiers. + period: 2016 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $72.90 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + +- name: 2016 surviving spouse filers across the Part D IRMAA tiers. + period: 2016 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $72.90 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + +- name: 2016 joint filers across the Part D IRMAA tiers. + period: 2016 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $0 a month + # MAGI 170,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $72.90 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + +- name: 2016 married filing separately filers across the Part D IRMAA tiers. + period: 2016 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, just above it: $52.80 (65%) a month + # MAGI 129,000, at the second threshold: $52.80 (65%) a month + # MAGI 129,001, just above it: $72.90 (80%) a month + # MAGI 2,000,000, far above every threshold: $72.90 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 633.6, 633.6, 874.8, 874.8] + +- name: 2017 single filers across the Part D IRMAA tiers. + period: 2017 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $13.30 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $34.20 (50%) a month + # MAGI 160,001, lowest income in the 65% tier: $55.20 (65%) a month + # MAGI 214,001, lowest income in the 80% tier: $76.20 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $76.20 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 159.6, 410.4, 662.4, 914.4, 914.4] + +- name: 2017 joint filers across the Part D IRMAA tiers. + period: 2017 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $0 a month + # MAGI 170,001, lowest income in the 35% tier: $13.30 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $34.20 (50%) a month + # MAGI 320,001, lowest income in the 65% tier: $55.20 (65%) a month + # MAGI 428,001, lowest income in the 80% tier: $76.20 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $76.20 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 159.6, 410.4, 662.4, 914.4, 914.4] + +- name: 2017 married filing separately filers across the Part D IRMAA tiers. + period: 2017 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_000 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 129_001 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, just above it: $55.20 (65%) a month + # MAGI 129,000, at the second threshold: $55.20 (65%) a month + # MAGI 129,001, just above it: $76.20 (80%) a month + # MAGI 2,000,000, far above every threshold: $76.20 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 662.4, 662.4, 914.4, 914.4] + +- name: 2018 single filers across the Part D IRMAA tiers. + period: 2018 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $13.00 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $33.60 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $54.20 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $74.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $74.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 156, 403.2, 650.4, 897.6, 897.6] + +- name: 2018 joint filers across the Part D IRMAA tiers. + period: 2018 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6] + output: + # MAGI 170,000, at the threshold: $0 a month + # MAGI 170,001, lowest income in the 35% tier: $13.00 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $33.60 (50%) a month + # MAGI 267,001, lowest income in the 65% tier: $54.20 (65%) a month + # MAGI 320,001, lowest income in the 80% tier: $74.80 (80%) a month + # MAGI 2,000,000, no 85% tier before 2019: $74.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 156, 403.2, 650.4, 897.6, 897.6] + +- name: 2018 married filing separately filers across the Part D IRMAA tiers. + period: 2018 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, just above it: $74.80 (80%) a month + # MAGI 2,000,000, far above every threshold: $74.80 (80%) a month + income_adjusted_part_d_premium_surcharge: [0, 897.6, 897.6] + +- name: 2019 single filers across the Part D IRMAA tiers. + period: 2019 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $70.90 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.90 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + +- name: 2019 head of household filers across the Part D IRMAA tiers. + period: 2019 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $70.90 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.90 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + +- name: 2019 surviving spouse filers across the Part D IRMAA tiers. + period: 2019 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 107_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 133,501, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 160,001, lowest income in the 80% tier: $70.90 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.90 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + +- name: 2019 joint filers across the Part D IRMAA tiers. + period: 2019 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 170,000, at the threshold: $0 a month + # MAGI 170,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 214,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 267,001, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 320,001, lowest income in the 80% tier: $70.90 (80%) a month + # MAGI 749,999, just below the 85% tier: $70.90 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $77.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + +- name: 2019 married filing separately filers across the Part D IRMAA tiers. + period: 2019 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 85_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 414_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 415_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 85,000, at the threshold: $0 a month + # MAGI 85,001, just above it: $70.90 (80%) a month + # MAGI 414,999, just below the top tier: $70.90 (80%) a month + # MAGI 415,000, at the top tier: $77.40 (85%) a month + # MAGI 2,000,000, far above every threshold: $77.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 850.8, 850.8, 928.8, 928.8] + +- name: 2020 single filers across the Part D IRMAA tiers. + period: 2020 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 87_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 87_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 109_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 136_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 87,000, at the threshold: $0 a month + # MAGI 87,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 109,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 136,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 163,001, lowest income in the 80% tier: $70.00 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.00 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + +- name: 2020 joint filers across the Part D IRMAA tiers. + period: 2020 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 174_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 174_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 218_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 272_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 174,000, at the threshold: $0 a month + # MAGI 174,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 218,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 272,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 326,001, lowest income in the 80% tier: $70.00 (80%) a month + # MAGI 749,999, just below the 85% tier: $70.00 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + +- name: 2020 married filing separately filers across the Part D IRMAA tiers. + period: 2020 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 87_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 87_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 412_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 413_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 87,000, at the threshold: $0 a month + # MAGI 87,001, just above it: $70.00 (80%) a month + # MAGI 412,999, just below the top tier: $70.00 (80%) a month + # MAGI 413,000, at the top tier: $76.40 (85%) a month + # MAGI 2,000,000, far above every threshold: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 840, 840, 916.8, 916.8] + +- name: 2021 single filers across the Part D IRMAA tiers. + period: 2021 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $0 a month + # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $70.70 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.70 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.10 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + +- name: 2021 head of household filers across the Part D IRMAA tiers. + period: 2021 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: HEAD_OF_HOUSEHOLD + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $0 a month + # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $70.70 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.70 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.10 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + +- name: 2021 surviving spouse filers across the Part D IRMAA tiers. + period: 2021 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 111_001 + tax_unit4: + members: [person4] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 138_001 + tax_unit5: + members: [person5] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit6: + members: [person6] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SURVIVING_SPOUSE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 88,000, at the threshold: $0 a month + # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 138,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 165,001, lowest income in the 80% tier: $70.70 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.70 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.10 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + +- name: 2021 joint filers across the Part D IRMAA tiers. + period: 2021 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 176_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 176_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 222_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 276_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 176,000, at the threshold: $0 a month + # MAGI 176,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 222,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 276,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 330,001, lowest income in the 80% tier: $70.70 (80%) a month + # MAGI 749,999, just below the 85% tier: $70.70 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $77.10 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + +- name: 2021 married filing separately filers across the Part D IRMAA tiers. + period: 2021 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 88_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 88_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 411_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 412_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 88,000, at the threshold: $0 a month + # MAGI 88,001, just above it: $70.70 (80%) a month + # MAGI 411,999, just below the top tier: $70.70 (80%) a month + # MAGI 412,000, at the top tier: $77.10 (85%) a month + # MAGI 2,000,000, far above every threshold: $77.10 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 848.4, 848.4, 925.2, 925.2] + +- name: 2022 single filers across the Part D IRMAA tiers. + period: 2022 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 91_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 91_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 114_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 142_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 91,000, at the threshold: $0 a month + # MAGI 91,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 114,001, lowest income in the 50% tier: $32.10 (50%) a month + # MAGI 142,001, lowest income in the 65% tier: $51.70 (65%) a month + # MAGI 170,001, lowest income in the 80% tier: $71.30 (80%) a month + # MAGI 499,999, just below the 85% tier: $71.30 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $77.90 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 385.2, 620.4, 855.6, 855.6, 934.8] + +- name: 2022 joint filers across the Part D IRMAA tiers. + period: 2022 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 182_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 182_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 228_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 284_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 182,000, at the threshold: $0 a month + # MAGI 182,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 228,001, lowest income in the 50% tier: $32.10 (50%) a month + # MAGI 284,001, lowest income in the 65% tier: $51.70 (65%) a month + # MAGI 340,001, lowest income in the 80% tier: $71.30 (80%) a month + # MAGI 749,999, just below the 85% tier: $71.30 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $77.90 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 148.8, 385.2, 620.4, 855.6, 855.6, 934.8] + +- name: 2022 married filing separately filers across the Part D IRMAA tiers. + period: 2022 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 91_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 91_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 408_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 409_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 91,000, at the threshold: $0 a month + # MAGI 91,001, just above it: $71.30 (80%) a month + # MAGI 408,999, just below the top tier: $71.30 (80%) a month + # MAGI 409,000, at the top tier: $77.90 (85%) a month + # MAGI 2,000,000, far above every threshold: $77.90 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 855.6, 855.6, 934.8, 934.8] + +- name: 2023 single filers across the Part D IRMAA tiers. + period: 2023 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 97_000 + tax_unit2: + members: [person2] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 97_001 + tax_unit3: + members: [person3] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 123_001 + tax_unit4: + members: [person4] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 153_001 + tax_unit5: + members: [person5] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_001 + tax_unit6: + members: [person6] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 500_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 97,000, at the threshold: $0 a month + # MAGI 97,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 123,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 153,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 183,001, lowest income in the 80% tier: $70.00 (80%) a month + # MAGI 499,999, just below the 85% tier: $70.00 (80%) a month + # MAGI 500,000, lowest income in the 85% tier: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + +- name: 2023 joint filers across the Part D IRMAA tiers. + period: 2023 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + person6: + age: 66 + medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 194_000 + tax_unit2: + members: [person2] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 194_001 + tax_unit3: + members: [person3] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 246_001 + tax_unit4: + members: [person4] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 306_001 + tax_unit5: + members: [person5] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_001 + tax_unit6: + members: [person6] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 750_000 + households: + household: + members: [person1, person2, person3, person4, person5, person6, person7] + output: + # MAGI 194,000, at the threshold: $0 a month + # MAGI 194,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 246,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 306,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 366,001, lowest income in the 80% tier: $70.00 (80%) a month + # MAGI 749,999, just below the 85% tier: $70.00 (80%) a month + # MAGI 750,000, lowest income in the 85% tier: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + +- name: 2023 married filing separately filers across the Part D IRMAA tiers. + period: 2023 + input: + people: + person1: + age: 66 + medicare_enrolled: true + person2: + age: 66 + medicare_enrolled: true + person3: + age: 66 + medicare_enrolled: true + person4: + age: 66 + medicare_enrolled: true + person5: + age: 66 + medicare_enrolled: true + tax_units: + tax_unit1: + members: [person1] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 97_000 + tax_unit2: + members: [person2] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 97_001 + tax_unit3: + members: [person3] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 402_999 + tax_unit4: + members: [person4] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 403_000 + tax_unit5: + members: [person5] + filing_status: SEPARATE + medicare_irmaa_magi_two_years_prior: 2_000_000 + households: + household: + members: [person1, person2, person3, person4, person5] + output: + # MAGI 97,000, at the threshold: $0 a month + # MAGI 97,001, just above it: $70.00 (80%) a month + # MAGI 402,999, just below the top tier: $70.00 (80%) a month + # MAGI 403,000, at the top tier: $76.40 (85%) a month + # MAGI 2,000,000, far above every threshold: $76.40 (85%) a month + income_adjusted_part_d_premium_surcharge: [0, 840, 840, 916.8, 916.8] diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py new file mode 100644 index 00000000000..2694d856b50 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py @@ -0,0 +1,193 @@ +"""Medicare IRMAA schedules: invariants across the years the model covers. + +42 U.S.C. 1395r(i) sets the Part B income-related monthly adjustment amounts +and their income thresholds, and 42 U.S.C. 1395w-113(a)(7) applies the same +thresholds and applicable percentages to Part D. Checked for every year from +FIRST_MODELED_YEAR through 2035: + +- every schedule starts with a zero amount at zero income, its thresholds rise + strictly until any unreachable (+inf) bracket, and its amounts never fall + from one tier to the next; +- head of household and surviving spouse filers use the single schedule, since + 1395r(i)(2)(A) sets one threshold amount for every return but a joint one; +- Part D uses the Part B thresholds. + +Checked for the years CMS has published schedules for (2015-2026): + +- joint thresholds are twice the individual ones, except the $500,000 amount, + which is 150 percent (1395r(i)(3)(C)(ii)); +- a married individual filing separately who lived with the spouse is charged, + once MAGI exceeds the individual threshold amount, what the individual + schedule charges at MAGI plus that amount, since 1395r(i)(3)(C)(iii) reduces + each individual dollar amount by it; +- each Part B adjustment is (applicable percentage - 25) / 25 times the + standard premium: 1395r(i)(3)(A) multiplies the percentage less 25 points by + 200 percent of the aged actuarial rate (plus 4 times any repayment amount), + and 1395r(a)(3) and (a)(6) set the premium at 50 percent of that rate plus + the repayment amount; +- each Part D adjustment is the base beneficiary premium times (applicable + percentage - 25.5) / 25.5 (1395w-113(a)(7)(B)), so the tiers are in that + proportion to one another. + +The last two hold up to the rounding of each published amount to the dime. +""" + +import math + +import numpy as np +import pytest +from hypothesis import given +from hypothesis import strategies as st + +from policyengine_us.system import system +from policyengine_us.tools.parameters import FIRST_MODELED_YEAR + +MEDICARE = system.parameters.gov.hhs.medicare +PARTS = ["part_b", "part_d"] +STATUSES = ["single", "head_of_household", "surviving_spouse", "joint", "separate"] +ALL_YEARS = list(range(FIRST_MODELED_YEAR, 2036)) +PUBLISHED_YEARS = list(range(2015, 2027)) +# Applicable percentages of the five tiers above the standard premium +# (1395r(i)(3)(C)(i)); the 85 percent tier starts in 2019. +APPLICABLE_PERCENTAGES = [35, 50, 65, 80, 85] +PART_B_TOLERANCE = 0.25 +PART_D_TOLERANCE = 0.10 + + +def schedule(part, status, year): + return getattr(getattr(MEDICARE, part).irmaa, status)(f"{year}-01-01") + + +def reachable_tiers(scale): + """(applicable percentage, amount) for each finite tier above zero.""" + tiers = [ + amount + for threshold, amount in zip(scale.thresholds[1:], scale.amounts[1:]) + if math.isfinite(threshold) + ] + return list(zip(APPLICABLE_PERCENTAGES, tiers)) + + +@pytest.mark.parametrize("year", ALL_YEARS) +@pytest.mark.parametrize("status", STATUSES) +@pytest.mark.parametrize("part", PARTS) +def test_schedule_is_ordered(part, status, year): + scale = schedule(part, status, year) + thresholds, amounts = list(scale.thresholds), list(scale.amounts) + assert thresholds[0] == 0 and amounts[0] == 0 + finite = [t for t in thresholds if math.isfinite(t)] + assert thresholds[: len(finite)] == finite, "+inf brackets come last" + assert all(a < b for a, b in zip(finite, finite[1:])) + assert all(a <= b for a, b in zip(amounts, amounts[1:])) + + +@pytest.mark.parametrize("year", ALL_YEARS) +@pytest.mark.parametrize("status", ["head_of_household", "surviving_spouse"]) +@pytest.mark.parametrize("part", PARTS) +def test_other_unmarried_filers_use_the_single_schedule(part, status, year): + scale, single = schedule(part, status, year), schedule(part, "single", year) + assert list(scale.thresholds) == list(single.thresholds) + assert list(scale.amounts) == list(single.amounts) + + +@pytest.mark.parametrize("year", ALL_YEARS) +@pytest.mark.parametrize("status", STATUSES) +def test_part_d_uses_part_b_thresholds(status, year): + part_b = schedule("part_b", status, year) + part_d = schedule("part_d", status, year) + assert list(part_d.thresholds) == list(part_b.thresholds) + + +@pytest.mark.parametrize("year", PUBLISHED_YEARS) +@pytest.mark.parametrize("part", PARTS) +def test_joint_thresholds_double_the_individual_ones(part, year): + # Thresholds are "more than $X" amounts stored as X + 1, except the + # 85 percent tier's "at least $X", stored as X. + single, joint = schedule(part, "single", year), schedule(part, "joint", year) + assert list(joint.amounts) == list(single.amounts) + for tier, (s, j) in enumerate(zip(single.thresholds[1:], joint.thresholds[1:])): + if not math.isfinite(s): + assert not math.isfinite(j) + elif tier == 4: + assert j == 1.5 * s + else: + assert j - 1 == 2 * (s - 1) + + +def separate_from_single(part, year, magi): + single = schedule(part, "single", year) + threshold_amount = single.thresholds[1] - 1 + return np.where(magi > threshold_amount, single.calc(magi + threshold_amount), 0) + + +@pytest.mark.parametrize("year", PUBLISHED_YEARS) +@pytest.mark.parametrize("part", PARTS) +def test_separate_schedule_at_every_boundary(part, year): + single = schedule(part, "single", year) + separate = schedule(part, "separate", year) + threshold_amount = single.thresholds[1] - 1 + edges = [threshold_amount] + [ + t - threshold_amount + for t in list(single.thresholds[2:]) + list(separate.thresholds[1:]) + if math.isfinite(t) + ] + magi = np.array( + sorted({e + offset for e in edges for offset in (-1, 0, 1) if e + offset >= 0}), + dtype=float, + ) + np.testing.assert_array_equal( + separate.calc(magi), separate_from_single(part, year, magi) + ) + + +@given( + year=st.sampled_from(PUBLISHED_YEARS), + part=st.sampled_from(PARTS), + magi=st.integers(min_value=0, max_value=2_000_000), +) +def test_separate_schedule_follows_the_single_schedule(year, part, magi): + magi = np.array([magi], dtype=float) + separate = schedule(part, "separate", year) + np.testing.assert_array_equal( + separate.calc(magi), separate_from_single(part, year, magi) + ) + + +@pytest.mark.parametrize("year", PUBLISHED_YEARS) +@pytest.mark.parametrize("status", STATUSES) +def test_part_b_adjustments_scale_the_standard_premium(status, year): + standard = MEDICARE.part_b.base_premium(f"{year}-01-01") + scale = schedule("part_b", status, year) + # The separate schedule skips tiers; match its amounts to the single + # schedule's tiers instead of numbering them from the bottom. + single_tiers = dict( + (amount, percentage) + for percentage, amount in reachable_tiers(schedule("part_b", "single", year)) + ) + for amount in scale.amounts[1:]: + percentage = single_tiers[amount] + expected = (percentage - 25) / 25 * standard + assert abs(amount - expected) <= PART_B_TOLERANCE, (percentage, amount) + + +@pytest.mark.parametrize("year", PUBLISHED_YEARS) +def test_part_d_adjustments_are_in_proportion(year): + tiers = reachable_tiers(schedule("part_d", "single", year)) + top_percentage, top_amount = tiers[-1] + for percentage, amount in tiers: + expected = (percentage - 25.5) / (top_percentage - 25.5) * top_amount + assert abs(amount - expected) <= PART_D_TOLERANCE, (percentage, amount) + + +@pytest.mark.parametrize("year", range(FIRST_MODELED_YEAR, 2019)) +@pytest.mark.parametrize("status", STATUSES) +@pytest.mark.parametrize("part", PARTS) +def test_no_85_percent_tier_before_2019(part, status, year): + # The Bipartisan Budget Act of 2018 (section 53114) added the tier for + # 2019; before then the 80 percent tier applied at any higher income. + scale = schedule(part, status, year) + eighty_percent = reachable_tiers(schedule(part, "single", year))[3] + assert eighty_percent[0] == 80 + assert scale.calc(np.array([1e9]))[0] == eighty_percent[1] + if status != "separate": + assert not math.isfinite(scale.thresholds[-1]) From 9d95e32169752d09e6d066f0f0ee94257bccb00c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 23:43:22 +0000 Subject: [PATCH 2/6] Cite the Federal Register page of each IRMAA table and premium Each title now gives the page of the notice that prints the table it sources, not just the notice's first page, and the Part D files cite the same Part B tables for their thresholds, which 42 U.S.C. 1395w-113(a)(7)(A) takes from 1395r(i). The base premium file also cites the 2021-2023 notices, which state the standard premiums already in it. Every value cited was checked against the text of these pages. Co-Authored-By: Claude Opus 5.5 --- .../gov/hhs/medicare/part_b/base_premium.yaml | 8 +++++++- .../part_b/irmaa/head_of_household.yaml | 18 +++++++++--------- .../gov/hhs/medicare/part_b/irmaa/joint.yaml | 18 +++++++++--------- .../hhs/medicare/part_b/irmaa/separate.yaml | 18 +++++++++--------- .../gov/hhs/medicare/part_b/irmaa/single.yaml | 18 +++++++++--------- .../part_b/irmaa/surviving_spouse.yaml | 18 +++++++++--------- .../part_d/irmaa/head_of_household.yaml | 18 ++++++++++++++++++ .../gov/hhs/medicare/part_d/irmaa/joint.yaml | 18 ++++++++++++++++++ .../hhs/medicare/part_d/irmaa/separate.yaml | 18 ++++++++++++++++++ .../gov/hhs/medicare/part_d/irmaa/single.yaml | 18 ++++++++++++++++++ .../part_d/irmaa/surviving_spouse.yaml | 18 ++++++++++++++++++ 11 files changed, 142 insertions(+), 46 deletions(-) diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml index 12fae64f7de..7f8620f5233 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/base_premium.yaml @@ -12,10 +12,16 @@ metadata: href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=1 - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=1 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52463) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=2 - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=1 + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=1 - title: 2021 Medicare Parts A & B Premiums and Deductibles href: https://www.cms.gov/newsroom/press-releases/2021-medicare-part-b-premiums-remain-steady - title: 2022 Medicare Parts A & B Premiums and Deductibles diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml index ecd4b77df95..9c5325eb32a 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/head_of_household.yaml @@ -8,23 +8,23 @@ metadata: reference: - title: 42 U.S.C. § 1395r(i) href: https://www.law.cornell.edu/uscode/text/42/1395r#i - - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314, 61316) href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811, 70814) href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063, 80066) href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370, 55372) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52465) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625, 61627) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 - - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904, 71906-71907) #page 3-4" href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205, 64208) href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080, 59083) href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: 2026 Medicare Trustees Report, Table V.E3 href: https://www.cms.gov/oact/tr/2026#page=215 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml index e104c9cc426..2658cebc16c 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/joint.yaml @@ -8,23 +8,23 @@ metadata: reference: - title: 42 U.S.C. § 1395r(i) href: https://www.law.cornell.edu/uscode/text/42/1395r#i - - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314, 61316) href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811, 70814) href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063, 80066) href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370, 55372) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52465) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625, 61627) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 - - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904, 71906-71907) #page 3-4" href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205, 64208) href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080, 59083) href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: 2026 Medicare Trustees Report, Table V.E3 href: https://www.cms.gov/oact/tr/2026#page=215 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml index f55bdbe9585..5b240c9c80d 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/separate.yaml @@ -8,23 +8,23 @@ metadata: reference: - title: 42 U.S.C. § 1395r(i) href: https://www.law.cornell.edu/uscode/text/42/1395r#i - - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314, 61316) href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811, 70814) href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063, 80066) href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370, 55373) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52465) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625, 61628) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) + - title: Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904, 71907) href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205, 64208) href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080, 59084) href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=5 - title: 2026 Medicare Trustees Report, Table V.E3 href: https://www.cms.gov/oact/tr/2026#page=215 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml index 92358f02b03..3d518f35958 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/single.yaml @@ -8,23 +8,23 @@ metadata: reference: - title: 42 U.S.C. § 1395r(i) href: https://www.law.cornell.edu/uscode/text/42/1395r#i - - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314, 61316) href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811, 70814) href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063, 80066) href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370, 55372) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52465) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625, 61627) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 - - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904, 71906-71907) #page 3-4" href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205, 64208) href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080, 59083) href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: 2026 Medicare Trustees Report, Table V.E3 href: https://www.cms.gov/oact/tr/2026#page=215 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml index 9470bb04a95..a2454f151c7 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_b/irmaa/surviving_spouse.yaml @@ -8,23 +8,23 @@ metadata: reference: - title: 42 U.S.C. § 1395r(i) href: https://www.law.cornell.edu/uscode/text/42/1395r#i - - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314) + - title: Medicare Part B premium rates beginning January 1, 2015 (79 FR 61314, 61316) href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811) + - title: Medicare Part B premium rates beginning January 1, 2016 (80 FR 70811, 70814) href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063) + - title: Medicare Part B premium rates beginning January 1, 2017 (81 FR 80063, 80066) href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370) + - title: Medicare Part B premium rates beginning January 1, 2018 (82 FR 55370, 55372) href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462) + - title: Medicare Part B premium rates beginning January 1, 2019 (83 FR 52462, 52465) href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625) + - title: Medicare Part B premium rates beginning January 1, 2020 (84 FR 61625, 61627) href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 - - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904) #page 3-4" + - title: "Medicare Part B premium rates beginning January 1, 2021 (85 FR 71904, 71906-71907) #page 3-4" href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 - - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205) + - title: Medicare Part B premium rates beginning January 1, 2022 (86 FR 64205, 64208) href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 - - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080) + - title: Medicare Part B premium rates beginning January 1, 2023 (87 FR 59080, 59083) href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: 2026 Medicare Trustees Report, Table V.E3 href: https://www.cms.gov/oact/tr/2026#page=215 diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml index 13b4b8a0e84..2ec7622348a 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/head_of_household.yaml @@ -12,6 +12,24 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: Medicare Part B premium rates beginning January 1, 2015, income thresholds (79 FR 61314, 61316) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016, income thresholds (80 FR 70811, 70814) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017, income thresholds (81 FR 80063, 80066) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018, income thresholds (82 FR 55370, 55372) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019, income thresholds (83 FR 52462, 52465) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020, income thresholds (84 FR 61625, 61627) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021, income thresholds (85 FR 71904, 71906-71907) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022, income thresholds (86 FR 64205, 64208) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023, income thresholds (87 FR 59080, 59083) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml index 11c2e7d00e0..f4fd1fa50df 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/joint.yaml @@ -12,6 +12,24 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: Medicare Part B premium rates beginning January 1, 2015, income thresholds (79 FR 61314, 61316) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016, income thresholds (80 FR 70811, 70814) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017, income thresholds (81 FR 80063, 80066) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018, income thresholds (82 FR 55370, 55372) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019, income thresholds (83 FR 52462, 52465) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020, income thresholds (84 FR 61625, 61627) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021, income thresholds (85 FR 71904, 71906-71907) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022, income thresholds (86 FR 64205, 64208) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023, income thresholds (87 FR 59080, 59083) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml index 17a78465e1d..864f5e25ec0 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/separate.yaml @@ -12,6 +12,24 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: Medicare Part B premium rates beginning January 1, 2015, income thresholds (79 FR 61314, 61316) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016, income thresholds (80 FR 70811, 70814) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017, income thresholds (81 FR 80063, 80066) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018, income thresholds (82 FR 55370, 55373) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2019, income thresholds (83 FR 52462, 52465) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020, income thresholds (84 FR 61625, 61628) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2021, income thresholds (85 FR 71904, 71907) + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2022, income thresholds (86 FR 64205, 64208) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023, income thresholds (87 FR 59080, 59084) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=5 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml index 569aed99af4..c16ed7011bf 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/single.yaml @@ -12,6 +12,24 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: Medicare Part B premium rates beginning January 1, 2015, income thresholds (79 FR 61314, 61316) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016, income thresholds (80 FR 70811, 70814) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017, income thresholds (81 FR 80063, 80066) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018, income thresholds (82 FR 55370, 55372) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019, income thresholds (83 FR 52462, 52465) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020, income thresholds (84 FR 61625, 61627) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021, income thresholds (85 FR 71904, 71906-71907) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022, income thresholds (86 FR 64205, 64208) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023, income thresholds (87 FR 59080, 59083) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) diff --git a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml index c7c0c496c44..17b24e21693 100644 --- a/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/hhs/medicare/part_d/irmaa/surviving_spouse.yaml @@ -12,6 +12,24 @@ metadata: href: https://www.law.cornell.edu/uscode/text/42/1395r#i - title: 42 CFR § 423.286(d)(4) - Part D IRMAA paid in addition to the Part D premium. href: https://www.law.cornell.edu/cfr/text/42/423.286#d_4 + - title: Medicare Part B premium rates beginning January 1, 2015, income thresholds (79 FR 61314, 61316) + href: https://www.govinfo.gov/content/pkg/FR-2014-10-10/pdf/2014-24248.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2016, income thresholds (80 FR 70811, 70814) + href: https://www.govinfo.gov/content/pkg/FR-2015-11-16/pdf/2015-29181.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2017, income thresholds (81 FR 80063, 80066) + href: https://www.govinfo.gov/content/pkg/FR-2016-11-15/pdf/2016-27425.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2018, income thresholds (82 FR 55370, 55372) + href: https://www.govinfo.gov/content/pkg/FR-2017-11-21/pdf/2017-24877.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2019, income thresholds (83 FR 52462, 52465) + href: https://www.govinfo.gov/content/pkg/FR-2018-10-17/pdf/2018-22530.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2020, income thresholds (84 FR 61625, 61627) + href: https://www.govinfo.gov/content/pkg/FR-2019-11-13/pdf/2019-24440.pdf#page=3 + - title: "Medicare Part B premium rates beginning January 1, 2021, income thresholds (85 FR 71904, 71906-71907) #page 3-4" + href: https://www.govinfo.gov/content/pkg/FR-2020-11-12/pdf/2020-25029.pdf#page=3 + - title: Medicare Part B premium rates beginning January 1, 2022, income thresholds (86 FR 64205, 64208) + href: https://www.govinfo.gov/content/pkg/FR-2021-11-17/pdf/2021-25050.pdf#page=4 + - title: Medicare Part B premium rates beginning January 1, 2023, income thresholds (87 FR 59080, 59083) + href: https://www.govinfo.gov/content/pkg/FR-2022-09-29/pdf/2022-21090.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 31, 2014) href: https://www.cms.gov/medicare/health-plans/medicareadvtgspecratestats/downloads/partdandmabenchmarks2015.pdf#page=4 - title: CMS, Annual Release of Part D National Average Bid Amount and other Part C & D Bid Information (July 29, 2015) From 4da94d3d27ceab9509c73943e2ae1197ed8f797d Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 23:43:22 +0000 Subject: [PATCH 3/6] Name each 2015-2023 IRMAA test case's source table A reviewer can check each expected value against one page: the Federal Register table for Part B and the standard premium, and the CMS memo or fact sheet table for Part D. Co-Authored-By: Claude Opus 5.5 --- .../eligibility/base_part_b_premium.yaml | 6 ++++ .../gross_medicare_part_b_premium.yaml | 33 +++++++++++++++++++ ...ome_adjusted_part_d_premium_surcharge.yaml | 33 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml index ed996b9221b..c926e088231 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/base_part_b_premium.yaml @@ -44,6 +44,7 @@ age: 65 is_medicare_eligible: true output: + # Source: 79 FR 61314, standard premium. base_part_b_premium: 1_258.8 # $104.90 * 12 months - name: Standard premium in 2016. @@ -52,6 +53,7 @@ age: 65 is_medicare_eligible: true output: + # Source: 80 FR 70811, standard premium. base_part_b_premium: 1_461.6 # $121.80 * 12 months - name: Standard premium in 2017. @@ -60,6 +62,7 @@ age: 65 is_medicare_eligible: true output: + # Source: 81 FR 80063, standard premium. base_part_b_premium: 1_608 # $134.00 * 12 months - name: Standard premium in 2018. @@ -68,6 +71,7 @@ age: 65 is_medicare_eligible: true output: + # Source: 82 FR 55370, standard premium. base_part_b_premium: 1_608 # $134.00 * 12 months - name: Standard premium in 2019. @@ -76,6 +80,7 @@ age: 65 is_medicare_eligible: true output: + # Source: 83 FR 52463, standard premium. base_part_b_premium: 1_626 # $135.50 * 12 months - name: Standard premium in 2020. @@ -84,4 +89,5 @@ age: 65 is_medicare_eligible: true output: + # Source: 84 FR 61625, standard premium. base_part_b_premium: 1_735.2 # $144.60 * 12 months diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml index ff7d4aa6188..426bc26975b 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml @@ -50,6 +50,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 79 FR 61316, individual-return column. # MAGI 85,000, at the threshold: $104.90 a month # MAGI 85,001, lowest income in the 35% tier: $146.90 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $209.80 (50%) a month @@ -103,6 +104,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 79 FR 61316, joint-return column. # MAGI 170,000, at the threshold: $104.90 a month # MAGI 170,001, lowest income in the 35% tier: $146.90 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $209.80 (50%) a month @@ -150,6 +152,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 79 FR 61316, separate-return table. # MAGI 85,000, at the threshold: $104.90 a month # MAGI 85,001, just above it: $272.70 (65%) a month # MAGI 129,000, at the second threshold: $272.70 (65%) a month @@ -202,6 +205,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 80 FR 70814, individual-return column. # MAGI 85,000, at the threshold: $121.80 a month # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month @@ -255,6 +259,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 80 FR 70814, individual-return column. # MAGI 85,000, at the threshold: $121.80 a month # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month @@ -308,6 +313,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 80 FR 70814, individual-return column. # MAGI 85,000, at the threshold: $121.80 a month # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month @@ -361,6 +367,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 80 FR 70814, joint-return column. # MAGI 170,000, at the threshold: $121.80 a month # MAGI 170,001, lowest income in the 35% tier: $170.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $243.60 (50%) a month @@ -408,6 +415,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 80 FR 70814, separate-return table. # MAGI 85,000, at the threshold: $121.80 a month # MAGI 85,001, just above it: $316.70 (65%) a month # MAGI 129,000, at the second threshold: $316.70 (65%) a month @@ -460,6 +468,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 81 FR 80066, individual-return column. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month @@ -513,6 +522,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 81 FR 80066, joint-return column. # MAGI 170,000, at the threshold: $134.00 a month # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month @@ -560,6 +570,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 81 FR 80066, separate-return table. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, just above it: $348.30 (65%) a month # MAGI 129,000, at the second threshold: $348.30 (65%) a month @@ -612,6 +623,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 82 FR 55372, individual-return column. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month @@ -665,6 +677,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: 82 FR 55372, joint-return column. # MAGI 170,000, at the threshold: $134.00 a month # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month @@ -700,6 +713,7 @@ household: members: [person1, person2, person3] output: + # Source: 82 FR 55373, separate-return table. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, just above it: $428.60 (80%) a month # MAGI 2,000,000, far above every threshold: $428.60 (80%) a month @@ -756,6 +770,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 83 FR 52465, individual-return column. # MAGI 85,000, at the threshold: $135.50 a month # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month @@ -816,6 +831,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 83 FR 52465, individual-return column. # MAGI 85,000, at the threshold: $135.50 a month # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month @@ -876,6 +892,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 83 FR 52465, individual-return column. # MAGI 85,000, at the threshold: $135.50 a month # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month @@ -936,6 +953,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 83 FR 52465, joint-return column. # MAGI 170,000, at the threshold: $135.50 a month # MAGI 170,001, lowest income in the 35% tier: $189.60 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $270.90 (50%) a month @@ -984,6 +1002,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 83 FR 52465, separate-return table. # MAGI 85,000, at the threshold: $135.50 a month # MAGI 85,001, just above it: $433.40 (80%) a month # MAGI 414,999, just below the top tier: $433.40 (80%) a month @@ -1042,6 +1061,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 84 FR 61627, individual-return column. # MAGI 87,000, at the threshold: $144.60 a month # MAGI 87,001, lowest income in the 35% tier: $202.40 (35%) a month # MAGI 109,001, lowest income in the 50% tier: $289.20 (50%) a month @@ -1102,6 +1122,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 84 FR 61627, joint-return column. # MAGI 174,000, at the threshold: $144.60 a month # MAGI 174,001, lowest income in the 35% tier: $202.40 (35%) a month # MAGI 218,001, lowest income in the 50% tier: $289.20 (50%) a month @@ -1150,6 +1171,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 84 FR 61628, separate-return table. # MAGI 87,000, at the threshold: $144.60 a month # MAGI 87,001, just above it: $462.70 (80%) a month # MAGI 412,999, just below the top tier: $462.70 (80%) a month @@ -1208,6 +1230,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 85 FR 71906-71907, individual-return column. # MAGI 88,000, at the threshold: $148.50 a month # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month @@ -1268,6 +1291,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 85 FR 71906-71907, individual-return column. # MAGI 88,000, at the threshold: $148.50 a month # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month @@ -1328,6 +1352,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 85 FR 71906-71907, individual-return column. # MAGI 88,000, at the threshold: $148.50 a month # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month @@ -1388,6 +1413,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 85 FR 71906-71907, joint-return column. # MAGI 176,000, at the threshold: $148.50 a month # MAGI 176,001, lowest income in the 35% tier: $207.90 (35%) a month # MAGI 222,001, lowest income in the 50% tier: $297.00 (50%) a month @@ -1436,6 +1462,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 85 FR 71907, separate-return table. # MAGI 88,000, at the threshold: $148.50 a month # MAGI 88,001, just above it: $475.20 (80%) a month # MAGI 411,999, just below the top tier: $475.20 (80%) a month @@ -1494,6 +1521,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 86 FR 64208, individual-return column. # MAGI 91,000, at the threshold: $170.10 a month # MAGI 91,001, lowest income in the 35% tier: $238.10 (35%) a month # MAGI 114,001, lowest income in the 50% tier: $340.20 (50%) a month @@ -1554,6 +1582,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 86 FR 64208, joint-return column. # MAGI 182,000, at the threshold: $170.10 a month # MAGI 182,001, lowest income in the 35% tier: $238.10 (35%) a month # MAGI 228,001, lowest income in the 50% tier: $340.20 (50%) a month @@ -1602,6 +1631,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 86 FR 64208, separate-return table. # MAGI 91,000, at the threshold: $170.10 a month # MAGI 91,001, just above it: $544.30 (80%) a month # MAGI 408,999, just below the top tier: $544.30 (80%) a month @@ -1660,6 +1690,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 87 FR 59083, individual-return column. # MAGI 97,000, at the threshold: $164.90 a month # MAGI 97,001, lowest income in the 35% tier: $230.80 (35%) a month # MAGI 123,001, lowest income in the 50% tier: $329.70 (50%) a month @@ -1720,6 +1751,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: 87 FR 59083, joint-return column. # MAGI 194,000, at the threshold: $164.90 a month # MAGI 194,001, lowest income in the 35% tier: $230.80 (35%) a month # MAGI 246,001, lowest income in the 50% tier: $329.70 (50%) a month @@ -1768,6 +1800,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: 87 FR 59084, separate-return table. # MAGI 97,000, at the threshold: $164.90 a month # MAGI 97,001, just above it: $527.50 (80%) a month # MAGI 402,999, just below the top tier: $527.50 (80%) a month diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml index ab1c423e2cc..4156cd16c61 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml @@ -223,6 +223,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2015 Part D bid information release (July 31, 2014), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -282,6 +283,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2015 Part D bid information release (July 31, 2014), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -334,6 +336,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS, 2015 Part D bid information release (July 31, 2014), file page 4, separate-return table. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, just above it: $51.30 (65%) a month # MAGI 129,000, at the second threshold: $51.30 (65%) a month @@ -392,6 +395,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month @@ -451,6 +455,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month @@ -510,6 +515,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month @@ -569,6 +575,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.70 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $32.80 (50%) a month @@ -621,6 +628,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, separate-return table. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, just above it: $52.80 (65%) a month # MAGI 129,000, at the second threshold: $52.80 (65%) a month @@ -679,6 +687,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2017 Part D bid information release (July 29, 2016), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $13.30 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $34.20 (50%) a month @@ -738,6 +747,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2017 Part D bid information release (July 29, 2016), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $13.30 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $34.20 (50%) a month @@ -790,6 +800,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS, 2017 Part D bid information release (July 29, 2016), file page 5, separate-return table. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, just above it: $55.20 (65%) a month # MAGI 129,000, at the second threshold: $55.20 (65%) a month @@ -848,6 +859,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2018 Part D bid information release (July 31, 2017), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $13.00 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $33.60 (50%) a month @@ -907,6 +919,7 @@ household: members: [person1, person2, person3, person4, person5, person6] output: + # Source: CMS, 2018 Part D bid information release (July 31, 2017), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $13.00 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $33.60 (50%) a month @@ -945,6 +958,7 @@ household: members: [person1, person2, person3] output: + # Source: CMS, 2018 Part D bid information release (July 31, 2017), file page 5, separate-return table. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, just above it: $74.80 (80%) a month # MAGI 2,000,000, far above every threshold: $74.80 (80%) a month @@ -1008,6 +1022,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month @@ -1075,6 +1090,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month @@ -1142,6 +1158,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month @@ -1209,6 +1226,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $31.90 (50%) a month @@ -1262,6 +1280,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 5, separate-return table. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, just above it: $70.90 (80%) a month # MAGI 414,999, just below the top tier: $70.90 (80%) a month @@ -1327,6 +1346,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2020 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 87,000, at the threshold: $0 a month # MAGI 87,001, lowest income in the 35% tier: $12.20 (35%) a month # MAGI 109,001, lowest income in the 50% tier: $31.50 (50%) a month @@ -1394,6 +1414,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2020 Part D income-related monthly premium adjustment, file page 2, joint-return column. # MAGI 174,000, at the threshold: $0 a month # MAGI 174,001, lowest income in the 35% tier: $12.20 (35%) a month # MAGI 218,001, lowest income in the 50% tier: $31.50 (50%) a month @@ -1447,6 +1468,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS Office of the Actuary, 2020 Part D income-related monthly premium adjustment, file page 3, separate-return table. # MAGI 87,000, at the threshold: $0 a month # MAGI 87,001, just above it: $70.00 (80%) a month # MAGI 412,999, just below the top tier: $70.00 (80%) a month @@ -1512,6 +1534,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 88,000, at the threshold: $0 a month # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -1579,6 +1602,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 88,000, at the threshold: $0 a month # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -1646,6 +1670,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 88,000, at the threshold: $0 a month # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -1713,6 +1738,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, joint-return column. # MAGI 176,000, at the threshold: $0 a month # MAGI 176,001, lowest income in the 35% tier: $12.30 (35%) a month # MAGI 222,001, lowest income in the 50% tier: $31.80 (50%) a month @@ -1766,6 +1792,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 3, separate-return table. # MAGI 88,000, at the threshold: $0 a month # MAGI 88,001, just above it: $70.70 (80%) a month # MAGI 411,999, just below the top tier: $70.70 (80%) a month @@ -1831,6 +1858,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS fact sheet, 2022 Part D income-related monthly adjustment amounts, individual-return column. # MAGI 91,000, at the threshold: $0 a month # MAGI 91,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 114,001, lowest income in the 50% tier: $32.10 (50%) a month @@ -1898,6 +1926,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS fact sheet, 2022 Part D income-related monthly adjustment amounts, joint-return column. # MAGI 182,000, at the threshold: $0 a month # MAGI 182,001, lowest income in the 35% tier: $12.40 (35%) a month # MAGI 228,001, lowest income in the 50% tier: $32.10 (50%) a month @@ -1951,6 +1980,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS fact sheet, 2022 Part D income-related monthly adjustment amounts, separate-return table. # MAGI 91,000, at the threshold: $0 a month # MAGI 91,001, just above it: $71.30 (80%) a month # MAGI 408,999, just below the top tier: $71.30 (80%) a month @@ -2016,6 +2046,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS fact sheet, 2023 Part D income-related monthly adjustment amounts, individual-return column. # MAGI 97,000, at the threshold: $0 a month # MAGI 97,001, lowest income in the 35% tier: $12.20 (35%) a month # MAGI 123,001, lowest income in the 50% tier: $31.50 (50%) a month @@ -2083,6 +2114,7 @@ household: members: [person1, person2, person3, person4, person5, person6, person7] output: + # Source: CMS fact sheet, 2023 Part D income-related monthly adjustment amounts, joint-return column. # MAGI 194,000, at the threshold: $0 a month # MAGI 194,001, lowest income in the 35% tier: $12.20 (35%) a month # MAGI 246,001, lowest income in the 50% tier: $31.50 (50%) a month @@ -2136,6 +2168,7 @@ household: members: [person1, person2, person3, person4, person5] output: + # Source: CMS fact sheet, 2023 Part D income-related monthly adjustment amounts, separate-return table. # MAGI 97,000, at the threshold: $0 a month # MAGI 97,001, just above it: $70.00 (80%) a month # MAGI 402,999, just below the top tier: $70.00 (80%) a month From 9832fd5eeb5126e898dde2c746137e71c9c35ce6 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 23:43:22 +0000 Subject: [PATCH 4/6] Draw IRMAA lookback properties from every published year The lookback test's comment said years before 2024 are backdated from 2024, which stops being true once these brackets land, so its monotonicity and zero-below-threshold properties now draw from 2015-2026. They keep 25 examples each, so this adds no run time. Each schedule property also states the provision it checks. Co-Authored-By: Claude Opus 5.5 --- .../gov/hhs/medicare/test_irmaa_lookback_and_switch.py | 4 ++-- .../gov/hhs/medicare/test_irmaa_schedule_properties.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_lookback_and_switch.py b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_lookback_and_switch.py index 14eb48e698c..2e5728efb19 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_lookback_and_switch.py +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_lookback_and_switch.py @@ -46,8 +46,8 @@ "SURVIVING_SPOUSE", "SEPARATE", ] -# Years with brackets of their own; earlier years are backdated from 2024. -BRACKET_YEARS = [2024, 2025, 2026] +# Years with brackets of their own: CMS's published schedules, 2015-2026. +BRACKET_YEARS = list(range(2015, 2027)) DEFLATOR = SYSTEM.parameters.calibration.gov.cbo.income_by_source.adjusted_gross_income_per_capita diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py index 2694d856b50..fc01bf80ca0 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/test_irmaa_schedule_properties.py @@ -72,6 +72,7 @@ def reachable_tiers(scale): @pytest.mark.parametrize("status", STATUSES) @pytest.mark.parametrize("part", PARTS) def test_schedule_is_ordered(part, status, year): + """Tiers rise with the applicable percentage (1395r(i)(3)(C)); +inf marks a tier not yet in law.""" scale = schedule(part, status, year) thresholds, amounts = list(scale.thresholds), list(scale.amounts) assert thresholds[0] == 0 and amounts[0] == 0 @@ -85,6 +86,7 @@ def test_schedule_is_ordered(part, status, year): @pytest.mark.parametrize("status", ["head_of_household", "surviving_spouse"]) @pytest.mark.parametrize("part", PARTS) def test_other_unmarried_filers_use_the_single_schedule(part, status, year): + """1395r(i)(2)(A) sets one threshold amount for every return but a joint one.""" scale, single = schedule(part, status, year), schedule(part, "single", year) assert list(scale.thresholds) == list(single.thresholds) assert list(scale.amounts) == list(single.amounts) @@ -93,6 +95,7 @@ def test_other_unmarried_filers_use_the_single_schedule(part, status, year): @pytest.mark.parametrize("year", ALL_YEARS) @pytest.mark.parametrize("status", STATUSES) def test_part_d_uses_part_b_thresholds(status, year): + """1395w-113(a)(7)(A) and (B) apply the Part B threshold and applicable percentages.""" part_b = schedule("part_b", status, year) part_d = schedule("part_d", status, year) assert list(part_d.thresholds) == list(part_b.thresholds) @@ -101,6 +104,7 @@ def test_part_d_uses_part_b_thresholds(status, year): @pytest.mark.parametrize("year", PUBLISHED_YEARS) @pytest.mark.parametrize("part", PARTS) def test_joint_thresholds_double_the_individual_ones(part, year): + """1395r(i)(3)(C)(ii) doubles the dollar amounts, but takes 150 percent of $500,000.""" # Thresholds are "more than $X" amounts stored as X + 1, except the # 85 percent tier's "at least $X", stored as X. single, joint = schedule(part, "single", year), schedule(part, "joint", year) @@ -123,6 +127,7 @@ def separate_from_single(part, year, magi): @pytest.mark.parametrize("year", PUBLISHED_YEARS) @pytest.mark.parametrize("part", PARTS) def test_separate_schedule_at_every_boundary(part, year): + """1395r(i)(3)(C)(iii) lowers each dollar amount by the threshold amount; checked at each edge.""" single = schedule(part, "single", year) separate = schedule(part, "separate", year) threshold_amount = single.thresholds[1] - 1 @@ -146,6 +151,7 @@ def test_separate_schedule_at_every_boundary(part, year): magi=st.integers(min_value=0, max_value=2_000_000), ) def test_separate_schedule_follows_the_single_schedule(year, part, magi): + """1395r(i)(3)(C)(iii), checked at drawn MAGIs between the edges.""" magi = np.array([magi], dtype=float) separate = schedule(part, "separate", year) np.testing.assert_array_equal( @@ -156,6 +162,7 @@ def test_separate_schedule_follows_the_single_schedule(year, part, magi): @pytest.mark.parametrize("year", PUBLISHED_YEARS) @pytest.mark.parametrize("status", STATUSES) def test_part_b_adjustments_scale_the_standard_premium(status, year): + """1395r(i)(3)(A) with (a)(3) and (a)(6) make each adjustment (p - 25) / 25 of the premium.""" standard = MEDICARE.part_b.base_premium(f"{year}-01-01") scale = schedule("part_b", status, year) # The separate schedule skips tiers; match its amounts to the single @@ -172,6 +179,7 @@ def test_part_b_adjustments_scale_the_standard_premium(status, year): @pytest.mark.parametrize("year", PUBLISHED_YEARS) def test_part_d_adjustments_are_in_proportion(year): + """1395w-113(a)(7)(B) scales one base beneficiary premium by (p - 25.5) / 25.5.""" tiers = reachable_tiers(schedule("part_d", "single", year)) top_percentage, top_amount = tiers[-1] for percentage, amount in tiers: @@ -183,6 +191,7 @@ def test_part_d_adjustments_are_in_proportion(year): @pytest.mark.parametrize("status", STATUSES) @pytest.mark.parametrize("part", PARTS) def test_no_85_percent_tier_before_2019(part, status, year): + """Pub. L. 115-123, section 53114, added the 85 percent tier from 2019.""" # The Bipartisan Budget Act of 2018 (section 53114) added the tier for # 2019; before then the 80 percent tier applied at any higher income. scale = schedule(part, status, year) From 6232f6c64cb25df12c2f7db32b9a32ad69fb4a83 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 20:56:09 +0000 Subject: [PATCH 5/6] Keep two IRMAA lookback cases below the 2015-2016 threshold Main's #10106 cases 6 and 7 assert no IRMAA for a $100,000 MAGI in 2015 and 2016. They were written when 2015-2023 read the backdated 2024 schedule, whose first threshold is $103,001. With this branch's schedules, 2015 and 2016 use the $85,000 threshold that 42 U.S.C. 1395r(i)(6) holds at its 2010 level, so $100,000 lands in the 65 percent tier and both cases failed in CI. The cases test the lookback, not the tier, so lower the income to $80,000 to keep each name true: 2015 MAGI is 80,000 and 2016 MAGI deflates to 80,000 x 328,964 / 326,078 = 80,708.05, both below $85,000. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6KtJoHdqUJtpTYx4Z5 --- .../medicare_irmaa_magi_two_years_prior.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/medicare_irmaa_magi_two_years_prior.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/medicare_irmaa_magi_two_years_prior.yaml index bcda1dddd8a..74629a3d712 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/medicare_irmaa_magi_two_years_prior.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/medicare_irmaa_magi_two_years_prior.yaml @@ -69,13 +69,15 @@ period: 2015 input: age: 66 - employment_income: 100_000 + employment_income: 80_000 is_medicare_eligible: true # 2015 standard Part B premium of $104.90 per month, supplied directly so # the case tests only the IRMAA amount. base_part_b_premium: 1_258.8 output: - medicare_irmaa_magi_two_years_prior: 100_000 + # 2015's first threshold is MAGI above $85,000, held at its 2010 level by + # 42 U.S.C. 1395r(i)(6); 80,000 is below it. + medicare_irmaa_magi_two_years_prior: 80_000 gross_medicare_part_b_premium: 1_258.8 - name: Case 7, 2016 Part D IRMAA is zero for an enrolled earner below the first threshold. @@ -83,12 +85,14 @@ absolute_error_margin: 0.01 input: age: 66 - employment_income: 100_000 + employment_income: 80_000 is_medicare_eligible: true medicare_enrolled: true output: - # 100,000 x 27,704.54 / 27,461.49, under the first threshold of 103,001. - medicare_irmaa_magi_two_years_prior: 100_885.07 + # 80,000 x 27,704.54 / 27,461.49 = 80,708.05, under 2016's first + # threshold of MAGI above $85,000 (42 U.S.C. 1395r(i)(6), applied to Part + # D by 1395w-113(a)(7)). + medicare_irmaa_magi_two_years_prior: 80_708.05 income_adjusted_part_d_premium_surcharge: 0 - name: A 2025 household with only 2024 inputs has IRMAA set on deflated 2024 income. From eaf0867ddaae37b1315be0fa74afffe752a1ade1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 14:50:15 +0000 Subject: [PATCH 6/6] Pin the highest MAGI of each IRMAA tier and drop a stale Medicaid note The 2015-2023 single and joint cases tested each tier's lowest MAGI (X + 1) but never X itself, so a "more than $X" bound stored as X survived every test. Add a person at each X above the first threshold, expecting the amount of the tier below, in Parts B and D. base_premium.yaml now starts in 2015, so the Medicaid comment saying it starts in 2021 is no longer true. Co-Authored-By: Claude Opus 5.5 --- .../gross_medicare_part_b_premium.yaml | 578 +++++++++++++--- ...ome_adjusted_part_d_premium_surcharge.yaml | 632 +++++++++++++++--- ...nal_senior_or_disabled_countable_income.py | 2 - 3 files changed, 1010 insertions(+), 202 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml index 426bc26975b..b57880496a8 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/gross_medicare_part_b_premium.yaml @@ -21,6 +21,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -33,31 +39,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 79 FR 61316, individual-return column. # MAGI 85,000, at the threshold: $104.90 a month # MAGI 85,001, lowest income in the 35% tier: $146.90 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $146.90 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $209.80 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $209.80 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $272.70 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $272.70 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $335.70 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $335.70 (80%) a month - gross_medicare_part_b_premium: [1_258.8, 1_762.8, 2_517.6, 3_272.4, 4_028.4, 4_028.4] + gross_medicare_part_b_premium: [1_258.8, 1_762.8, 1_762.8, 2_517.6, 2_517.6, 3_272.4, 3_272.4, 4_028.4, 4_028.4] - name: 2015 joint filers across the Part B premium tiers. period: 2015 @@ -75,6 +96,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -87,31 +114,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 79 FR 61316, joint-return column. # MAGI 170,000, at the threshold: $104.90 a month # MAGI 170,001, lowest income in the 35% tier: $146.90 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $146.90 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $209.80 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $209.80 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $272.70 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $272.70 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $335.70 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $335.70 (80%) a month - gross_medicare_part_b_premium: [1_258.8, 1_762.8, 2_517.6, 3_272.4, 4_028.4, 4_028.4] + gross_medicare_part_b_premium: [1_258.8, 1_762.8, 1_762.8, 2_517.6, 2_517.6, 3_272.4, 3_272.4, 4_028.4, 4_028.4] - name: 2015 married filing separately filers across the Part B premium tiers. period: 2015 @@ -176,6 +218,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -188,31 +236,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 80 FR 70814, individual-return column. # MAGI 85,000, at the threshold: $121.80 a month # MAGI 85,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $170.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $243.60 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $316.70 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $389.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month - gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_046, 2_923.2, 2_923.2, 3_800.4, 3_800.4, 4_677.6, 4_677.6] - name: 2016 head of household filers across the Part B premium tiers. period: 2016 @@ -338,6 +401,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -350,31 +419,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 80 FR 70814, joint-return column. # MAGI 170,000, at the threshold: $121.80 a month # MAGI 170,001, lowest income in the 35% tier: $170.50 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $170.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $243.60 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $243.60 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $316.70 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $316.70 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $389.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $389.80 (80%) a month - gross_medicare_part_b_premium: [1_461.6, 2_046, 2_923.2, 3_800.4, 4_677.6, 4_677.6] + gross_medicare_part_b_premium: [1_461.6, 2_046, 2_046, 2_923.2, 2_923.2, 3_800.4, 3_800.4, 4_677.6, 4_677.6] - name: 2016 married filing separately filers across the Part B premium tiers. period: 2016 @@ -439,6 +523,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -451,31 +541,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 81 FR 80066, individual-return column. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $187.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $267.90 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $348.30 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $428.60 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month - gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + gross_medicare_part_b_premium: [1_608, 2_250, 2_250, 3_214.8, 3_214.8, 4_179.6, 4_179.6, 5_143.2, 5_143.2] - name: 2017 joint filers across the Part B premium tiers. period: 2017 @@ -493,6 +598,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -505,31 +616,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 81 FR 80066, joint-return column. # MAGI 170,000, at the threshold: $134.00 a month # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $187.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $267.90 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $348.30 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $428.60 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month - gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + gross_medicare_part_b_premium: [1_608, 2_250, 2_250, 3_214.8, 3_214.8, 4_179.6, 4_179.6, 5_143.2, 5_143.2] - name: 2017 married filing separately filers across the Part B premium tiers. period: 2017 @@ -594,6 +720,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -606,31 +738,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 133_501 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 133_500 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 82 FR 55372, individual-return column. # MAGI 85,000, at the threshold: $134.00 a month # MAGI 85,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $187.50 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 133,500, highest income in the 50% tier: $267.90 (50%) a month # MAGI 133,501, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 160,000, highest income in the 65% tier: $348.30 (65%) a month # MAGI 160,001, lowest income in the 80% tier: $428.60 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month - gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + gross_medicare_part_b_premium: [1_608, 2_250, 2_250, 3_214.8, 3_214.8, 4_179.6, 4_179.6, 5_143.2, 5_143.2] - name: 2018 joint filers across the Part B premium tiers. period: 2018 @@ -648,6 +795,12 @@ age: 66 person6: age: 66 + person7: + age: 66 + person8: + age: 66 + person9: + age: 66 tax_units: tax_unit1: members: [person1] @@ -660,31 +813,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 267_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 267_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: 82 FR 55372, joint-return column. # MAGI 170,000, at the threshold: $134.00 a month # MAGI 170,001, lowest income in the 35% tier: $187.50 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $187.50 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $267.90 (50%) a month + # MAGI 267,000, highest income in the 50% tier: $267.90 (50%) a month # MAGI 267,001, lowest income in the 65% tier: $348.30 (65%) a month + # MAGI 320,000, highest income in the 65% tier: $348.30 (65%) a month # MAGI 320,001, lowest income in the 80% tier: $428.60 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $428.60 (80%) a month - gross_medicare_part_b_premium: [1_608, 2_250, 3_214.8, 4_179.6, 5_143.2, 5_143.2] + gross_medicare_part_b_premium: [1_608, 2_250, 2_250, 3_214.8, 3_214.8, 4_179.6, 4_179.6, 5_143.2, 5_143.2] - name: 2018 married filing separately filers across the Part B premium tiers. period: 2018 @@ -737,6 +905,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -749,36 +923,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 133_501 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 133_500 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 133_501 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 83 FR 52465, individual-return column. # MAGI 85,000, at the threshold: $135.50 a month # MAGI 85,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $189.60 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 133,500, highest income in the 50% tier: $270.90 (50%) a month # MAGI 133,501, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 160,000, highest income in the 65% tier: $352.20 (65%) a month # MAGI 160,001, lowest income in the 80% tier: $433.40 (80%) a month # MAGI 499,999, just below the 85% tier: $433.40 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $460.50 (85%) a month - gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + gross_medicare_part_b_premium: [1_626, 2_275.2, 2_275.2, 3_250.8, 3_250.8, 4_226.4, 4_226.4, 5_200.8, 5_200.8, 5_526] - name: 2019 head of household filers across the Part B premium tiers. period: 2019 @@ -920,6 +1109,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -932,36 +1127,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 267_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 267_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 267_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 83 FR 52465, joint-return column. # MAGI 170,000, at the threshold: $135.50 a month # MAGI 170,001, lowest income in the 35% tier: $189.60 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $189.60 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $270.90 (50%) a month + # MAGI 267,000, highest income in the 50% tier: $270.90 (50%) a month # MAGI 267,001, lowest income in the 65% tier: $352.20 (65%) a month + # MAGI 320,000, highest income in the 65% tier: $352.20 (65%) a month # MAGI 320,001, lowest income in the 80% tier: $433.40 (80%) a month # MAGI 749,999, just below the 85% tier: $433.40 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $460.50 (85%) a month - gross_medicare_part_b_premium: [1_626, 2_275.2, 3_250.8, 4_226.4, 5_200.8, 5_200.8, 5_526] + gross_medicare_part_b_premium: [1_626, 2_275.2, 2_275.2, 3_250.8, 3_250.8, 4_226.4, 4_226.4, 5_200.8, 5_200.8, 5_526] - name: 2019 married filing separately filers across the Part B premium tiers. period: 2019 @@ -1028,6 +1238,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1040,36 +1256,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 109_001 + medicare_irmaa_magi_two_years_prior: 109_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 136_001 + medicare_irmaa_magi_two_years_prior: 109_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 163_001 + medicare_irmaa_magi_two_years_prior: 136_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 136_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 84 FR 61627, individual-return column. # MAGI 87,000, at the threshold: $144.60 a month # MAGI 87,001, lowest income in the 35% tier: $202.40 (35%) a month + # MAGI 109,000, highest income in the 35% tier: $202.40 (35%) a month # MAGI 109,001, lowest income in the 50% tier: $289.20 (50%) a month + # MAGI 136,000, highest income in the 50% tier: $289.20 (50%) a month # MAGI 136,001, lowest income in the 65% tier: $376.00 (65%) a month + # MAGI 163,000, highest income in the 65% tier: $376.00 (65%) a month # MAGI 163,001, lowest income in the 80% tier: $462.70 (80%) a month # MAGI 499,999, just below the 85% tier: $462.70 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $491.60 (85%) a month - gross_medicare_part_b_premium: [1_735.2, 2_428.8, 3_470.4, 4_512, 5_552.4, 5_552.4, 5_899.2] + gross_medicare_part_b_premium: [1_735.2, 2_428.8, 2_428.8, 3_470.4, 3_470.4, 4_512, 4_512, 5_552.4, 5_552.4, 5_899.2] - name: 2020 joint filers across the Part B premium tiers. period: 2020 @@ -1089,6 +1320,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1101,36 +1338,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 218_001 + medicare_irmaa_magi_two_years_prior: 218_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 272_001 + medicare_irmaa_magi_two_years_prior: 218_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 326_001 + medicare_irmaa_magi_two_years_prior: 272_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 272_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 84 FR 61627, joint-return column. # MAGI 174,000, at the threshold: $144.60 a month # MAGI 174,001, lowest income in the 35% tier: $202.40 (35%) a month + # MAGI 218,000, highest income in the 35% tier: $202.40 (35%) a month # MAGI 218,001, lowest income in the 50% tier: $289.20 (50%) a month + # MAGI 272,000, highest income in the 50% tier: $289.20 (50%) a month # MAGI 272,001, lowest income in the 65% tier: $376.00 (65%) a month + # MAGI 326,000, highest income in the 65% tier: $376.00 (65%) a month # MAGI 326,001, lowest income in the 80% tier: $462.70 (80%) a month # MAGI 749,999, just below the 85% tier: $462.70 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $491.60 (85%) a month - gross_medicare_part_b_premium: [1_735.2, 2_428.8, 3_470.4, 4_512, 5_552.4, 5_552.4, 5_899.2] + gross_medicare_part_b_premium: [1_735.2, 2_428.8, 2_428.8, 3_470.4, 3_470.4, 4_512, 4_512, 5_552.4, 5_552.4, 5_899.2] - name: 2020 married filing separately filers across the Part B premium tiers. period: 2020 @@ -1197,6 +1449,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1209,36 +1467,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 111_001 + medicare_irmaa_magi_two_years_prior: 111_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 138_001 + medicare_irmaa_magi_two_years_prior: 111_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 165_001 + medicare_irmaa_magi_two_years_prior: 138_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 138_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 85 FR 71906-71907, individual-return column. # MAGI 88,000, at the threshold: $148.50 a month # MAGI 88,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 111,000, highest income in the 35% tier: $207.90 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 138,000, highest income in the 50% tier: $297.00 (50%) a month # MAGI 138,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 165,000, highest income in the 65% tier: $386.10 (65%) a month # MAGI 165,001, lowest income in the 80% tier: $475.20 (80%) a month # MAGI 499,999, just below the 85% tier: $475.20 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $504.90 (85%) a month - gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + gross_medicare_part_b_premium: [1_782, 2_494.8, 2_494.8, 3_564, 3_564, 4_633.2, 4_633.2, 5_702.4, 5_702.4, 6_058.8] - name: 2021 head of household filers across the Part B premium tiers. period: 2021 @@ -1380,6 +1653,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1392,36 +1671,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 222_001 + medicare_irmaa_magi_two_years_prior: 222_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 276_001 + medicare_irmaa_magi_two_years_prior: 222_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 330_001 + medicare_irmaa_magi_two_years_prior: 276_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 276_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 85 FR 71906-71907, joint-return column. # MAGI 176,000, at the threshold: $148.50 a month # MAGI 176,001, lowest income in the 35% tier: $207.90 (35%) a month + # MAGI 222,000, highest income in the 35% tier: $207.90 (35%) a month # MAGI 222,001, lowest income in the 50% tier: $297.00 (50%) a month + # MAGI 276,000, highest income in the 50% tier: $297.00 (50%) a month # MAGI 276,001, lowest income in the 65% tier: $386.10 (65%) a month + # MAGI 330,000, highest income in the 65% tier: $386.10 (65%) a month # MAGI 330,001, lowest income in the 80% tier: $475.20 (80%) a month # MAGI 749,999, just below the 85% tier: $475.20 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $504.90 (85%) a month - gross_medicare_part_b_premium: [1_782, 2_494.8, 3_564, 4_633.2, 5_702.4, 5_702.4, 6_058.8] + gross_medicare_part_b_premium: [1_782, 2_494.8, 2_494.8, 3_564, 3_564, 4_633.2, 4_633.2, 5_702.4, 5_702.4, 6_058.8] - name: 2021 married filing separately filers across the Part B premium tiers. period: 2021 @@ -1488,6 +1782,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1500,36 +1800,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 114_001 + medicare_irmaa_magi_two_years_prior: 114_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 142_001 + medicare_irmaa_magi_two_years_prior: 114_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 170_001 + medicare_irmaa_magi_two_years_prior: 142_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 142_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 86 FR 64208, individual-return column. # MAGI 91,000, at the threshold: $170.10 a month # MAGI 91,001, lowest income in the 35% tier: $238.10 (35%) a month + # MAGI 114,000, highest income in the 35% tier: $238.10 (35%) a month # MAGI 114,001, lowest income in the 50% tier: $340.20 (50%) a month + # MAGI 142,000, highest income in the 50% tier: $340.20 (50%) a month # MAGI 142,001, lowest income in the 65% tier: $442.30 (65%) a month + # MAGI 170,000, highest income in the 65% tier: $442.30 (65%) a month # MAGI 170,001, lowest income in the 80% tier: $544.30 (80%) a month # MAGI 499,999, just below the 85% tier: $544.30 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $578.30 (85%) a month - gross_medicare_part_b_premium: [2_041.2, 2_857.2, 4_082.4, 5_307.6, 6_531.6, 6_531.6, 6_939.6] + gross_medicare_part_b_premium: [2_041.2, 2_857.2, 2_857.2, 4_082.4, 4_082.4, 5_307.6, 5_307.6, 6_531.6, 6_531.6, 6_939.6] - name: 2022 joint filers across the Part B premium tiers. period: 2022 @@ -1549,6 +1864,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1561,36 +1882,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 228_001 + medicare_irmaa_magi_two_years_prior: 228_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 284_001 + medicare_irmaa_magi_two_years_prior: 228_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 340_001 + medicare_irmaa_magi_two_years_prior: 284_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 284_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 86 FR 64208, joint-return column. # MAGI 182,000, at the threshold: $170.10 a month # MAGI 182,001, lowest income in the 35% tier: $238.10 (35%) a month + # MAGI 228,000, highest income in the 35% tier: $238.10 (35%) a month # MAGI 228,001, lowest income in the 50% tier: $340.20 (50%) a month + # MAGI 284,000, highest income in the 50% tier: $340.20 (50%) a month # MAGI 284,001, lowest income in the 65% tier: $442.30 (65%) a month + # MAGI 340,000, highest income in the 65% tier: $442.30 (65%) a month # MAGI 340,001, lowest income in the 80% tier: $544.30 (80%) a month # MAGI 749,999, just below the 85% tier: $544.30 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $578.30 (85%) a month - gross_medicare_part_b_premium: [2_041.2, 2_857.2, 4_082.4, 5_307.6, 6_531.6, 6_531.6, 6_939.6] + gross_medicare_part_b_premium: [2_041.2, 2_857.2, 2_857.2, 4_082.4, 4_082.4, 5_307.6, 5_307.6, 6_531.6, 6_531.6, 6_939.6] - name: 2022 married filing separately filers across the Part B premium tiers. period: 2022 @@ -1657,6 +1993,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1669,36 +2011,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 123_001 + medicare_irmaa_magi_two_years_prior: 123_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 153_001 + medicare_irmaa_magi_two_years_prior: 123_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 183_001 + medicare_irmaa_magi_two_years_prior: 153_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 153_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 87 FR 59083, individual-return column. # MAGI 97,000, at the threshold: $164.90 a month # MAGI 97,001, lowest income in the 35% tier: $230.80 (35%) a month + # MAGI 123,000, highest income in the 35% tier: $230.80 (35%) a month # MAGI 123,001, lowest income in the 50% tier: $329.70 (50%) a month + # MAGI 153,000, highest income in the 50% tier: $329.70 (50%) a month # MAGI 153,001, lowest income in the 65% tier: $428.60 (65%) a month + # MAGI 183,000, highest income in the 65% tier: $428.60 (65%) a month # MAGI 183,001, lowest income in the 80% tier: $527.50 (80%) a month # MAGI 499,999, just below the 85% tier: $527.50 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $560.50 (85%) a month - gross_medicare_part_b_premium: [1_978.8, 2_769.6, 3_956.4, 5_143.2, 6_330, 6_330, 6_726] + gross_medicare_part_b_premium: [1_978.8, 2_769.6, 2_769.6, 3_956.4, 3_956.4, 5_143.2, 5_143.2, 6_330, 6_330, 6_726] - name: 2023 joint filers across the Part B premium tiers. period: 2023 @@ -1718,6 +2075,12 @@ age: 66 person7: age: 66 + person8: + age: 66 + person9: + age: 66 + person10: + age: 66 tax_units: tax_unit1: members: [person1] @@ -1730,36 +2093,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 246_001 + medicare_irmaa_magi_two_years_prior: 246_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 306_001 + medicare_irmaa_magi_two_years_prior: 246_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 366_001 + medicare_irmaa_magi_two_years_prior: 306_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 306_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: 87 FR 59083, joint-return column. # MAGI 194,000, at the threshold: $164.90 a month # MAGI 194,001, lowest income in the 35% tier: $230.80 (35%) a month + # MAGI 246,000, highest income in the 35% tier: $230.80 (35%) a month # MAGI 246,001, lowest income in the 50% tier: $329.70 (50%) a month + # MAGI 306,000, highest income in the 50% tier: $329.70 (50%) a month # MAGI 306,001, lowest income in the 65% tier: $428.60 (65%) a month + # MAGI 366,000, highest income in the 65% tier: $428.60 (65%) a month # MAGI 366,001, lowest income in the 80% tier: $527.50 (80%) a month # MAGI 749,999, just below the 85% tier: $527.50 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $560.50 (85%) a month - gross_medicare_part_b_premium: [1_978.8, 2_769.6, 3_956.4, 5_143.2, 6_330, 6_330, 6_726] + gross_medicare_part_b_premium: [1_978.8, 2_769.6, 2_769.6, 3_956.4, 3_956.4, 5_143.2, 5_143.2, 6_330, 6_330, 6_726] - name: 2023 married filing separately filers across the Part B premium tiers. period: 2023 diff --git a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml index 4156cd16c61..320962069b7 100644 --- a/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml +++ b/policyengine_us/tests/policy/baseline/gov/hhs/medicare/eligibility/income_adjusted_part_d_premium_surcharge.yaml @@ -194,6 +194,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -206,31 +215,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2015 Part D bid information release (July 31, 2014), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $12.30 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $31.80 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $51.30 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $51.30 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $70.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $70.80 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 615.6, 849.6, 849.6] + income_adjusted_part_d_premium_surcharge: [0, 147.6, 147.6, 381.6, 381.6, 615.6, 615.6, 849.6, 849.6] - name: 2015 joint filers across the Part D IRMAA tiers. period: 2015 @@ -254,6 +278,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -266,31 +299,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2015 Part D bid information release (July 31, 2014), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $12.30 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $31.80 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $51.30 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $51.30 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $70.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $70.80 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 615.6, 849.6, 849.6] + income_adjusted_part_d_premium_surcharge: [0, 147.6, 147.6, 381.6, 381.6, 615.6, 615.6, 849.6, 849.6] - name: 2015 married filing separately filers across the Part D IRMAA tiers. period: 2015 @@ -366,6 +414,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -378,31 +435,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $12.70 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $32.80 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $52.80 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $72.90 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + income_adjusted_part_d_premium_surcharge: [0, 152.4, 152.4, 393.6, 393.6, 633.6, 633.6, 874.8, 874.8] - name: 2016 head of household filers across the Part D IRMAA tiers. period: 2016 @@ -546,6 +618,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -558,31 +639,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2016 Part D bid information release (July 29, 2015), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.70 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $12.70 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $32.80 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $32.80 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $52.80 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $52.80 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $72.90 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $72.90 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 152.4, 393.6, 633.6, 874.8, 874.8] + income_adjusted_part_d_premium_surcharge: [0, 152.4, 152.4, 393.6, 393.6, 633.6, 633.6, 874.8, 874.8] - name: 2016 married filing separately filers across the Part D IRMAA tiers. period: 2016 @@ -658,6 +754,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -670,31 +775,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 160_000 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 214_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2017 Part D bid information release (July 29, 2016), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $13.30 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $13.30 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $34.20 (50%) a month + # MAGI 160,000, highest income in the 50% tier: $34.20 (50%) a month # MAGI 160,001, lowest income in the 65% tier: $55.20 (65%) a month + # MAGI 214,000, highest income in the 65% tier: $55.20 (65%) a month # MAGI 214,001, lowest income in the 80% tier: $76.20 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $76.20 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 159.6, 410.4, 662.4, 914.4, 914.4] + income_adjusted_part_d_premium_surcharge: [0, 159.6, 159.6, 410.4, 410.4, 662.4, 662.4, 914.4, 914.4] - name: 2017 joint filers across the Part D IRMAA tiers. period: 2017 @@ -718,6 +838,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -730,31 +859,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 428_001 + medicare_irmaa_magi_two_years_prior: 320_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 428_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2017 Part D bid information release (July 29, 2016), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $13.30 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $13.30 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $34.20 (50%) a month + # MAGI 320,000, highest income in the 50% tier: $34.20 (50%) a month # MAGI 320,001, lowest income in the 65% tier: $55.20 (65%) a month + # MAGI 428,000, highest income in the 65% tier: $55.20 (65%) a month # MAGI 428,001, lowest income in the 80% tier: $76.20 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $76.20 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 159.6, 410.4, 662.4, 914.4, 914.4] + income_adjusted_part_d_premium_surcharge: [0, 159.6, 159.6, 410.4, 410.4, 662.4, 662.4, 914.4, 914.4] - name: 2017 married filing separately filers across the Part D IRMAA tiers. period: 2017 @@ -830,6 +974,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -842,31 +995,46 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 133_501 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 133_500 tax_unit6: members: [person6] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 133_501 + tax_unit7: + members: [person7] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit9: + members: [person9] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2018 Part D bid information release (July 31, 2017), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $13.00 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $13.00 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $33.60 (50%) a month + # MAGI 133,500, highest income in the 50% tier: $33.60 (50%) a month # MAGI 133,501, lowest income in the 65% tier: $54.20 (65%) a month + # MAGI 160,000, highest income in the 65% tier: $54.20 (65%) a month # MAGI 160,001, lowest income in the 80% tier: $74.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $74.80 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 156, 403.2, 650.4, 897.6, 897.6] + income_adjusted_part_d_premium_surcharge: [0, 156, 156, 403.2, 403.2, 650.4, 650.4, 897.6, 897.6] - name: 2018 joint filers across the Part D IRMAA tiers. period: 2018 @@ -890,6 +1058,15 @@ person6: age: 66 medicare_enrolled: true + person7: + age: 66 + medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -902,31 +1079,46 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 267_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 267_000 tax_unit6: members: [person6] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 267_001 + tax_unit7: + members: [person7] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit9: + members: [person9] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 2_000_000 households: household: - members: [person1, person2, person3, person4, person5, person6] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9] output: # Source: CMS, 2018 Part D bid information release (July 31, 2017), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $13.00 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $13.00 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $33.60 (50%) a month + # MAGI 267,000, highest income in the 50% tier: $33.60 (50%) a month # MAGI 267,001, lowest income in the 65% tier: $54.20 (65%) a month + # MAGI 320,000, highest income in the 65% tier: $54.20 (65%) a month # MAGI 320,001, lowest income in the 80% tier: $74.80 (80%) a month # MAGI 2,000,000, no 85% tier before 2019: $74.80 (80%) a month - income_adjusted_part_d_premium_surcharge: [0, 156, 403.2, 650.4, 897.6, 897.6] + income_adjusted_part_d_premium_surcharge: [0, 156, 156, 403.2, 403.2, 650.4, 650.4, 897.6, 897.6] - name: 2018 married filing separately filers across the Part D IRMAA tiers. period: 2018 @@ -989,6 +1181,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1001,36 +1202,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 107_001 + medicare_irmaa_magi_two_years_prior: 107_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 133_501 + medicare_irmaa_magi_two_years_prior: 107_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 160_001 + medicare_irmaa_magi_two_years_prior: 133_500 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 133_501 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 160_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, individual-return column. # MAGI 85,000, at the threshold: $0 a month # MAGI 85,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 107,000, highest income in the 35% tier: $12.40 (35%) a month # MAGI 107,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 133,500, highest income in the 50% tier: $31.90 (50%) a month # MAGI 133,501, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 160,000, highest income in the 65% tier: $51.40 (65%) a month # MAGI 160,001, lowest income in the 80% tier: $70.90 (80%) a month # MAGI 499,999, just below the 85% tier: $70.90 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $77.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + income_adjusted_part_d_premium_surcharge: [0, 148.8, 148.8, 382.8, 382.8, 616.8, 616.8, 850.8, 850.8, 928.8] - name: 2019 head of household filers across the Part D IRMAA tiers. period: 2019 @@ -1193,6 +1409,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1205,36 +1430,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 214_001 + medicare_irmaa_magi_two_years_prior: 214_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 267_001 + medicare_irmaa_magi_two_years_prior: 214_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 320_001 + medicare_irmaa_magi_two_years_prior: 267_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 267_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 320_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS, 2019 Part D bid information release (July 31, 2018), file page 4, joint-return column. # MAGI 170,000, at the threshold: $0 a month # MAGI 170,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 214,000, highest income in the 35% tier: $12.40 (35%) a month # MAGI 214,001, lowest income in the 50% tier: $31.90 (50%) a month + # MAGI 267,000, highest income in the 50% tier: $31.90 (50%) a month # MAGI 267,001, lowest income in the 65% tier: $51.40 (65%) a month + # MAGI 320,000, highest income in the 65% tier: $51.40 (65%) a month # MAGI 320,001, lowest income in the 80% tier: $70.90 (80%) a month # MAGI 749,999, just below the 85% tier: $70.90 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $77.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 148.8, 382.8, 616.8, 850.8, 850.8, 928.8] + income_adjusted_part_d_premium_surcharge: [0, 148.8, 148.8, 382.8, 382.8, 616.8, 616.8, 850.8, 850.8, 928.8] - name: 2019 married filing separately filers across the Part D IRMAA tiers. period: 2019 @@ -1313,6 +1553,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1325,36 +1574,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 109_001 + medicare_irmaa_magi_two_years_prior: 109_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 136_001 + medicare_irmaa_magi_two_years_prior: 109_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 163_001 + medicare_irmaa_magi_two_years_prior: 136_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 136_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 163_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS Office of the Actuary, 2020 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 87,000, at the threshold: $0 a month # MAGI 87,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 109,000, highest income in the 35% tier: $12.20 (35%) a month # MAGI 109,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 136,000, highest income in the 50% tier: $31.50 (50%) a month # MAGI 136,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 163,000, highest income in the 65% tier: $50.70 (65%) a month # MAGI 163,001, lowest income in the 80% tier: $70.00 (80%) a month # MAGI 499,999, just below the 85% tier: $70.00 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $76.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + income_adjusted_part_d_premium_surcharge: [0, 146.4, 146.4, 378, 378, 608.4, 608.4, 840, 840, 916.8] - name: 2020 joint filers across the Part D IRMAA tiers. period: 2020 @@ -1381,6 +1645,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1393,36 +1666,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 218_001 + medicare_irmaa_magi_two_years_prior: 218_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 272_001 + medicare_irmaa_magi_two_years_prior: 218_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 326_001 + medicare_irmaa_magi_two_years_prior: 272_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 272_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 326_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS Office of the Actuary, 2020 Part D income-related monthly premium adjustment, file page 2, joint-return column. # MAGI 174,000, at the threshold: $0 a month # MAGI 174,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 218,000, highest income in the 35% tier: $12.20 (35%) a month # MAGI 218,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 272,000, highest income in the 50% tier: $31.50 (50%) a month # MAGI 272,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 326,000, highest income in the 65% tier: $50.70 (65%) a month # MAGI 326,001, lowest income in the 80% tier: $70.00 (80%) a month # MAGI 749,999, just below the 85% tier: $70.00 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $76.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + income_adjusted_part_d_premium_surcharge: [0, 146.4, 146.4, 378, 378, 608.4, 608.4, 840, 840, 916.8] - name: 2020 married filing separately filers across the Part D IRMAA tiers. period: 2020 @@ -1501,6 +1789,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1513,36 +1810,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 111_001 + medicare_irmaa_magi_two_years_prior: 111_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 138_001 + medicare_irmaa_magi_two_years_prior: 111_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 165_001 + medicare_irmaa_magi_two_years_prior: 138_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 138_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 165_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, individual-return column. # MAGI 88,000, at the threshold: $0 a month # MAGI 88,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 111,000, highest income in the 35% tier: $12.30 (35%) a month # MAGI 111,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 138,000, highest income in the 50% tier: $31.80 (50%) a month # MAGI 138,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 165,000, highest income in the 65% tier: $51.20 (65%) a month # MAGI 165,001, lowest income in the 80% tier: $70.70 (80%) a month # MAGI 499,999, just below the 85% tier: $70.70 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $77.10 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + income_adjusted_part_d_premium_surcharge: [0, 147.6, 147.6, 381.6, 381.6, 614.4, 614.4, 848.4, 848.4, 925.2] - name: 2021 head of household filers across the Part D IRMAA tiers. period: 2021 @@ -1705,6 +2017,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1717,36 +2038,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 222_001 + medicare_irmaa_magi_two_years_prior: 222_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 276_001 + medicare_irmaa_magi_two_years_prior: 222_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 330_001 + medicare_irmaa_magi_two_years_prior: 276_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 276_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 330_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS Office of the Actuary, 2021 Part D income-related monthly premium adjustment, file page 2, joint-return column. # MAGI 176,000, at the threshold: $0 a month # MAGI 176,001, lowest income in the 35% tier: $12.30 (35%) a month + # MAGI 222,000, highest income in the 35% tier: $12.30 (35%) a month # MAGI 222,001, lowest income in the 50% tier: $31.80 (50%) a month + # MAGI 276,000, highest income in the 50% tier: $31.80 (50%) a month # MAGI 276,001, lowest income in the 65% tier: $51.20 (65%) a month + # MAGI 330,000, highest income in the 65% tier: $51.20 (65%) a month # MAGI 330,001, lowest income in the 80% tier: $70.70 (80%) a month # MAGI 749,999, just below the 85% tier: $70.70 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $77.10 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 147.6, 381.6, 614.4, 848.4, 848.4, 925.2] + income_adjusted_part_d_premium_surcharge: [0, 147.6, 147.6, 381.6, 381.6, 614.4, 614.4, 848.4, 848.4, 925.2] - name: 2021 married filing separately filers across the Part D IRMAA tiers. period: 2021 @@ -1825,6 +2161,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1837,36 +2182,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 114_001 + medicare_irmaa_magi_two_years_prior: 114_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 142_001 + medicare_irmaa_magi_two_years_prior: 114_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 170_001 + medicare_irmaa_magi_two_years_prior: 142_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 142_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 170_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS fact sheet, 2022 Part D income-related monthly adjustment amounts, individual-return column. # MAGI 91,000, at the threshold: $0 a month # MAGI 91,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 114,000, highest income in the 35% tier: $12.40 (35%) a month # MAGI 114,001, lowest income in the 50% tier: $32.10 (50%) a month + # MAGI 142,000, highest income in the 50% tier: $32.10 (50%) a month # MAGI 142,001, lowest income in the 65% tier: $51.70 (65%) a month + # MAGI 170,000, highest income in the 65% tier: $51.70 (65%) a month # MAGI 170,001, lowest income in the 80% tier: $71.30 (80%) a month # MAGI 499,999, just below the 85% tier: $71.30 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $77.90 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 148.8, 385.2, 620.4, 855.6, 855.6, 934.8] + income_adjusted_part_d_premium_surcharge: [0, 148.8, 148.8, 385.2, 385.2, 620.4, 620.4, 855.6, 855.6, 934.8] - name: 2022 joint filers across the Part D IRMAA tiers. period: 2022 @@ -1893,6 +2253,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -1905,36 +2274,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 228_001 + medicare_irmaa_magi_two_years_prior: 228_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 284_001 + medicare_irmaa_magi_two_years_prior: 228_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 340_001 + medicare_irmaa_magi_two_years_prior: 284_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 284_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 340_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS fact sheet, 2022 Part D income-related monthly adjustment amounts, joint-return column. # MAGI 182,000, at the threshold: $0 a month # MAGI 182,001, lowest income in the 35% tier: $12.40 (35%) a month + # MAGI 228,000, highest income in the 35% tier: $12.40 (35%) a month # MAGI 228,001, lowest income in the 50% tier: $32.10 (50%) a month + # MAGI 284,000, highest income in the 50% tier: $32.10 (50%) a month # MAGI 284,001, lowest income in the 65% tier: $51.70 (65%) a month + # MAGI 340,000, highest income in the 65% tier: $51.70 (65%) a month # MAGI 340,001, lowest income in the 80% tier: $71.30 (80%) a month # MAGI 749,999, just below the 85% tier: $71.30 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $77.90 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 148.8, 385.2, 620.4, 855.6, 855.6, 934.8] + income_adjusted_part_d_premium_surcharge: [0, 148.8, 148.8, 385.2, 385.2, 620.4, 620.4, 855.6, 855.6, 934.8] - name: 2022 married filing separately filers across the Part D IRMAA tiers. period: 2022 @@ -2013,6 +2397,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -2025,36 +2418,51 @@ tax_unit3: members: [person3] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 123_001 + medicare_irmaa_magi_two_years_prior: 123_000 tax_unit4: members: [person4] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 153_001 + medicare_irmaa_magi_two_years_prior: 123_001 tax_unit5: members: [person5] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 183_001 + medicare_irmaa_magi_two_years_prior: 153_000 tax_unit6: members: [person6] filing_status: SINGLE - medicare_irmaa_magi_two_years_prior: 499_999 + medicare_irmaa_magi_two_years_prior: 153_001 tax_unit7: members: [person7] filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_000 + tax_unit8: + members: [person8] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 183_001 + tax_unit9: + members: [person9] + filing_status: SINGLE + medicare_irmaa_magi_two_years_prior: 499_999 + tax_unit10: + members: [person10] + filing_status: SINGLE medicare_irmaa_magi_two_years_prior: 500_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS fact sheet, 2023 Part D income-related monthly adjustment amounts, individual-return column. # MAGI 97,000, at the threshold: $0 a month # MAGI 97,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 123,000, highest income in the 35% tier: $12.20 (35%) a month # MAGI 123,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 153,000, highest income in the 50% tier: $31.50 (50%) a month # MAGI 153,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 183,000, highest income in the 65% tier: $50.70 (65%) a month # MAGI 183,001, lowest income in the 80% tier: $70.00 (80%) a month # MAGI 499,999, just below the 85% tier: $70.00 (80%) a month # MAGI 500,000, lowest income in the 85% tier: $76.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + income_adjusted_part_d_premium_surcharge: [0, 146.4, 146.4, 378, 378, 608.4, 608.4, 840, 840, 916.8] - name: 2023 joint filers across the Part D IRMAA tiers. period: 2023 @@ -2081,6 +2489,15 @@ person7: age: 66 medicare_enrolled: true + person8: + age: 66 + medicare_enrolled: true + person9: + age: 66 + medicare_enrolled: true + person10: + age: 66 + medicare_enrolled: true tax_units: tax_unit1: members: [person1] @@ -2093,36 +2510,51 @@ tax_unit3: members: [person3] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 246_001 + medicare_irmaa_magi_two_years_prior: 246_000 tax_unit4: members: [person4] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 306_001 + medicare_irmaa_magi_two_years_prior: 246_001 tax_unit5: members: [person5] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 366_001 + medicare_irmaa_magi_two_years_prior: 306_000 tax_unit6: members: [person6] filing_status: JOINT - medicare_irmaa_magi_two_years_prior: 749_999 + medicare_irmaa_magi_two_years_prior: 306_001 tax_unit7: members: [person7] filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_000 + tax_unit8: + members: [person8] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 366_001 + tax_unit9: + members: [person9] + filing_status: JOINT + medicare_irmaa_magi_two_years_prior: 749_999 + tax_unit10: + members: [person10] + filing_status: JOINT medicare_irmaa_magi_two_years_prior: 750_000 households: household: - members: [person1, person2, person3, person4, person5, person6, person7] + members: [person1, person2, person3, person4, person5, person6, person7, person8, person9, person10] output: # Source: CMS fact sheet, 2023 Part D income-related monthly adjustment amounts, joint-return column. # MAGI 194,000, at the threshold: $0 a month # MAGI 194,001, lowest income in the 35% tier: $12.20 (35%) a month + # MAGI 246,000, highest income in the 35% tier: $12.20 (35%) a month # MAGI 246,001, lowest income in the 50% tier: $31.50 (50%) a month + # MAGI 306,000, highest income in the 50% tier: $31.50 (50%) a month # MAGI 306,001, lowest income in the 65% tier: $50.70 (65%) a month + # MAGI 366,000, highest income in the 65% tier: $50.70 (65%) a month # MAGI 366,001, lowest income in the 80% tier: $70.00 (80%) a month # MAGI 749,999, just below the 85% tier: $70.00 (80%) a month # MAGI 750,000, lowest income in the 85% tier: $76.40 (85%) a month - income_adjusted_part_d_premium_surcharge: [0, 146.4, 378, 608.4, 840, 840, 916.8] + income_adjusted_part_d_premium_surcharge: [0, 146.4, 146.4, 378, 378, 608.4, 608.4, 840, 840, 916.8] - name: 2023 married filing separately filers across the Part D IRMAA tiers. period: 2023 diff --git a/policyengine_us/variables/gov/hhs/medicaid/income/medicaid_optional_senior_or_disabled_countable_income.py b/policyengine_us/variables/gov/hhs/medicaid/income/medicaid_optional_senior_or_disabled_countable_income.py index e040a7af8b6..1a21e9444f0 100644 --- a/policyengine_us/variables/gov/hhs/medicaid/income/medicaid_optional_senior_or_disabled_countable_income.py +++ b/policyengine_us/variables/gov/hhs/medicaid/income/medicaid_optional_senior_or_disabled_countable_income.py @@ -74,8 +74,6 @@ def formula(person, period, parameters): # base premium plus any IRMAA (42 USC 1395r(i)), whoever pays it. # NOTE: medicare_enrolled (Part A and/or Part B) stands in for Part B # enrollment, as in medical_expense_health_insurance_premiums. - # NOTE: gov.hhs.medicare.part_b.base_premium starts in 2021, so a - # person-paid Part B before 2021 reads the 2021 premium. # NOTE: ACWDL 20-24 Example 5 also deducts a non-applicant spouse's # premiums. Spousal income here follows SSI deeming (20 CFR 416.1163), # so that premium is not modeled, nor is MC 176's maintenance need