From 36da5fbea892e8f8af2698c1591dba902d141581 Mon Sep 17 00:00:00 2001 From: jmulhall00 Date: Tue, 29 Sep 2026 17:37:14 +0000 Subject: [PATCH] Add RXcompare looking admin / dispense --- RXcompare | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 RXcompare diff --git a/RXcompare b/RXcompare new file mode 100644 index 0000000..5042738 --- /dev/null +++ b/RXcompare @@ -0,0 +1,64 @@ +SELECT + p.prescriptionid, + p.administrationseqid, + p.administrationdatetime, + p.dispensedatetime, + p.doseadministered, + + m.drugid, + m.dose AS ordered_dose, + + ot.action_datetime AS omnicell_datetime, + ot.rx_name, + ot.minutes_apart + +FROM npr.pharxadministrations p + +JOIN mat.regacct_main rm + ON rm.visitid = p.visitid + +JOIN npr.pharxmedications m + ON m.sourceid = p.sourceid + AND m.visitid = p.visitid + AND m.prescriptionid = p.prescriptionid + +LEFT JOIN LATERAL ( + SELECT + o.*, + ABS( + EXTRACT( + EPOCH FROM ( + p.administrationdatetime - o.action_datetime + ) + ) + ) / 60.0 AS minutes_apart + FROM public.omnicell_transaction o + WHERE o.pat_id = rm.accountnumber + AND o.rx_name ILIKE '%lorazepam%' + + AND ( + (m.dose = '0.25' AND o.rx_name ILIKE '%0.25MG%') + OR (m.dose = '0.5' AND o.rx_name ILIKE '%0.5MG%') + ) + + AND o.action_datetime >= p.administrationdatetime - INTERVAL '12 hours' + AND o.action_datetime <= p.administrationdatetime + INTERVAL '12 hours' + + ORDER BY + ABS( + EXTRACT( + EPOCH FROM ( + p.administrationdatetime - o.action_datetime + ) + ) + ) + LIMIT 1 +) ot + ON TRUE + +WHERE p.administrationdatetime >= TIMESTAMP '2026-08-24 00:00:00' + AND p.administrationdatetime < TIMESTAMP '2026-08-25 00:00:00' + AND rm.accountnumber = 'BR1500059884' + AND m.drugid ILIKE 'LORAZ%' + +ORDER BY p.administrationdatetime; \ No newline at end of file