# Part D tier coverage in the coverage gap (GAP_COV_TIER), CMS SPUF sidecar, 2019-Q1 to 2024-Q3

`drug_silver.fact_part_d_plan_cost_share_gap_coverage` · Drugs and formularies · status live · 3,933,149 rows

Whether each cost-sharing tier of a Part D plan is covered in the coverage gap: gap_cov_tier 1 = fully covered, 2 = partially covered, 3 = not covered (PUFRecordLayout-2024), from the GAP_COV_TIER field of the quarterly SPUF beneficiary cost file, which the original SPUF parser never read. A sidecar of drug_silver.fact_part_d_plan_cost_share: join on (contract_id, plan_id, segment_id, coverage_level, tier, days_supply, report_quarter) to the parent's is_current = true rows (in vw_fact_part_d_plan_cost_share_v3 the days_supply column is days_supply_code). Every sidecar row joins exactly one parent row and every parent row in 2019-Q1..2024-Q3 has one. 3,933,149 rows in 23 quarters: 753,954 fully, 139,770 partially, 3,039,425 not covered, 0 NULL (Athena 0f3b8f11).

**Grain.** One row per (report_quarter, contract_id, plan_id, segment_id, coverage_level, tier, days_supply), the key of drug_silver.fact_part_d_plan_cost_share.

| column | type | meaning |
|---|---|---|
| contract_id | string |  |
| plan_id | string |  |
| segment_id | string |  |
| coverage_level | int |  |
| tier | int |  |
| days_supply | int |  |
| gap_cov_tier | int |  |
| report_quarter | string |  |
| 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_part_d_plan_cost_share_gap_coverage WHERE ... LIMIT 100`; read `describe_data_source("drug_silver.fact_part_d_plan_cost_share_gap_coverage")` first.
