notebooks: CY2027 NPRM — primary-care (ACO attribution) per-service analysis, near-term + long-term #632

Closed
opened 2026-08-17 16:10:10 +00:00 by kert · 1 comment
Owner

Add a primary-care section to notebooks/cy2027_pfs_proposed_rule.py analyzing each of the 109 designated primary care services (MSSP assignment list, 42 CFR 425.400(c), read live from cms.primary_care_service_code):

  • Near-term, every code: CY2026-final vs CY2027-proposed work/total RVUs and national payment (both CFs known from the registries) — full sortable table + chart ranked by % payment change; codes present on only one side surfaced explicitly (APCM-family codes without CY2026 final RVUs).
  • Long-term, per code: total-RVU and dollar (RVU × that year's final CF, RULES[2015..2026]) trajectories 2015–2026 with the 2027-proposed point appended and labeled; code × year heatmap + small multiples for the largest cumulative movers.
  • GPCI cross-cut: near-term payment delta for a chosen primary-care code at extreme localities (joins #631's section).
  • Disclosures: current-law designation list applied retrospectively (list is unversioned); aggregation unweighted (no utilization reference in the lake).

Gate: nb_integration.py single-notebook run green in the prod notebooks container; in-notebook sanity assertions (109 codes read; join coverage against pfs.rvu reported).

Depends on #630. Spec: docs/superpowers/specs/2026-08-17-cy2027-notebook-gpci-pqm-design.md (D3).

Add a primary-care section to `notebooks/cy2027_pfs_proposed_rule.py` analyzing **each of the 109** designated primary care services (MSSP assignment list, 42 CFR 425.400(c), read live from `cms.primary_care_service_code`): - **Near-term, every code**: CY2026-final vs CY2027-proposed work/total RVUs and national payment (both CFs known from the registries) — full sortable table + chart ranked by % payment change; codes present on only one side surfaced explicitly (APCM-family codes without CY2026 final RVUs). - **Long-term, per code**: total-RVU and dollar (RVU × that year's final CF, `RULES[2015..2026]`) trajectories 2015–2026 with the 2027-proposed point appended and labeled; code × year heatmap + small multiples for the largest cumulative movers. - **GPCI cross-cut**: near-term payment delta for a chosen primary-care code at extreme localities (joins #631's section). - Disclosures: current-law designation list applied retrospectively (list is unversioned); aggregation unweighted (no utilization reference in the lake). Gate: `nb_integration.py` single-notebook run green in the prod notebooks container; in-notebook sanity assertions (109 codes read; join coverage against pfs.rvu reported). Depends on #630. Spec: docs/superpowers/specs/2026-08-17-cy2027-notebook-gpci-pqm-design.md (D3).
kert added this to the P39: CY2027 Notebook Deep-Dive — GPCI locality analysis + primary-care (ACO attribution) services milestone 2026-08-17 16:10:10 +00:00
kert added the pfsnotebooksapi labels 2026-08-17 16:10:10 +00:00
kert closed this issue 2026-08-17 16:39:39 +00:00
Author
Owner

Shipped in 8c4e13c (combined commit with #631). Verified against live data: 109 designated codes read (in-notebook assert), 97 price in both CY2026-final and CY2027-proposed tables (full per-code table + ranked % change chart), 12 are absent_both — deleted legacy codes (99201, 99318, 99343, 99354-5, 99441-3, G2012, G2058, G2064-5) listed explicitly, never plotted against a fabricated baseline. Long-term: per-code RVU heatmap + dollar small-multiples 2015–2026 with the 2027-proposed point flagged, dollars at each year's own final CF (RULES[2015..2026]). Notebook gate pass=1.

Shipped in 8c4e13c (combined commit with #631). Verified against live data: 109 designated codes read (in-notebook assert), 97 price in both CY2026-final and CY2027-proposed tables (full per-code table + ranked % change chart), 12 are `absent_both` — deleted legacy codes (99201, 99318, 99343, 99354-5, 99441-3, G2012, G2058, G2064-5) listed explicitly, never plotted against a fabricated baseline. Long-term: per-code RVU heatmap + dollar small-multiples 2015–2026 with the 2027-proposed point flagged, dollars at each year's own final CF (`RULES[2015..2026]`). Notebook gate `pass=1`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#632