Resolving Physicians to Employers: NPI Entity Resolution and Frozen Reference Tables
Challenge
The platform needed to match individual physicians to organizational employer profiles using aggregated claims data, but the underlying provider data was organizationally messy: one real-world entity shows up as many NPIs and addresses, and claims blur site-of-service against rendering-provider relationships. On top of that, the procedure and diagnosis codes carried no clean reference classifications, so there was no defensible way to weight or describe what a physician actually does. The matching decision had to be auditable and repeatable, because it sits underneath a product claim about where a physician works.
Approach
We separated the two problems that were tangled together: resolving entities, and classifying the work those entities perform. AI did the reading and the language at build time (interpreting code descriptions, drafting classification logic, and structuring taxonomies), and every decision that the product depends on runs as deterministic, versioned reference tables and rules. Nothing in the matching or classification path calls a model at runtime.
- Defined an NPI rollup and organizational-entity framework: Type 1 versus Type 2 NPIs, site-of-service versus rendering provider, and address-based aggregation to collapse one entity’s many identifiers.
- Specified a deterministic-versus-probabilistic matching design with explicit confidence scoring, so high-certainty matches resolve by rule and ambiguous cases are scored rather than guessed.
- Built a validation test framework so the entity-resolution and classification logic can be checked against expected results as the data refreshes.
- Built reference-data pipelines from the client’s cloud warehouse producing a procedure-complexity table, a procedure-type taxonomy (surgical, interventional, therapeutic, and so on), and CCSR diagnosis classification (21 body systems, 506 categories).
- Froze the classification logic as deterministic reference tables and shipped the build scripts to the client’s repo, so the same inputs always produce the same output.
Impact
- Raised volume-weighted procedure-complexity coverage from 65.7% to 99.5% across a roughly 102K-code reference table, so the vast majority of real claims volume now carries a complexity value rather than a gap.
- Raised procedure-type coverage to 99.6% over the same reference table.
- Delivered the reference tables to the client’s repo with build scripts: an approximately 113K-row complexity table, an approximately 128K-row type table, and national volumes, so the client can rebuild and audit them independently.
- Produced an OR and surgical-case filter identifying 79,020 true procedural codes, giving the platform a defensible boundary for what counts as a procedure.
- Structured the entity-resolution method (NPI rollup, site-of-service versus rendering provider, confidence scoring) and a validation test framework, providing a repeatable path for matching rather than a one-time pass. (Confidence thresholds are tuned against the client’s own validation data over time.)
- Kept the proprietary classification rules and AI prompts protected as firm IP while sharing clean, inspectable reference data, so the client owns usable data without our build-time method leaking into it.
Capabilities demonstrated
- Provider entity resolution at NPI scale (Type 1 versus Type 2, site-of-service versus rendering provider, address-based rollup).
- Deterministic-versus-probabilistic matching design with explicit confidence scoring and a validation test framework.
- Reference-data engineering from a client cloud warehouse, delivered as versioned tables plus reproducible build scripts.
- Procedure complexity and type taxonomies, and CCSR diagnosis classification (21 body systems, 506 categories), frozen as deterministic tables.
- A disciplined IP boundary: ship clean reference data to the client, keep the classification rules and prompts as firm IP.
Anonymized by design: client names stay off the narrative per our reference policy. Figures that are modeled, small-sample, or targets are identified as such above.