Add RXcompare

looking admin / dispense
This commit is contained in:
John Mulhall 2026-09-29 17:37:14 +00:00
parent 57aa7da70f
commit 36da5fbea8

64
RXcompare Normal file
View file

@ -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;