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;