fix(qpp): payment-year keyed thresholds — correct 2023/2024/2026; CAA 2026 supersession (refs #620 #613)
This commit is contained in:
@@ -39,16 +39,28 @@ the first split-CF year) and ``False`` for earlier performance
|
||||
years. See :class:`pfs.rules.RuleYear` (``cf_qp`` /
|
||||
``conversion_factor`` on ``RULES[2026]``) for the actual dollar CFs.
|
||||
|
||||
APM Incentive Payment sunset
|
||||
------------------------------
|
||||
APM Incentive Payment sunset — and CAA 2026 revival for 2028
|
||||
----------------------------------------------------------------
|
||||
|
||||
The lump-sum APM Incentive Payment (a fixed percentage of a QP's
|
||||
prior-year Part B paid claims) is statutorily phased out: 5% for
|
||||
payment years 2019-2024, 3.5% for payment year 2025 (QP Performance
|
||||
Period 2023), 1.88% for payment year 2026 (QP Performance Period
|
||||
2024) — and payment year 2026 is, under current law, the *last* year
|
||||
these payments are made. ``QppYear.apm_incentive_pct`` is ``None``
|
||||
for QP Performance Periods 2025 and later.
|
||||
prior-year Part B paid claims) is statutorily set at: 5% for payment
|
||||
years 2019-2024, 3.5% for payment year 2025 (QP Performance Period
|
||||
2023), 1.88% for payment year 2026 (QP Performance Period 2024).
|
||||
Payment year 2026 was, under prior law, believed the *last* year
|
||||
these payments would be made — ``QppYear.apm_incentive_pct`` is
|
||||
accordingly ``None`` for payment year 2027 (QP Performance Period
|
||||
2025). The Consolidated Appropriations Act, 2026 (CAA 2026) (Pub. L.
|
||||
119-75, February 3, 2026) revived a **3.1%** APM Incentive Payment,
|
||||
but only for payment year 2028 (QP Performance Period 2026) — 42 CFR
|
||||
414.1450(b)(1)(iv), as amended by CMS-1848-P (91 FR 44286, transcribed
|
||||
``data/fr_downloads/2026-14327.txt:42632``, "(iv) 2028: 3.1
|
||||
percent."); narrative at 91 FR 44218-44219
|
||||
(``2026-14327.txt:37389-37391``, and the proposed-regulatory-text
|
||||
preview at ``:37436``). There is no revival for payment year 2029 (QP
|
||||
Performance Period 2027) — ``QppYear.apm_incentive_pct`` is ``None``
|
||||
there too. So the payment years with a nonzero incentive are 2025,
|
||||
2026, and (revived) 2028 only — not a clean sunset after 2026. See
|
||||
``QPP[2026].apm_incentive_pct`` and task #620.
|
||||
|
||||
CMS-1832-P (CY2026 PFS proposed rule, 90 FR 32352, transcribed from
|
||||
``data/fr_downloads/2025-13271.txt``) proposed several QPP
|
||||
@@ -157,30 +169,84 @@ statutory threshold levels (not a new CMS-set threshold change); and
|
||||
payment year 2028 and restructuring 414.1450(b)(1) into a per-year
|
||||
list.
|
||||
|
||||
**Concern — PY2026 (QPP[2026], payment year 2028) restatement
|
||||
discrepancy, NOT corrected here:** this NPRM's own amendatory text for
|
||||
42 CFR 414.1430(a)/(b) (91 FR 44285-44286) states, for payment year
|
||||
2028: QP payment amount threshold 50% (a)(1)(iv), QP patient count
|
||||
threshold 35% (a)(3)(iv), Partial QP payment amount threshold 40%
|
||||
(a)(2)(iv), Partial QP patient count threshold 25% (a)(4)(iv) — and
|
||||
for payment years 2021 through 2026 (covering QPP[2023]'s payment
|
||||
year 2025 and QPP[2024]'s payment year 2026): QP payment amount
|
||||
threshold 50% (a)(1)(ii), QP patient count threshold 35% (a)(3)(ii).
|
||||
These figures directly **contradict** the values currently coded on
|
||||
``QPP[2023]``, ``QPP[2024]``, and ``QPP[2026]`` (75%/50% QP,
|
||||
50%/35% Partial QP, uniformly), which were sourced from the CY2026
|
||||
Final Rule quote in this module's docstring ("The thresholds to
|
||||
achieve QP status in the 2026 QP Performance Period (2028 payment
|
||||
year) are set to 75 percent for the payment amount, and 50 percent
|
||||
for the patient count.", 90 FR 49980). This NPRM's amendatory text
|
||||
also directly states, for payment year 2028, an APM Incentive Payment
|
||||
of 3.1% (42 CFR 414.1450(b)(1)(iv), 91 FR 44286) — contradicting
|
||||
``QPP[2026].apm_incentive_pct = None``. Per task scope, these PY2023/
|
||||
PY2024/PY2026 values are **not modified** by this transcription; see
|
||||
task-7-report.md for the full cross-check and a recommendation that a
|
||||
follow-up task re-verify ``QPP[2023]``, ``QPP[2024]``, and
|
||||
``QPP[2026]`` directly against 42 CFR 414.1430/414.1450 (eCFR) rather
|
||||
than the FR-corpus narrative quotes.
|
||||
**Payment-year keying correction — QPP[2023], QPP[2024] (task #620,
|
||||
refs #613):** An earlier transcription (P36) misread 42 CFR
|
||||
414.1430(a)'s payment-year-keyed threshold schedule as keyed to *QP
|
||||
Performance Period*, carrying the 75%/50% QP (50%/35% Partial QP)
|
||||
step-up back two years too early onto ``QPP[2023]``/``QPP[2024]``.
|
||||
The statute (section 1833(z)(2) of the Act) and its implementing
|
||||
regulation key strictly to **payment year**:
|
||||
|
||||
- 42 CFR 414.1430(a)(1)(ii)/(a)(3)(ii): "2021 through 2026: 50
|
||||
percent" / "35 percent" (QP payment-amount / patient-count) —
|
||||
CMS-1848-P amendatory text, 91 FR 44285
|
||||
(``data/fr_downloads/2026-14327.txt:42548,42566``).
|
||||
- 42 CFR 414.1430(a)(2)(ii)/(a)(4)(ii): "2021 through 2026: 40
|
||||
percent" / "25 percent" (Partial QP) — 91 FR 44285-44286
|
||||
(``2026-14327.txt:42556,42573``).
|
||||
|
||||
Original source: 42 CFR 414.1430(a), 89 FR 98564 (CY2024 PFS Final
|
||||
Rule); restated in CMS-1848-P's amendatory text at 91 FR 44285-44286;
|
||||
the CAA 2024 Sec. 304 narrative extending payment-year-2025
|
||||
thresholds through payment year 2026 is at 91 FR 44219
|
||||
(``2026-14327.txt:37498-37509``: "section 304(a)(2) of the CAA, 2024
|
||||
... extend[ed] for payment years 2025 and 2026 (performance periods
|
||||
2023 and 2024) the applicable payment amount and patient count
|
||||
thresholds"). Accordingly, ``QPP[2023]`` (payment year 2025) and
|
||||
``QPP[2024]`` (payment year 2026) are corrected from 75%/50% QP,
|
||||
50%/35% Partial QP to **50%/35% QP, 40%/25% Partial QP**.
|
||||
``QPP[2025]`` (payment year 2027) and ``QPP[2027]`` (payment year
|
||||
2029) were already correct at 75%/50% QP, 50%/35% Partial QP and are
|
||||
**unchanged** by this correction.
|
||||
|
||||
**CAA 2026 supersession — QPP[2026] (task #620):** ``QPP[2026]``
|
||||
(payment year 2028) was previously coded 75%/50% QP, 50%/35% Partial
|
||||
QP, ``apm_incentive_pct=None`` — accurate when transcribed from the
|
||||
CY2026 PFS Final Rule narrative ("The thresholds to achieve QP status
|
||||
in the 2026 QP Performance Period (2028 payment year) are set to 75
|
||||
percent for the payment amount, and 50 percent for the patient
|
||||
count.", 90 FR 49980), which was itself correct *at the time of that
|
||||
rule's publication*. The Consolidated Appropriations Act, 2026 (CAA
|
||||
2026) (Pub. L. 119-75, February 3, 2026) subsequently, legislatively
|
||||
restored payment year 2028 to the lower 50%/35% QP, 40%/25% Partial QP
|
||||
levels and revived a 3.1% APM Incentive Payment for that year — see
|
||||
CMS-1848-P's own narrative, 91 FR 44219-44220
|
||||
(``2026-14327.txt:37536-37541``: "these thresholds all increased for
|
||||
payment year 2027 ... and were legislatively restored to lower levels
|
||||
for payment year 2028") and the amendatory text at 91 FR 44286 (QP/
|
||||
Partial QP thresholds: ``2026-14327.txt:42550,42558,42568,42575``;
|
||||
APM incentive: ``:42632``, "(iv) 2028: 3.1 percent."). **This
|
||||
statutory change is self-executing and controls regardless of
|
||||
regulatory-text conformance status** — CMS-1848-P's own amendment of
|
||||
42 CFR 414.1430/414.1450 to match is only *proposed* as of this
|
||||
transcription (not yet a Final Rule), and eCFR's currently-displayed
|
||||
text for these sections does not yet reflect CAA 2026 and does **not**
|
||||
control. ``QPP[2026]`` is therefore corrected to ``qp_thresholds``
|
||||
50%/35%, ``partial_qp_thresholds`` 40%/25%, and
|
||||
``apm_incentive_pct=3.1``, superseding the CY2026 Final Rule narrative
|
||||
(90 FR 49980) this module originally transcribed. See
|
||||
``QPP[2026].proposed.changes`` for how this interacts with CMS-1832-P's
|
||||
(correct, at the time) "no numeric change" disposition, and
|
||||
task-620-report.md for the full correction table.
|
||||
|
||||
**CMS drafting-error note (not a data error in this module):**
|
||||
CMS-1848-P's own amendatory text contains an internal inconsistency at
|
||||
42 CFR 414.1430(b)(2)(i)(D) — the All-Payer Combination Option Partial
|
||||
QP payment-amount threshold for "2029 and thereafter" is printed as
|
||||
"75 percent" (91 FR 44286, ``2026-14327.txt:42589``), matching the
|
||||
*QP* (non-Partial) threshold at the parallel (b)(1)(i)(D)
|
||||
(``:42583``) rather than being lower than it, and conflicting with the
|
||||
Medicare Option Partial QP payment-amount threshold for the same
|
||||
period at 414.1430(a)(2)(v), correctly printed as "50 percent"
|
||||
(``:42559``). Partial QP is by design the *lower* bar, so a Partial QP
|
||||
figure equal to the QP figure is incoherent; this reads as a
|
||||
copy-paste error in the NPRM text, not a substantive Medicare-Option-
|
||||
vs-All-Payer-Option policy difference. This module does not encode the
|
||||
All-Payer Combination Option thresholds (only the generally-applicable
|
||||
Medicare Option ones), so this drafting error does not propagate into
|
||||
any field here — noted so a future grepper who spots "75 percent" at
|
||||
(b)(2)(i)(D) does not mistake it for evidence that this module's 2029
|
||||
Partial QP figure (50%, sourced from (a)(2)(v)) is wrong.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -295,9 +361,14 @@ class QppYear(BaseModel):
|
||||
|
||||
apm_incentive_pct: float | None
|
||||
"""Lump-sum APM Incentive Payment, as a % of the QP's base-year
|
||||
(payment_year - 1) paid claims for covered professional services —
|
||||
``None`` once the statutory sunset takes effect (payment years
|
||||
2027+, i.e. performance years 2025+)."""
|
||||
(payment_year - 1) paid claims for covered professional services.
|
||||
``None`` for payment years without a payment under current law:
|
||||
originally believed to sunset after payment year 2026 (performance
|
||||
year 2024), but the Consolidated Appropriations Act, 2026 (CAA
|
||||
2026) revived a 3.1% payment for payment year 2028 (performance
|
||||
year 2026) only — payment years 2027 and 2029 remain ``None``. See
|
||||
module docstring "APM Incentive Payment sunset — and CAA 2026
|
||||
revival for 2028"."""
|
||||
|
||||
qp_cf_applies: bool
|
||||
"""``True`` once the payment year for this performance period uses
|
||||
@@ -320,60 +391,62 @@ class QppYear(BaseModel):
|
||||
|
||||
# ── Annual QPP registry ──────────────────────────────────────────
|
||||
#
|
||||
# QP / Partial QP thresholds: the statutory schedule (section
|
||||
# 1833(z)(2) of the Act) raised the Medicare-option thresholds to 75%
|
||||
# (payment amount) / 50% (patient count) effective QP Performance
|
||||
# Period 2023, with Partial QP thresholds set at the prior period's
|
||||
# QP levels — 50% / 35%. Transcribed from data/fr_downloads/
|
||||
# 2025-13271.txt (NPRM) and cross-checked against data/fr_downloads/
|
||||
# 2025-19787.txt (Final Rule):
|
||||
# QP / Partial QP thresholds are keyed to PAYMENT YEAR by both the
|
||||
# statute (section 1833(z)(2) of the Act) and 42 CFR 414.1430(a) — NOT
|
||||
# to QP Performance Period. (An earlier version of this module read
|
||||
# the statutory 75%/50% step-up as keyed to performance period,
|
||||
# shifting it two years too early onto QPP[2023]/QPP[2024]; corrected
|
||||
# under task #620 / issue #613 — see module docstring "Payment-year
|
||||
# keying correction".) The current-law payment-year schedule per 42
|
||||
# CFR 414.1430(a), as amended through CMS-1848-P's amendatory text (91
|
||||
# FR 44285-44286, data/fr_downloads/2026-14327.txt:42546-42576) and
|
||||
# the CAA 2026 supersession of payment year 2028 (module docstring
|
||||
# "CAA 2026 supersession"), is:
|
||||
#
|
||||
# - NPRM 90 FR 32772 (line 36531-36537): "...the QP thresholds have
|
||||
# increased relative to previous years and, effective with the
|
||||
# 2025 QP Performance Period are now at 75 percent for the
|
||||
# payment amount and 50 percent for the patient count."
|
||||
# - NPRM 90 FR 32819 (line 40647-40656, Regulatory Impact Analysis):
|
||||
# "the thresholds to achieve QP status beginning in the 2026 QP
|
||||
# Performance Period ... will increase from 50 percent to 75
|
||||
# percent for the payment amount, and from 35 percent to 50
|
||||
# percent for the patient count." This RIA sentence is internally
|
||||
# inconsistent with the 90 FR 32772 recital above (both appear in
|
||||
# the same NPRM) — it reads as stale boilerplate describing the
|
||||
# pre-2023 -> 2023 statutory step-up, not a change CMS-1832-P
|
||||
# itself proposes.
|
||||
# - Final Rule 90 FR 49980 (line 69796-69798; corrected from a
|
||||
# mistranscribed "90 FR 49928" — that page marker is at line 64990,
|
||||
# these lines fall between the [[Page 49980]] marker at line 69792
|
||||
# and the [[Page 49981]] marker at line 69913) drops the "increase
|
||||
# from" framing entirely: "The thresholds to achieve QP status in
|
||||
# the 2026 QP Performance Period (2028 payment year) are set to
|
||||
# 75 percent for the payment amount, and 50 percent for the
|
||||
# patient count" — consistent with 75/50 being the unchanged,
|
||||
# already-current value, not a new increase.
|
||||
# - Final Rule 90 FR 49928 (line 65021-65026): "...if the proposed
|
||||
# policy would result in an ACO's payment amount score increasing
|
||||
# from 48 percent to 51 percent, that would cross the 50 percent
|
||||
# Partial QP threshold" — confirms Partial QP payment-amount
|
||||
# threshold = 50%. The Partial QP patient-count threshold (35%) is
|
||||
# not independently restated as a bare number in either document;
|
||||
# it is inferred from the same NPRM RIA sentence's "35 percent"
|
||||
# figure (the pre-2023 QP patient-count digit, which by the
|
||||
# statute's step-down design becomes the post-2023 Partial QP
|
||||
# digit) — see module docstring caveat.
|
||||
# payment year QP (amt / cnt) Partial QP (amt / cnt)
|
||||
# 2021-2026 50% / 35% 40% / 25%
|
||||
# 2027 75% / 50% 50% / 35%
|
||||
# 2028 50% / 35% 40% / 25% (CAA 2026 revival)
|
||||
# 2029+ 75% / 50% 50% / 35%
|
||||
#
|
||||
# Mapped onto this registry's performance-year keys (payment_year =
|
||||
# performance_year + 2):
|
||||
#
|
||||
# - QPP[2023] (pay 2025), QPP[2024] (pay 2026): 50%/35% QP, 40%/25%
|
||||
# Partial QP — 42 CFR 414.1430(a)(1)(ii)/(a)(2)(ii)/(a)(3)(ii)/
|
||||
# (a)(4)(ii), 91 FR 44285-44286; original source 89 FR 98564
|
||||
# (CY2024 PFS Final Rule); CAA 2024 Sec. 304 narrative, 91 FR
|
||||
# 44219.
|
||||
# - QPP[2025] (pay 2027), QPP[2027] (pay 2029): 75%/50% QP, 50%/35%
|
||||
# Partial QP — unchanged; see each entry's own citation below.
|
||||
# - QPP[2026] (pay 2028): 50%/35% QP, 40%/25% Partial QP, plus a
|
||||
# revived 3.1% APM Incentive Payment — CAA 2026, superseding the
|
||||
# CY2026 Final Rule narrative (90 FR 49980) this module originally
|
||||
# transcribed; see module docstring "CAA 2026 supersession".
|
||||
#
|
||||
# ``_qp_thresholds_75_50``/``_qp_thresholds_50_35`` and
|
||||
# ``_partial_qp_thresholds_50_35``/``_partial_qp_thresholds_40_25``
|
||||
# below supply the two distinct threshold-sets in play across
|
||||
# 2023-2027; they are no longer a single constant-returning helper
|
||||
# because the values now differ by payment year.
|
||||
#
|
||||
# Risk standards: see module docstring "Nominal amount standard
|
||||
# sourcing caveat" — 8% revenue-based (42 CFR 414.1415(c)(3)(i)(A)),
|
||||
# unchanged across 2023-2026 (no proposed or finalized change found in
|
||||
# either CY2026 document). Benchmark-based standard (42 CFR
|
||||
# unchanged across 2023-2027 (no proposed or finalized change found in
|
||||
# any FR document reviewed). Benchmark-based standard (42 CFR
|
||||
# 414.1415(c)(3)(i)(B)) left None — not stated as a bare number
|
||||
# anywhere in this repository's FR corpus.
|
||||
#
|
||||
# APM incentive %% and qp_cf_applies: transcribed from NPRM 90 FR
|
||||
# APM incentive % and qp_cf_applies: transcribed from NPRM 90 FR
|
||||
# 32818 / Final Rule 90 FR 49979-49980 ("b. APM Incentive Payments to
|
||||
# QPs in Advanced APMs and Other Payer Advanced APMs"), and the
|
||||
# sunset statement at NPRM 90 FR 32696 / Final Rule 90 FR 49838
|
||||
# ("Under current law, payment year 2026 is the last year for these
|
||||
# payments.").
|
||||
# payments.") — since revised for payment year 2028 by CAA 2026, per
|
||||
# CMS-1848-P, 91 FR 44218-44219, 44286
|
||||
# (data/fr_downloads/2026-14327.txt:37389-37391, 37436, 42632); see
|
||||
# module docstring "APM Incentive Payment sunset — and CAA 2026
|
||||
# revival for 2028".
|
||||
|
||||
_RISK_NOTES = (
|
||||
"Revenue-based 8% per CY2019 PFS Final Rule (83 FR 59923, "
|
||||
@@ -404,67 +477,129 @@ def _risk_standards() -> RiskStandards:
|
||||
)
|
||||
|
||||
|
||||
def _qp_thresholds() -> QpThresholds:
|
||||
def _qp_thresholds_75_50() -> QpThresholds:
|
||||
"""QP thresholds for payment years 2027 and 2029+ (42 CFR
|
||||
414.1430(a)(1)(iii)/(v), (a)(3)(iii)/(v))."""
|
||||
return QpThresholds(payment_amount_pct=75.0, patient_count_pct=50.0)
|
||||
|
||||
|
||||
def _partial_qp_thresholds() -> QpThresholds:
|
||||
def _qp_thresholds_50_35() -> QpThresholds:
|
||||
"""QP thresholds for payment years 2021-2026 and 2028 (CAA 2026
|
||||
revival) — 42 CFR 414.1430(a)(1)(ii)/(iv), (a)(3)(ii)/(iv), 91 FR
|
||||
44285-44286."""
|
||||
return QpThresholds(payment_amount_pct=50.0, patient_count_pct=35.0)
|
||||
|
||||
|
||||
def _partial_qp_thresholds_50_35() -> QpThresholds:
|
||||
"""Partial QP thresholds for payment years 2027 and 2029+ (42 CFR
|
||||
414.1430(a)(2)(iii)/(v), (a)(4)(iii)/(v))."""
|
||||
return QpThresholds(payment_amount_pct=50.0, patient_count_pct=35.0)
|
||||
|
||||
|
||||
def _partial_qp_thresholds_40_25() -> QpThresholds:
|
||||
"""Partial QP thresholds for payment years 2021-2026 and 2028 (CAA
|
||||
2026 revival) — 42 CFR 414.1430(a)(2)(ii)/(iv), (a)(4)(ii)/(iv), 91
|
||||
FR 44285-44286."""
|
||||
return QpThresholds(payment_amount_pct=40.0, patient_count_pct=25.0)
|
||||
|
||||
|
||||
QPP: dict[int, QppYear] = {
|
||||
2023: QppYear(
|
||||
# Payment year 2025: 42 CFR 414.1430(a)(1)(ii)/(a)(3)(ii)
|
||||
# "2021 through 2026: 50 percent" / "35 percent" (QP), 91 FR
|
||||
# 44285; (a)(2)(ii)/(a)(4)(ii) "40 percent" / "25 percent"
|
||||
# (Partial QP), 91 FR 44285-44286 — CMS-1848-P amendatory text
|
||||
# (data/fr_downloads/2026-14327.txt:42548,42556,42566,42573),
|
||||
# restating 89 FR 98564 (CY2024 PFS Final Rule) as extended by
|
||||
# CAA 2024 Sec. 304 (91 FR 44219). Corrected from an earlier
|
||||
# payment-year-keying error (task #620) — see module docstring
|
||||
# "Payment-year keying correction".
|
||||
performance_year=2023,
|
||||
payment_year=2025,
|
||||
qp_thresholds=_qp_thresholds(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds(),
|
||||
qp_thresholds=_qp_thresholds_50_35(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds_40_25(),
|
||||
risk_standards=_risk_standards(),
|
||||
apm_incentive_pct=3.5,
|
||||
qp_cf_applies=False,
|
||||
citation="90 FR 49979-49980",
|
||||
citation=(
|
||||
"90 FR 49979-49980 (APM incentive); thresholds: 89 FR 98564 "
|
||||
"(CY2024 PFS Final Rule), restated 91 FR 44285-44286 "
|
||||
"(CMS-1848-P); CAA 2024 Sec. 304, 91 FR 44219 (task #620)"
|
||||
),
|
||||
),
|
||||
2024: QppYear(
|
||||
# Payment year 2026 is the first year with a differential
|
||||
# QP/non-QP conversion factor (section 1848(d)(20) of the
|
||||
# Act) AND still receives the (final year of) lump-sum APM
|
||||
# Incentive Payment — see NPRM 90 FR 32818, Final Rule 90 FR
|
||||
# Act) AND is the last year of the original uninterrupted
|
||||
# lump-sum APM Incentive Payment run (2019-2026) before the
|
||||
# 2027 gap and the CAA-2026-only revival for 2028 (see
|
||||
# QPP[2026]) — see NPRM 90 FR 32818, Final Rule 90 FR
|
||||
# 49979-49980.
|
||||
# Thresholds: 42 CFR 414.1430(a)(1)(ii)/(a)(3)(ii) "2021
|
||||
# through 2026: 50 percent" / "35 percent" (QP), 91 FR 44285;
|
||||
# (a)(2)(ii)/(a)(4)(ii) "40 percent" / "25 percent" (Partial
|
||||
# QP), 91 FR 44285-44286 — same citations as QPP[2023].
|
||||
# Corrected from an earlier payment-year-keying error (task
|
||||
# #620) — see module docstring "Payment-year keying
|
||||
# correction".
|
||||
performance_year=2024,
|
||||
payment_year=2026,
|
||||
qp_thresholds=_qp_thresholds(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds(),
|
||||
qp_thresholds=_qp_thresholds_50_35(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds_40_25(),
|
||||
risk_standards=_risk_standards(),
|
||||
apm_incentive_pct=1.88,
|
||||
qp_cf_applies=True,
|
||||
citation="90 FR 49979-49980",
|
||||
citation=(
|
||||
"90 FR 49979-49980 (APM incentive, qp_cf_applies); "
|
||||
"thresholds: 89 FR 98564 (CY2024 PFS Final Rule), restated "
|
||||
"91 FR 44285-44286 (CMS-1848-P); CAA 2024 Sec. 304, 91 FR "
|
||||
"44219 (task #620)"
|
||||
),
|
||||
),
|
||||
2025: QppYear(
|
||||
# Under current law, payment year 2026 (performance year
|
||||
# 2024) was the last year with a lump-sum APM Incentive
|
||||
# Payment — NPRM 90 FR 32696, Final Rule 90 FR 49838.
|
||||
# Under prior law, payment year 2026 (performance year 2024)
|
||||
# was believed the last year with a lump-sum APM Incentive
|
||||
# Payment — NPRM 90 FR 32696, Final Rule 90 FR 49838. CAA 2026
|
||||
# subsequently revived a 3.1% incentive for payment year 2028
|
||||
# only (see QPP[2026]); payment year 2027 (this entry) still
|
||||
# has no incentive under any law reviewed.
|
||||
performance_year=2025,
|
||||
payment_year=2027,
|
||||
qp_thresholds=_qp_thresholds(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds(),
|
||||
qp_thresholds=_qp_thresholds_75_50(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds_50_35(),
|
||||
risk_standards=_risk_standards(),
|
||||
apm_incentive_pct=None,
|
||||
qp_cf_applies=True,
|
||||
citation="90 FR 49838",
|
||||
),
|
||||
2026: QppYear(
|
||||
# Payment year 2028: thresholds and apm_incentive_pct are
|
||||
# corrected (task #620) to reflect the Consolidated
|
||||
# Appropriations Act, 2026 (CAA 2026), which superseded the
|
||||
# CY2026 Final Rule's (accurate-at-the-time) 75%/50% QP,
|
||||
# 50%/35% Partial QP, no-incentive narrative. See module
|
||||
# docstring "CAA 2026 supersession" for the full citation
|
||||
# chain: 42 CFR 414.1430(a)(1)(iv)/(a)(3)(iv) "2028: 50
|
||||
# percent" / "35 percent" (QP), (a)(2)(iv)/(a)(4)(iv) "40
|
||||
# percent" / "25 percent" (Partial QP), and 414.1450(b)(1)(iv)
|
||||
# "2028: 3.1 percent" (APM incentive) — all 91 FR 44286,
|
||||
# CMS-1848-P amendatory text
|
||||
# (data/fr_downloads/2026-14327.txt:42550,42558,42568,42575,
|
||||
# 42632). This is a statutory, self-executing supersession;
|
||||
# eCFR's unconformed text does not control.
|
||||
performance_year=2026,
|
||||
payment_year=2028,
|
||||
qp_thresholds=_qp_thresholds(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds(),
|
||||
qp_thresholds=_qp_thresholds_50_35(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds_40_25(),
|
||||
risk_standards=_risk_standards(),
|
||||
apm_incentive_pct=None,
|
||||
apm_incentive_pct=3.1,
|
||||
qp_cf_applies=True,
|
||||
# Corrected from "90 FR 49928" alone: the QP threshold statement
|
||||
# itself is at 90 FR 49980 (see docstring pincite above); 49928
|
||||
# is retained alongside it since it's independently the source
|
||||
# for the Partial QP payment-amount confirmation (docstring
|
||||
# pincite, line 65021-65026).
|
||||
citation="90 FR 49928, 49980",
|
||||
citation=(
|
||||
"90 FR 49928, 49980 (CY2026 Final Rule narrative — "
|
||||
"accurate when published, since SUPERSEDED); corrected "
|
||||
"per CAA 2026 (Pub. L. 119-75), restated 91 FR 44218-44220, "
|
||||
"44285-44286 (CMS-1848-P) (task #620)"
|
||||
),
|
||||
# NPRM proposals per :pincite:`2KVJ2HKX` — CMS-1832-P, 90 FR
|
||||
# 32352, transcribed from data/fr_downloads/2025-13271.txt;
|
||||
# disposition from data/fr_downloads/2025-19787.txt.
|
||||
@@ -499,13 +634,24 @@ QPP: dict[int, QppYear] = {
|
||||
"beginning with the 2026 QP Performance Period (NPRM "
|
||||
"90 FR 32773). Finalized as proposed (Final Rule 90 FR "
|
||||
"49929: 'finalizing this policy as proposed'). "
|
||||
"QP/Partial QP thresholds: proposed no numeric change "
|
||||
"— thresholds remain 75%/50% (QP) and 50%/35% "
|
||||
"(Partial QP); see QPP[2026].qp_thresholds and the "
|
||||
"module docstring re: the NPRM's internally "
|
||||
"inconsistent RIA framing, corrected in the Final "
|
||||
"Rule (NPRM 90 FR 32772 vs 90 FR 32819; Final Rule 90 "
|
||||
"FR 49928). "
|
||||
"QP/Partial QP thresholds: CMS-1832-P proposed, and "
|
||||
"the Final Rule finalized, no numeric change from the "
|
||||
"then-current-law payment-year-2028 thresholds "
|
||||
"(75%/50% QP, 50%/35% Partial QP; see module "
|
||||
"docstring re: the NPRM's internally inconsistent RIA "
|
||||
"framing, corrected in the Final Rule — NPRM 90 FR "
|
||||
"32772 vs 90 FR 32819; Final Rule 90 FR 49928). That "
|
||||
"disposition was correct as of this rule's "
|
||||
"publication. It was SUBSEQUENTLY SUPERSEDED for "
|
||||
"payment year 2028 by the Consolidated Appropriations "
|
||||
"Act, 2026 (CAA 2026), which legislatively restored "
|
||||
"50%/35% QP, 40%/25% Partial QP and revived a 3.1% "
|
||||
"APM Incentive Payment for that year — see "
|
||||
"QPP[2026].qp_thresholds / partial_qp_thresholds / "
|
||||
"apm_incentive_pct (current law, task #620) and the "
|
||||
'module docstring "CAA 2026 supersession" section; '
|
||||
"do not read this CMS-1832-P disposition as a "
|
||||
"statement of current law. "
|
||||
"Nominal amount standards (42 CFR "
|
||||
"414.1415(c)(3)(i)(A)/(B)) and the CEHRT requirement "
|
||||
"(Sec. 414.1415(a)(i)): proposed no change — neither "
|
||||
@@ -546,8 +692,8 @@ QPP: dict[int, QppYear] = {
|
||||
# 30603-30606) -- split CF persists through payment year 2029.
|
||||
performance_year=2027,
|
||||
payment_year=2029,
|
||||
qp_thresholds=_qp_thresholds(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds(),
|
||||
qp_thresholds=_qp_thresholds_75_50(),
|
||||
partial_qp_thresholds=_partial_qp_thresholds_50_35(),
|
||||
risk_standards=_risk_standards(),
|
||||
apm_incentive_pct=None,
|
||||
qp_cf_applies=True,
|
||||
|
||||
@@ -156,7 +156,12 @@ class TestQpCfApplies:
|
||||
|
||||
|
||||
class TestApmIncentivePct:
|
||||
"""Lump-sum APM Incentive Payment sunsets after payment year 2026."""
|
||||
"""Lump-sum APM Incentive Payment: 5% (2019-2024), 3.5% (2025),
|
||||
1.88% (2026), then a gap for 2027 — but NOT a clean sunset: the
|
||||
Consolidated Appropriations Act, 2026 (CAA 2026) revived a 3.1%
|
||||
payment for payment year 2028 only (42 CFR 414.1450(b)(1)(iv), as
|
||||
amended by CMS-1848-P, 91 FR 44286), before the gap resumes for
|
||||
2029."""
|
||||
|
||||
def test_2023_incentive(self):
|
||||
assert QPP[2023].apm_incentive_pct == 3.5
|
||||
@@ -167,8 +172,15 @@ class TestApmIncentivePct:
|
||||
def test_2025_no_incentive(self):
|
||||
assert QPP[2025].apm_incentive_pct is None
|
||||
|
||||
def test_2026_no_incentive(self):
|
||||
assert QPP[2026].apm_incentive_pct is None
|
||||
def test_2026_incentive_revived_by_caa_2026(self):
|
||||
# Payment year 2028: CAA 2026 revived a 3.1% APM Incentive
|
||||
# Payment — 42 CFR 414.1450(b)(1)(iv), as amended by
|
||||
# CMS-1848-P, 91 FR 44286 (data/fr_downloads/
|
||||
# 2026-14327.txt:42632, "(iv) 2028: 3.1 percent."); narrative
|
||||
# at 91 FR 44218-44219 (2026-14327.txt:37389-37391, 37436).
|
||||
# This supersedes the CY2026 Final Rule's apm_incentive_pct
|
||||
# = None (90 FR 49838/49980).
|
||||
assert QPP[2026].apm_incentive_pct == 3.1
|
||||
|
||||
def test_2027_no_incentive(self):
|
||||
# Payment year 2029: 42 CFR 414.1450(b)(1) (as amended by
|
||||
@@ -227,22 +239,44 @@ class TestProposed2027:
|
||||
class TestSpecificValues:
|
||||
"""Verify transcribed QP/Partial QP thresholds and risk standards.
|
||||
|
||||
See task-6-report.md / task-7-report.md transcription tables for
|
||||
sourcing per value. QPP[2027] (payment year 2029) values are
|
||||
sourced from CMS-1848-P (91 FR 44260, 44285-44286) rather than the
|
||||
CY2026-cycle documents underlying 2023-2026 — see module
|
||||
docstring "CMS-1848-P (CY2027 PFS proposed rule) — QPP[2027]"."""
|
||||
Thresholds are keyed to PAYMENT YEAR by 42 CFR 414.1430(a), not QP
|
||||
Performance Period — see module docstring "Payment-year keying
|
||||
correction" (task #620). Payment years 2021-2026 (QPP[2023] pay
|
||||
2025, QPP[2024] pay 2026) and 2028 (QPP[2026], restored by CAA
|
||||
2026) sit at 50%/35% QP, 40%/25% Partial QP; payment years 2027
|
||||
and 2029+ (QPP[2025], QPP[2027]) sit at 75%/50% QP, 50%/35%
|
||||
Partial QP. See task-6-report.md / task-7-report.md for the
|
||||
original transcription tables and task-620-report.md for the
|
||||
correction."""
|
||||
|
||||
@pytest.mark.parametrize("year", [2023, 2024, 2025, 2026, 2027])
|
||||
def test_qp_thresholds(self, year):
|
||||
@pytest.mark.parametrize("year", [2025, 2027])
|
||||
def test_qp_thresholds_75_50(self, year):
|
||||
assert QPP[year].qp_thresholds.payment_amount_pct == 75.0
|
||||
assert QPP[year].qp_thresholds.patient_count_pct == 50.0
|
||||
|
||||
@pytest.mark.parametrize("year", [2023, 2024, 2025, 2026, 2027])
|
||||
def test_partial_qp_thresholds(self, year):
|
||||
@pytest.mark.parametrize("year", [2023, 2024, 2026])
|
||||
def test_qp_thresholds_50_35(self, year):
|
||||
# 42 CFR 414.1430(a)(1)(ii)/(a)(3)(ii) "2021 through 2026: 50
|
||||
# percent" / "35 percent" (91 FR 44285); (a)(1)(iv)/(a)(3)(iv)
|
||||
# "2028: 50 percent" / "35 percent" (91 FR 44286) — CAA 2026
|
||||
# for QPP[2026]/payment year 2028.
|
||||
assert QPP[year].qp_thresholds.payment_amount_pct == 50.0
|
||||
assert QPP[year].qp_thresholds.patient_count_pct == 35.0
|
||||
|
||||
@pytest.mark.parametrize("year", [2025, 2027])
|
||||
def test_partial_qp_thresholds_50_35(self, year):
|
||||
assert QPP[year].partial_qp_thresholds.payment_amount_pct == 50.0
|
||||
assert QPP[year].partial_qp_thresholds.patient_count_pct == 35.0
|
||||
|
||||
@pytest.mark.parametrize("year", [2023, 2024, 2026])
|
||||
def test_partial_qp_thresholds_40_25(self, year):
|
||||
# 42 CFR 414.1430(a)(2)(ii)/(a)(4)(ii) "2021 through 2026: 40
|
||||
# percent" / "25 percent" (91 FR 44285-44286); (a)(2)(iv)/
|
||||
# (a)(4)(iv) "2028: 40 percent" / "25 percent" (91 FR 44286) —
|
||||
# CAA 2026 for QPP[2026]/payment year 2028.
|
||||
assert QPP[year].partial_qp_thresholds.payment_amount_pct == 40.0
|
||||
assert QPP[year].partial_qp_thresholds.patient_count_pct == 25.0
|
||||
|
||||
@pytest.mark.parametrize("year", [2023, 2024, 2025, 2026, 2027])
|
||||
def test_risk_standards(self, year):
|
||||
# Revenue-based standard (42 CFR 414.1415(c)(3)(i)(A)) is
|
||||
|
||||
Reference in New Issue
Block a user