Skip to main content
Version: 3.0

Geographic Matching

Payers are paired with providers via geographic matching. A payer-provider pair only enters the ROS if they have geographic overlap — or if either is "national."

Matching Logic

rate_object_space.sql — geographic join predicate
-- Payer-provider pairs are included when ANY of these conditions holds:
INNER JOIN ref_payers p
ON (
-- 1. Payer covers all states (national network)
CONTAINS(p.network_state, 'NATIONAL')

-- 2. Payer's state list includes the provider's state
OR CONTAINS(p.network_state, pr.state)

-- 3. Provider's CBSA falls within a state the payer covers
OR pr.cbsa IN (
SELECT cbsa_id
FROM state_cbsa sc
WHERE CONTAINS(p.network_state, sc.state_abbreviation)
)

-- 4. Provider explicitly accepts all national payers
OR pr.national_payer_coverage = True
)

network_state is an ARRAY of state abbreviations (e.g., ['IL', 'WI', 'MN']) or ['NATIONAL']. CONTAINS checks whether the array includes the given string.

Matching Scenarios

ScenarioMatching ruleExample
National payerCONTAINS(network_state, 'NATIONAL')UHC, Aetna, Cigna
State-specific payerCONTAINS(network_state, provider.state)BCBS IL matches only IL providers
CBSA overlapProvider's CBSA maps to a state the payer coversKaiser CA — provider's CBSA in CA, payer covers CA
National-coverage providernational_payer_coverage = TrueQuest Diagnostics, LabCorp
Exchange networksHospital only (except NYC Essential Plan)ACA marketplace plans

Walkthrough — BCBS IL vs. UHC

How geographic matching differs for state vs. national payers
BCBS IL (state-specific): network_state = ['IL']. A provider in Springfield, IL (state = 'IL') passes the CONTAINS check. A provider in Indianapolis, IN fails — no ROID is minted for that pair.
UHC Choice Plus (national): network_state = ['NATIONAL']. The CONTAINS(network_state, 'NATIONAL') check passes for every provider regardless of state. All provider-payer combinations enter the ROS.
Quest Diagnostics (national-coverage provider): national_payer_coverage = True. Quest accepts all national payers. Even a state-specific payer whose state list doesn't include Quest's lab location will still be paired with Quest.
Geographic matching is the first and largest reduction step in ROS construction — typically eliminating ~80% of potential payer-provider pairs before code plausibility even runs.
note

network_state comes from network_mappings.py. When defining a state-specific network, set states explicitly:

('643', ['CHOICE PLUS STATE'], 'UHC Choice Plus IL', ['IL'])

National networks use [None] (which the pipeline converts to ['NATIONAL']).