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.

Provider Schedule Utilization Query

SQL Queries3 min read4/7/2026

If you are struggling to understand how effectively your providers are utilizing their time, this open dental schedule utilization query will help you identify gaps in your daily production. By analyzing appointment patterns against completed procedures, you can see exactly how much time is being booked versus how much is actually being utilized.

The Query

This query calculates the total time units scheduled for a provider and compares it against the number of completed procedures within a specific date range.

SET @FromDate = '2026-01-01';
SET @ToDate = '2026-03-31';

SELECT 
    p.Abbr AS Provider,
    COUNT(a.AptNum) AS TotalAppointments,
    SUM(LENGTH(a.Pattern) / 2) AS TotalTimeUnits,
    (SELECT COUNT(*) 
     FROM procedurelog pl 
     WHERE pl.ProvNum = p.ProvNum 
     AND pl.ProcDate BETWEEN @FromDate AND @ToDate 
     AND pl.ProcStatus = 2) AS CompletedProcedures
FROM appointment a
INNER JOIN provider p ON a.ProvNum = p.ProvNum
WHERE a.AptDateTime BETWEEN @FromDate AND @ToDate
AND a.AptStatus = 2 -- Only completed appointments
GROUP BY p.ProvNum
ORDER BY TotalTimeUnits DESC;

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 the text box.

Understanding the Results

How to Customize

You can easily adjust this report to fit your specific needs by modifying the first few lines of the code:

Variations

If you want to focus specifically on hygiene utilization, you can filter the appointments to only include those marked as hygiene:

-- Add this line to the WHERE clause
AND a.IsHygiene = 1

If you want to see which providers have the highest volume of "Broken" appointments to identify scheduling inefficiencies, change a.AptStatus = 2 to a.AptStatus = 5.

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.