# CMS Medicare FFS Public Provider Enrollment (PECOS NPI↔enrollment bridge)

`medicare_silver.fact_pecos_enrollment` · Provider identity · status live · 2,981,799 rows

The CMS Medicare Fee-For-Service Public Provider Enrollment registry — one row per PECOS enrollment linking NPI ↔ enrollment_id (ENRLMT_ID) ↔ associate_id (PECOS_ASCT_CNTL_ID), with provider type and name. THE bridge that resolves fact_provider_ownership (keyed on enrollment_id / owner_associate_id) to a provider NPI — closing the ownership→NPI gap. ~2.98M enrollments / 2.56M NPIs.

**Grain.** One row per Medicare enrollment (enrollment_id) — NPI + associate_id + provider type.

| column | type | meaning |
|---|---|---|
| state | string |  |
| npi | string |  |
| enrollment_id | string |  |
| associate_id | string |  |
| multiple_npi_flag | string |  |
| provider_type_code | string |  |
| provider_type_desc | string |  |
| first_name | string |  |
| middle_name | string |  |
| last_name | string |  |
| org_name | 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 |  |

Tools that read it: resolve_provider

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