Advertisement
kevinrossen

WebSched Appts, Show Broken (Open Dental)

Apr 16th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.19 KB | None | 0 0
  1. -- Appointments Scheduled via WebSched. Created by Divergent Dental Resources, LLC. http://divergentdental.com
  2. SET
  3.     @StartDate = DATE_FORMAT(NOW() - INTERVAL 3 MONTH, '%Y-%m-01'),
  4.     @EndDate = LAST_DAY(NOW() + INTERVAL 3 MONTH)
  5. ;
  6.  
  7. -- Web Scheduled Appts
  8. SELECT
  9.     a.PatNum,
  10.     a.AptDateTime,
  11.     sl.LogDateTime AptCreated,
  12.     a.AptStatus,
  13.     a.ProcDescript,
  14.     IFNULL(bk.ProcDate, '') AptBroken
  15. FROM appointment a
  16. INNER JOIN securitylog sl ON a.AptNum = sl.FKey AND sl.LogText LIKE '%web sched%' AND sl.PermType = 25
  17. LEFT JOIN
  18.     (
  19.     -- Broken Appointments limited to between the date the appointment was created and now.
  20.     SELECT
  21.         pl.PatNum,
  22.         pl.ProcDate,
  23.         pc.ProcCode
  24.     FROM procedurelog pl
  25.     INNER JOIN procedurecode pc ON pl.CodeNum = pc.CodeNum
  26.     WHERE
  27.         pl.ProcStatus = 2
  28.         AND pl.ProcDate BETWEEN @StartDate AND @EndDate
  29.         AND pc.ProcCode IN ('D9986','D9987')
  30.     ORDER BY
  31.         pl.ProcDate
  32.     ) bk ON a.PatNum = bk.PatNum AND bk.ProcDate BETWEEN DATE(sl.LogDateTime) AND NOW()
  33. WHERE
  34.     a.AptStatus IN (1,2,3,4,5)  -- Appointment is scheduled (1), completed (2), unscheduled (3), ASAP (4), or broken (5)
  35.     AND DATE(a.AptDateTime) BETWEEN @StartDate AND @EndDate
  36. GROUP BY a.AptNum
  37. ORDER BY a.AptDateTime
  38. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement