# CMS Medicare Part B Discarded Drug Units (JW/JZ waste)

`drug_silver.fact_drug_discarded_units` · Drugs and formularies · status live · 824 rows

CMS Medicare Part B Discarded Drug Units — per drug HCPCS the total Medicare allowed amount split into administered vs discarded, plus % administered/ discarded units. The drug-WASTE / IRA single-dose-vial refund overpayment vector — join to ASP to value waste and surface JW-refund recovery.

**Grain.** One row per (data_year, HCPCS) — administered vs discarded allowed amount + % units.

| column | type | meaning |
|---|---|---|
| data_year | int |  |
| hcpcs_cd | string |  |
| brand_name | string |  |
| generic_name | string |  |
| tot_medicare_allowed_amt | double |  |
| tot_allowed_administered_amt | double |  |
| tot_allowed_discarded_amt | double |  |
| pct_administered_units | double |  |
| pct_discarded_units | double |  |
| observed_period | date |  |
| asserted_at | date |  |
| effective_period_start | date |  |
| effective_period_end | date |  |
| cms_vintage_sequence | int |  |
| parse_revision | int |  |
| parser_artifact_hash | string |  |
| source_url | string |  |
| sha256_content_hash | string |  |
| source_id | string |  |
| is_current | boolean |  |
| bronze_object_key | string |  |
| s3_version_id | string |  |
| vintage_tag | string |  |
| drug_source_version_id | string |  |

Query it: `query_substrate` with `SELECT ... FROM drug_silver.fact_drug_discarded_units WHERE ... LIMIT 100`; read `describe_data_source("drug_silver.fact_drug_discarded_units")` first.
