If you are looking to increase production by identifying patients who are due for preventative care, this report is for you. This open dental sealant opportunities query helps you find active patients between the ages of 6 and 14 who have not yet had sealants completed, allowing your team to proactively reach out for scheduling.
The Query
Copy and paste the following code into your User Query window. This query looks for active patients in the specified age range and checks if they have any completed sealant procedures (using common CDT codes D1351, D1352, D1353, and D1354) in their history.
/* Set age range */
SET @MinAge = 6;
SET @MaxAge = 14;
SELECT
p.PatNum,
p.LName,
p.FName,
p.Birthdate,
TIMESTAMPDIFF(YEAR, p.Birthdate, CURDATE()) AS Age,
p.HmPhone,
p.WirelessPhone,
p.Email
FROM patient p
WHERE p.PatStatus = 0
AND TIMESTAMPDIFF(YEAR, p.Birthdate, CURDATE()) BETWEEN @MinAge AND @MaxAge
AND p.PatNum NOT IN (
SELECT pl.PatNum
FROM procedurelog pl
INNER JOIN procedurecode pc ON pl.CodeNum = pc.CodeNum
WHERE pc.ProcCode IN ('D1351', 'D1352', 'D1353', 'D1354')
AND pl.ProcStatus = 2 /* Completed */
)
ORDER BY p.LName, p.FName;
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. You can click Export to save this list as a CSV file for your marketing or recall software.
Understanding the Results
- PatNum: The unique identification number for the patient in your database.
- LName/FName: The patient's last and first name.
- Birthdate: The date of birth on file.
- Age: The current calculated age of the patient.
- HmPhone/WirelessPhone/Email: Contact information to help your front desk staff reach out to the parent or guardian.
How to Customize
You can easily adjust this report to fit your specific needs:
- Change Age Range: Modify the
SETstatements at the top of the query. For example, change@MinAge = 6to@MinAge = 5if you want to start targeting younger children. - Filter by Provider: If you only want to see patients assigned to a specific provider, add this line before the
ORDER BYclause:AND p.PriProv = 1(replace1with the specificProvNumof the provider). - Filter by Clinic: If you have multiple locations, add
AND p.ClinicNum = 1(replace1with your specificClinicNum) to theWHEREclause.
Variations
If you want to narrow this list down to patients who have an upcoming hygiene appointment, you can join the appointment table to the query to see who is already on the books. This allows you to flag these patients for a "sealant discussion" during their next visit rather than just calling them for a new appointment.
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.