If you are trying to determine which days of the week your practice is most productive or which operatories are sitting empty, you need a clear view of your appointment data. This open dental operatory utilization query provides a breakdown of scheduled appointments by day of the week and operatory, helping you make informed decisions about staffing and scheduling.
The Query
Copy and paste the following code into your User Query window. You can adjust the StartDate and EndDate variables to analyze any time period you choose.
SET @StartDate = '2026-01-01';
SET @EndDate = '2026-03-31';
SELECT
DAYNAME(a.AptDateTime) AS 'DayOfWeek',
o.OpName AS 'Operatory',
COUNT(a.AptNum) AS 'TotalAppointments'
FROM appointment a
INNER JOIN operatory o ON a.Op = o.OperatoryNum
WHERE a.AptDateTime >= @StartDate
AND a.AptDateTime <= @EndDate
AND a.AptStatus IN (1, 2) -- 1=Scheduled, 2=Complete
AND o.IsHidden = 0
GROUP BY DAYNAME(a.AptDateTime), o.OpName
ORDER BY FIELD(DAYNAME(a.AptDateTime), 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'), o.OpName;
How to Run This Query
- In Open Dental, go to Reports in the Main Menu.
- Click User Query.
- Paste the query provided above into the large text box.
- Click Submit Query.
- The results will display in the grid below, showing you the appointment counts grouped by day and operatory.
Understanding the Results
- DayOfWeek: The day of the week the appointment occurred or was scheduled.
- Operatory: The name of the operatory as defined in your Setup > Appointments > Operatories list.
- TotalAppointments: The total number of appointments (both completed and currently scheduled) assigned to that specific operatory on that day of the week within your selected date range.
How to Customize
- Change the Date Range: Modify the two lines at the top of the query. For example, change
'2026-01-01'to'2026-04-01'to start your analysis from April 1st. - Filter by Clinic: If you have multiple locations, add a line to the
WHEREclause to filter by a specific clinic. AddAND a.ClinicNum = 1(replace1with your specific Clinic Number). - Filter by Provider: To see utilization for a specific provider, add
AND a.ProvNum = Xto theWHEREclause, replacingXwith the provider's number.
Variations
If you want to focus specifically on hygiene utilization, you can add a filter to the WHERE clause:AND a.IsHygiene = 1
If you want to exclude broken or cancelled appointments to see only "real" utilization, ensure the AptStatus filter remains set to 1 (Scheduled) and 2 (Complete).
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.