# Part D formulary exclusion list (CMS SPUF)

`drug_silver.fact_drug_formulary_excluded` · Drugs and formularies · status live · 355,140 rows

Plan-level explicit drug-exclusion list from CMS SPUF, with tier, prior-auth, step-therapy, quantity-limit, and capped-benefit flags. The cross-cut "which plans exclude drug X / how the exclusion list grew" lens.

**Grain.** One row per (contract_id, plan_id, drug_identifier, drug_identifier_type, report_quarter).

| column | type | meaning |
|---|---|---|
| contract_id | string |  |
| plan_id | string |  |
| drug_identifier | string |  |
| drug_identifier_type | string |  |
| report_quarter | string |  |
| tier | int |  |
| quantity_limit_yn | boolean |  |
| quantity_limit_amount | double |  |
| quantity_limit_days | int |  |
| prior_auth_yn | boolean |  |
| step_therapy_yn | boolean |  |
| capped_benefit_yn | boolean |  |
| 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_formulary_excluded WHERE ... LIMIT 100`; read `describe_data_source("drug_silver.fact_drug_formulary_excluded")` first.
