Skip to main content
Version: 3.0

Adding Providers

Clear Rates draws providers from tq_production.spines.* tables. If a provider isn't in Spines, the Spines team must add it first.

Decision Tree

Does this provider need action?
Does a Spine exist for this provider type? If no spine table exists for this provider type in tq_production.spines.*, contact the Spines team to create a new spine table before proceeding.
Is this provider already in the spine? If the spine table exists but the specific provider isn't in it, contact the Spines team to add the provider. Clear Rates reads whatever is in the spine — it cannot add providers itself.
Does this provider type already exist in Clear Rates? If yes, no action is needed. The provider will auto-appear in the next Clear Rates refresh once they're in the spine. If no, the Clear Rates team must add the provider type (see below).
Does a Spine exist for this provider type? ❌ No → Contact Spines team to create a new spine table ✅ Yes ↓ Is this provider already in the spine? ❌ No → Contact Spines team to add the provider to the spine ✅ Yes ↓ Does this provider type already exist in Clear Rates? ✅ Yes → No action needed; provider auto-appears in next Clear Rates refresh ❌ No → Clear Rates team must add the provider type (edit code.sql, rate_object_space.sql, plausibility tables; use /add-provider-type skill)

Why Most Providers Require No Action

Provider spines are rebuilt from scratch each Clear Rates run by reading from tq_production.spines.* tables. Once a provider is in Spines and their provider type is already enrolled in Clear Rates, they appear automatically in the next run — no manual Clear Rates change required.

provider_types Parameter

The sub-DAG accepts a provider_types parameter that controls which provider types are included in a given run. The default list includes 8 types:

Provider TypeSource Spine TableSpecial HandlingPlausibility Required?
Hospitaltq_production.spines.hospital_spinesLookback runs include Hospital onlyNo
ASCtq_production.spines.asc_spinesExcluded when lookback_run=TrueYes (AmSurg + service flags)
Physician Grouptq_production.spines.physician_group_spinesExcluded when lookback_run=True; EIN/NPI evidence requiredYes (core_rates evidence)
Laboratorytq_production.spines.lab_spinesExcluded when lookback_run=TrueNo
Imagingtq_production.spines.imaging_spinesExcluded when lookback_run=TrueNo
Dialysistq_production.spines.dialysis_spinesExcluded when lookback_run=TrueNo
DMEtq_production.spines.dme_spinesExcluded when lookback_run=TrueYes (DME plausibility filter)
Urgent Caretq_production.spines.urgent_care_spinesExcluded when lookback_run=TrueNo

When lookback_run=True, only Hospital is included. This is used for historical backfill runs where non-hospital coverage is not needed.

Manual PG Additions

Physician Group providers may need to be added manually in some cases:

  • Provider is missing from Spines (recently formed group, pending Spines team addition)
  • DPR+ missing providers that have known TIN/NPI data
  • Synthetic PGs constructed for specific contracting relationships

Manual additions are appended in the provider_manual_additions task after the main provider spine is built. Each row must include all required provider spine columns, including a valid provider_type and at least one NPI in the provider_npi_array.

note

The /add-provider-type skill walks through all required changes when adding a brand-new provider type that has never existed in Clear Rates before — including code.sql, rate_object_space.sql, plausibility tables, and accuracy scoring rules.