Last summer a regional DSO came to us with a problem that, on the surface, sounded like a software question. They had 12 dental locations across 4 states, 47 active providers, and a master credentialing spreadsheet maintained by a single office manager. Q3 they were planning to onboard 18 new hygienists across all 4 states. Could we help them “automate the spreadsheet”?
The honest answer was: the spreadsheet wasn’t the problem. The mental model was. They were tracking credentialing one column per payer, one row per provider — which is exactly how every credentialing service organizes their work. But it’s the wrong shape for a DSO. At DSO scale, credentialing isn’t a payer-by-payer task; it’s a provider-by-payer-by-location task, and the dimension that breaks most teams is the location dimension.
The shape of DSO credentialing
A solo dental practice has one dimension: payer. Each provider in the practice gets enrolled with each payer once. Done.
A two-location practice in one state still has one dimension — they’re billing under one TIN, payers see them as one entity. Add a third location in a second state and now there are two TINs, two state license requirements, two state programs (e.g., Denti-Cal if California is one of them), and the credentialing matrix doubles.
Our 12-location DSO had:
- 4 states (CA, NV, AZ, OR)
- 4 separate billing TINs
- 47 providers, each with up to 12 location enrollments (some providers floated)
- ~18 unique payers including state Medicaid programs (Denti-Cal in California, AHCCCS in Arizona, etc.)
The full credentialing matrix wasn’t 47 × 18 = 846. It was 47 providers × 18 payers × ~3 locations on average = roughly 2,500 distinct enrollment records. Their spreadsheet had 47 rows.
What the spreadsheet missed
When the office manager added a new hygienist, she added one row. That row had columns for Delta Dental, Aetna, Cigna, etc. — each marked “pending” or “in progress.”
What it didn’t capture:
- Which of the 12 practice locations the hygienist was credentialed at (and which she was about to start floating to next quarter).
- Whether the new state license issued in Arizona had been added to CAQH and pushed to all Arizona-billing payers.
- Whether the existing Delta Dental enrollment in California was transferable to the Nevada location TIN, or required a fresh enrollment under the Nevada TIN.
- Re-credentialing windows for the existing 47 providers — three of them expired during the Q3 push and nobody noticed until Aetna denied a claim 60 days later.
The rebuild: provider-payer-location, not provider-payer
We re-architected the credentialing workflow around three entities, not two:
- Provider: the dentist or hygienist. Owns CAQH profile, individual NPI, malpractice, license(s).
- Practice entity: the legal billing entity (TIN + location address + Type 2 NPI). Each state can have one or more practice entities.
- Payer relationship:the (provider × practice entity × payer) tuple. This is the thing that’s actually credentialed.
When a new provider is added, the system enumerates which practice entities they’ll bill at, then generates one enrollment record per (entity × payer) pair. When a provider starts floating to a new location, the system flags every payer relationship that doesn’t yet exist for the new entity and queues those enrollments automatically.
When a license, malpractice policy, or CAQH attestation is about to expire, the system fans the alert out to every payer relationship that depends on it — not just the provider.
Re-credentialing: the silent revenue leak
The most expensive thing the spreadsheet missed wasn’t new enrollments — it was re-credentialing. Most dental payers require re-credentialing every 24–36 months. The provider stays enrolled, but the payer needs updated CAQH attestation, current malpractice, and a fresh license verification.
Miss the window and the payer drops the provider from in-network status without warning. The practice keeps billing. Claims keep getting paid for 30–60 days. Then the payer reconciles, claws back the in-network reimbursement difference, and now there’s a $40,000 hole in last quarter’s revenue from one provider at one location with one payer.
Across our 12-location DSO’s 2,500 enrollment records, we found 11 expired re-credentialings during the audit — averaging $18,000 in clawback exposure each.
What the Q3 hygienist push actually looked like
With the rebuilt workflow, here’s what the 18-hygienist onboarding looked like:
- Day 1: All 18 hygienists onboarded in OneExpert. CAQH profiles initialized, supporting documents uploaded once per provider.
- Days 2–4: AI generated and submitted ~340 payer applications (18 hygienists × ~3 locations × ~6 active payers per location set), all in parallel.
- Week 4: First Cigna and Humana approvals landing.
- Week 8: Median provider had 4 of 6 payers active.
- Week 12: 89% of (provider × location × payer) relationships in-network.
- Week 16: Final stragglers (mostly state Medicaid) landing.
Compared to the previous quarter’s 6-hygienist onboarding, which took 9 months to fully credential and required 70+ hours of office-manager time, the new workflow finished 3× the volume in half the calendar time, with effectively zero office-manager time beyond document collection.
If you’re building a DSO credentialing process
- Track (provider × location × payer), not (provider × payer). The location dimension is where most teams break.
- Build re-credentialing alerts before you onboard your second location. A 24-month window comes faster than expected.
- Centralize document storage at the provider level, not per enrollment. Same malpractice document supports 30 enrollments.
- Automate the provider-floats-to-new-location workflow. It will happen more than you think.
- Audit existing enrollments quarterly for expired re-credentialing. Don’t wait for the clawback letter.