opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.

Find Patients With No Primary Provider Assigned

SQL Queries3 min read4/2/2026

If you have noticed gaps in your reporting or billing statements, you may have active patients who were never assigned a primary provider. Running an open dental no provider assigned query allows you to quickly identify these records so you can update them and ensure your practice data remains accurate.

The Query

This query identifies all active patients who do not have a primary provider assigned in their Family Module.

/* Query to find active patients with no primary provider assigned */
SELECT 
    PatNum, 
    LName, 
    FName, 
    HmPhone, 
    Email 
FROM patient 
WHERE PatStatus = 0 
AND (PriProv = 0 OR PriProv IS NULL);

How to Run This Query

  1. In Open Dental, go to Reports in the Main Menu.
  2. Click User Query.
  3. Paste the query provided above into the large text box.
  4. Click Submit Query.
  5. The results will display in the grid below, showing the patient ID, name, and contact information for anyone missing a provider.

Understanding the Results

How to Customize

If you want to narrow your search to a specific clinic (if you use the Clinics feature), you can add a filter to the query. Change the last line to include your specific ClinicNum:

/* Example: Filter by a specific clinic */
SELECT PatNum, LName, FName, HmPhone, Email 
FROM patient 
WHERE PatStatus = 0 
AND (PriProv = 0 OR PriProv IS NULL)
AND ClinicNum = 1;

(Replace 1 with the actual ClinicNum used in your practice.)

Variations

If you want to see only patients who have been seen in the office before (to prioritize those with history), you can join the procedurelog table to ensure they have at least one completed procedure:

/* Variation: Only active patients with history and no provider */
SELECT DISTINCT p.PatNum, p.LName, p.FName 
FROM patient p
INNER JOIN procedurelog pl ON p.PatNum = pl.PatNum
WHERE p.PatStatus = 0 
AND (p.PriProv = 0 OR p.PriProv IS NULL)
AND pl.ProcStatus = 2;

Skip the Query — Use DentalCanvas Instead

Don't want to write SQL? DentalCanvas connects to your Open Dental database and shows you this data automatically in a visual dashboard — no queries required.


This article is provided by opendentalsupport.com, an independent community resource. We are not affiliated with Open Dental Software, Inc.

Stop Writing SQL.

DentalCanvas connects directly to your Open Dental database and shows you production, collections, scheduling, and more — in a visual dashboard you can understand at a glance. No queries. No exports. Just answers.

Try DentalCanvas

Was this article helpful?

Related Articles

opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.