Ind. Physician Xwalk PGs
For Employer / Network Check Use
Problem​
Sixty-five percent of Network Check's repriced claims are professional claims associated with individual physicians, single/multi-specialty physician groups, or physician group affiliated entities. But individual physicians are not in Clear Rates or Core Rates, so Network Check needs to hit compressed schema.
This is not great because (a) Network Check is unable to leverage the transformations, accuracy, and imputations logic in Clear Rates for these providers. And (b) querying compressed schema is a computational bottleneck.
PGs in Clear Rates​
In v2.1.0 (tq_dev.internal_dev_csong_cld_v2_0_0.prod_combined_abridged), we
have added over 10k physician groups. We have also created a mapping of individual
physicians to these physician groups: tq_intermediate.cld_utils.employer_hcp_npi_provider_id_xwalk.
The Crosswalk​
.employer_hcp_npi_provider_id_xwalk is a one-to-many mapping of type 1 NPI to
physician group. This is because an individual physician can be associated with
multiple physician groups. We identify a primary physician group where possible
and set best_pg = true.
Primary Physician Group Identification​
The goal is to identify a primary physician group for each individual NPI using Komodo encounters.
Komodo encounters tell us the affiliation between HCP and HCO (e.g. the hospital), but not the affiliation between HCP and physician group.
So we identify the following:
- The HCO with the most encounters for the individual NPI.
- The HCO with closest affiliation to the physician group where the individual NPI is a member.
- Use jaccard similarity between individual NPIs with encounters at the HCO and individual NPIs that are members of the physician group
- Assign the individual NPI to the physician group with the highest jaccard similarity score.
In the example below, we would map the individual to the blue PG, since it is the PG mostly closely affiliated with the HCO where the individual has the most encounters.

When there is not PG with best_pg = true, it is likely because the PGs are
standalone entities or because we do not have claims.
You can still use the individual NPI to look up the provider_id in Clear Rates, using some aggregation (max, median, avg) to get a single rate.