# Hospital Identity Crosswalk — CCN ↔ NPI ↔ EIN bridge

`vlada_curated.dim_hospital_external` · Provider identity · status live

The hospital identity crosswalk that joins the commercial (NPI), hospital (CCN), and tax-entity (EIN) namespaces. The employer agent uses it to resolve EIN/tax-id → CCN when a claim line has no usable NPI, and the county/flywheel tools use it for CCN↔NPI dedup. Distinct from dim_hospital_identity (the broader hospital spine); this is the external-id bridge specifically.

**Grain.** One row per hospital identity, keyed by CCN, carrying the resolved NPI and (where recovered) EIN.

| column | type | meaning |
|---|---|---|
| ccn | string |  |
| npi | string |  |
| ein | string |  |
| hospital_name | string |  |
| state_code | string |  |
| cbsa_code | string |  |
| county_fips | string |  |
| county_name | string |  |
| chain_parent_id | string |  |
| parent_ccn | string |  |
| ownership_type | string |  |
| teaching_status | string |  |
| urban_rural | string |  |
| facility_type | string |  |
| bed_count | int |  |
| latitude | double |  |
| longitude | double |  |
| street_address | string |  |
| city | string |  |
| zip_code | string |  |
| mrf_url | string |  |
| mrf_status | string |  |
| curated_version | string |  |
| is_main_campus | boolean |  |
| exported_at | string |  |
| npi_source | string |  |
| npi_evidence_class | string |  |
| npi_confidence | string |  |
| npi_tier_count | int |  |
| npi_registry_value | string |  |
| npi_file_value | string |  |
| npi_conflict | string |  |
| ein_source | string |  |
| ein_evidence_class | string |  |
| pac_id | string |  |
| pac_id_source | string |  |
| contamination_status | string |  |
| roster_status | string |  |
| source_vintage | string |  |
| builder_version | string |  |

Tools that read it: resolve_provider

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