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.

Identify Patients Seen Only Once

SQL Queries3 min read4/8/2026

If you are looking to improve your practice reactivation efforts, you need to identify patients who visited your office exactly one time and never returned. This open dental one visit patients query helps you isolate those individuals so you can reach out and invite them back for a follow-up appointment.

The Query

This query identifies active patients who have exactly one completed procedure in their history.

SET @StartDate = '2020-01-01';
SET @EndDate = '2025-12-31';

SELECT 
    p.PatNum, 
    p.LName, 
    p.FName, 
    p.WirelessPhone, 
    p.Email, 
    MAX(pl.ProcDate) AS LastVisitDate
FROM patient p
INNER JOIN procedurelog pl ON p.PatNum = pl.PatNum
WHERE p.PatStatus = 0
  AND pl.ProcStatus = 2
  AND pl.ProcDate BETWEEN @StartDate AND @EndDate
GROUP BY p.PatNum
HAVING COUNT(DISTINCT pl.ProcDate) = 1;

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.

Understanding the Results

How to Customize

You can easily adjust the date range to focus on specific timeframes.

Variations

If you want to ensure you are only contacting patients who have not been back for a long time, you can add a filter to exclude anyone who has had a scheduled appointment since their initial visit.

-- Variation: Exclude patients with future appointments
SELECT p.PatNum, p.LName, p.FName
FROM patient p
INNER JOIN procedurelog pl ON p.PatNum = pl.PatNum
WHERE p.PatStatus = 0
  AND pl.ProcStatus = 2
  AND pl.ProcDate BETWEEN '2020-01-01' AND '2024-12-31'
GROUP BY p.PatNum
HAVING COUNT(DISTINCT pl.ProcDate) = 1
AND NOT EXISTS (
    SELECT 1 FROM appointment a 
    WHERE a.PatNum = p.PatNum 
    AND a.AptDateTime > NOW()
);

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.