Repository navigation
Add 2015-2020 Medicare Part A premiums and 2015-2023 Part A deductibles - #10117
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ding Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
US + core hub merge audit, us#10117 at
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Medicare Part A full premium (
gov.hhs.medicare.part_a.full_premium) and reduced premium (reduced_premium) had values only from 2021, and the Part A inpatient hospital deductible (deductible) only for 2024–2025.CountryTaxBenefitSystembackdates every parameter's earliest value to 2015 (FIRST_MODELED_YEAR). As a result:Change
Adds each year's amount, with a reference to that year's Federal Register notice:
Sources.
Verification
Every value was transcribed once into a canonical table. A script checks it against:
pdftotextof the cited govinfo PDF page, which must contain the summary sentence with the amount.All pass. The evidence (24 notices, the scripts and their output) is in
~/reviews/medicare-part-a-history-2015-2023/on Max's machine.One printing quirk, which changes nothing here: the 2022 deductible notice prints the unrounded amount as "$1,558". The product $1,484 × 1.0201 × 1.029 is $1,557.73, and that rounds to the published $1,556. The printed $1,558 is midway between multiples of $4 and would round up to $1,560.
Tests
base_part_a_premium.yaml: the full (20 quarters) and reduced (35 quarters) premium for each year 2015–2020. All 12 fail onmain.test_part_a_cost_sharing_history.py, 40 cases, reads the three parameter files directly, since the loaded parameters already include the backdated values. It checks the invariants below. The three "announced amount for every modeled year" cases fail onmain. It loads no model and no dataset and runs in under a second once the package is imported. The deductible has no consumer variable, so YAML cannot test it.Local:
base_part_a_premium.yaml20 passed;test_part_a_cost_sharing_history.py40 passed.Invariants
For each of the three parameter files:
FIRST_MODELED_YEAR(2015) through the last announced year, with no gaps.For every announced year:
The announced years are a small finite set (2015–2026), so the tests check all of them instead of sampling with Hypothesis.
Impact
None on microsimulations.
base_part_a_premiumcharges a premium only to people with fewer than 40 quarters of coverage.medicare_quarters_of_coveragedefaults to 40, and the default dataset (populace_us_2024.h5, sha2566496cc43…) has no such variable, so every simulated enrollee gets premium-free Part A.gov.hhs.medicare.part_a.deductible.What changes are household calculations for 2015–2020 that set fewer than 40 quarters. For example, a 2015 enrollee with 20 quarters owes $4,884 a year (was $5,652), and a 2018 enrollee with 35 quarters owes $2,784 (was $3,108). Parameter readers (the API, policyengine.py) also see the corrected 2015–2023 and 2026 deductibles.
Related
axiom: TheAxiomFoundation/rulespec-us#1679 queued. The blockers: rulespec-us pins
us-rulespec-2026-08-08-obbb-alien-snap, which predates the corpus's Medicare statute rows; the 2015–2025 annual notices are not ingested; and signed encoder runs need approval.🤖 Generated with Claude Code