If you need to see exactly how much production is scheduled for tomorrow to prepare for your morning huddle, this report provides the data instantly. This open dental scheduled production query pulls a list of all patients, their procedures, and the associated fees for the upcoming day.
The Query
Copy and paste the following code into your User Query window. This query is designed to look at appointments with a status of "Scheduled" (AptStatus = 1).
SET @TargetDate = CURDATE() + INTERVAL 1 DAY;
SELECT
a.AptDateTime AS 'Appt Time',
p.LName AS 'Last Name',
p.FName AS 'First Name',
pc.ProcCode AS 'Code',
pc.AbbrDesc AS 'Description',
pl.ProcFee AS 'Fee'
FROM appointment a
INNER JOIN patient p ON a.PatNum = p.PatNum
INNER JOIN procedurelog pl ON a.AptNum = pl.AptNum
INNER JOIN procedurecode pc ON pl.CodeNum = pc.CodeNum
WHERE DATE(a.AptDateTime) = @TargetDate
AND a.AptStatus = 1
AND p.PatStatus = 0
ORDER BY a.AptDateTime, p.LName;
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.
Understanding the Results
- Appt Time: The exact time the appointment is scheduled to begin.
- Last Name / First Name: The patient's name as it appears in the Family Module.
- Code: The ADA procedure code attached to the appointment.
- Description: The short description of the procedure.
- Fee: The standard fee associated with that procedure code.
How to Customize
You can easily modify this query to fit your specific needs by changing the variables at the top or the filters in the WHERE clause.
- Change the Date: To look at a specific date rather than "tomorrow," change the first line to a specific date format:
SET @TargetDate = '2026-04-15'; - Filter by Provider: If you only want to see production for a specific provider, add this line to the
WHEREclause:AND a.ProvNum = 1(Replace '1' with the actualProvNumfrom your Provider setup). - Filter by Clinic: If you have multiple locations and only want to see one, add this line:
AND a.ClinicNum = 1(Replace '1' with your specificClinicNum).
Variations
If you want to see the total production value for the day rather than a list of individual procedures, you can use this variation:
SET @TargetDate = CURDATE() + INTERVAL 1 DAY;
SELECT
SUM(pl.ProcFee) AS 'Total Scheduled Production'
FROM appointment a
INNER JOIN procedurelog pl ON a.AptNum = pl.AptNum
WHERE DATE(a.AptDateTime) = @TargetDate
AND a.AptStatus = 1;
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.