Medicare Part B Discarded Drug Units
Dataset ID: partb-discarded-units ·
← Back to Methodology Hub
Provenance
- Dataset ID
partb-discarded-units- Entity Type
- drug
- Role
- enrichment
- Source
- CMS
- Vintage
- CY2023
- Entity Count
- —
- Last ETL Run
- 2026-04-13
Overview
The Medicare Part B Discarded Drug Units dataset is published by CMS on data.cms.gov as part of the Medicare Drug Spending dashboard. It reports waste from single-dose vials of physician-administered drugs covered under Medicare Part B, quantified by Medicare allowed amounts, discarded amounts, and the percentage of billing units discarded per HCPCS code. Each row represents one drug identified by HCPCS code, brand name, and generic name. The current file covers the CY2023 reporting year.
This dataset answers questions such as: which physician-administered drugs have the highest discard rates, how much Medicare spending is attributable to single-dose vial waste, and which drugs have the largest gap between vial size and typical patient dose. CMS uses this data to calculate manufacturer refunds under Inflation Reduction Act Section 11101, which requires manufacturers to refund Medicare for discarded amounts exceeding a threshold percentage of total allowed charges. Discarded drug reporting is driven by the JW modifier (indicating discarded drug, required since 2017) and the JZ modifier (indicating no drug was discarded, required since 2023). Discarded amounts are expressed in billing-unit equivalents, not physical volume — the financial impact of waste depends on the drug's Average Sales Price (ASP).
Join Strategy
This dataset joins to drug entity pages on CareGraph using the generic name field (Gnrc_Name), uppercased and whitespace-trimmed during ETL. The _load_discarded_data() function in etl/build/build_drugs.py reads the source CSV and groups rows by uppercased generic name. Each row also carries an HCPCS code (HCPCS_Cd) and brand name, which are preserved in the manifest as per-HCPCS detail records under data.discarded_units.details. The join to drug entities is a string match on generic name — the same key used by the Part D and Part B spending datasets. The ETL aggregates total allowed amount (Tot_Mdcr_Alowd_Amt) and total discarded amount (Tot_Mdcr_Alowd_Dscrd_Amt) across all HCPCS codes for a given generic name, and computes an overall discard percentage as total discarded divided by total allowed. Drug entity pages are generated from the Part D dataset as the primary entity list; discarded unit data is attached only when a matching generic name exists in Part D. Drugs that appear in the discarded units dataset but have no Part D counterpart do not generate entity pages.
Known Limitations
- JW/JZ modifier compliance is incomplete. Discarded unit data depends on providers correctly billing the JW modifier when discarding drug. Facilities that fail to append JW modifiers do not appear in this dataset. Absence of a drug or provider from the data may reflect non-reporting rather than zero waste. The JZ modifier (indicating no waste) was not required until 2023, so pre-2023 data has a systematic undercount of zero-waste claims.
- Medicare fee-for-service only. The dataset covers only Original Medicare (fee-for-service) claims. Drugs administered to Medicare Advantage enrollees are excluded, as MA plans do not generate fee-for-service claims. In markets with high MA penetration, reported waste understates total Medicare drug waste.
- Single-dose vials only. The dataset tracks waste from single-dose vials. Multi-dose vials, which may also generate waste, are not subject to JW modifier billing and are excluded. This understates total drug waste for drugs commonly dispensed in multi-dose containers.
- Small-cell suppression. CMS suppresses records with fewer than 11 claims to protect patient privacy. This removes rare drugs, newly launched therapies, and drugs with very low utilization from the file.
- Discard rates reflect vial size, not clinical inefficiency. High discard percentages are primarily driven by limited vial size options relative to common dosing regimens, not by provider behavior. A drug with a single large vial size and weight-based dosing will show high waste regardless of how carefully providers manage inventory.
- No geographic or provider-level detail. The dataset is national-level, aggregated across all providers. Geographic variation in waste patterns and individual facility performance are not visible.
Data Quality Notes
- Generic-name string matching is fragile. The join key is an uppercased generic name string, not a coded identifier like NDC or RxCUI. Spelling variations, salt-form differences (e.g., "BEVACIZUMAB" vs. "BEVACIZUMAB-BVZR"), and combination drug naming conventions can cause the same molecule to fail matching across Part B discarded, Part B spending, and Part D spending datasets.
- Numeric fields may contain non-numeric values. The source CSV encodes suppressed or missing values as text markers (empty strings, "N/A", ".", "*", "-"). The ETL
_try_float()function coerces these to null. Fields with dollar signs, commas, and percent signs are stripped before parsing. - Discarded amounts are billing-unit equivalents. The Tot_Mdcr_Alowd_Dscrd_Amt field represents the Medicare allowed dollar amount for discarded units, not a physical quantity (milligrams or milliliters). Comparing discard amounts across drugs requires normalizing by ASP to obtain physical waste estimates.
- Entity coverage is a subset of drug entity pages. Drug entity pages are generated from the Part D dataset as the primary entity list. Discarded unit data is attached only when a matching generic name exists in Part D. Drugs billed exclusively under Part B (with no Part D counterpart) do not have entity pages on CareGraph and their waste data is not displayed.