123 lines
3.8 KiB
Plaintext
123 lines
3.8 KiB
Plaintext
maintenance:
|
|
|
|
title: Check for Release of Haloperidol IV orders;;
|
|
filename: SCH_Haloperidol_Held_Orders;;
|
|
arden: version 5.5;;
|
|
version: 2.00;;
|
|
institution: St Clair;;
|
|
author: Teresa Spicuzza;;
|
|
specialist: Teresa Spicuzza;;
|
|
date: 2012-06-05;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: When releasing a held order for haloperidol IV, check to see if patient in monitored bed/unit, if not alert the user
|
|
;;
|
|
explanation: Returns a message box to the user when a held order for haloperidol iv is released for a patient in a non-moitored bed.
|
|
|
|
change history
|
|
|
|
06.05.2012 TMS Created CSR 30783 To Production on 9/25/2012
|
|
|
|
;;
|
|
keywords: Release, hold, order, Haloperidol, monitored bed
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
|
|
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
|
/* Set to true if logging is needed.*/
|
|
log_execution_info:= false;
|
|
|
|
// Set the text for this variable to indicate whether to send the message or not.
|
|
send_alert := "DoNotSend";
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
|
|
|
|
MonitoredBed := ("03 CCU","06 SP/Monitored","02 ICU","14 CVSU", "04 IMC");
|
|
|
|
(ClientVisitGuid, ClientGuid, CurrentLocation, LocationGuid, VisitStatus) := read last
|
|
{ClientVisit: GUID, ClientGUID, CurrentLocation, CurrentLocationGUID, VisitStatus };
|
|
|
|
|
|
|
|
// Get patient current accomodation
|
|
CurrentAccom := read last
|
|
{"Select ac.Code "
|
|
||" From CV3ClientVisitLocation cvl"
|
|
||" Join SXAAMAccommodation ac on ac.AccommodationID = cvl.AccommodationID "
|
|
||" Where ClientGuid = " || SQL(ClientGuid)
|
|
||" and ClientVisitGuid = " || SQL(ClientVisitGuid)
|
|
||" and cvl.Status = {{{SINGLE-QUOTE}}}CUR{{{SINGLE-QUOTE}}}" };
|
|
|
|
|
|
|
|
/* Set EvokingObject in editor */
|
|
If called_by_editor then
|
|
EvokingObject := read last { Order: This };
|
|
endif;
|
|
|
|
/* Get Order data and pointer to MedicationExtension object */
|
|
(Order_Name, HaldolReason, MedicationExtension_obj) := read last
|
|
{Order: Name, SummaryLine, MedicationExtension
|
|
REFERENCING EvokingObject };
|
|
|
|
/* Get data from the MedicationExtension object */
|
|
(HaldolRoute) := read last
|
|
{MedicationExtension: OrderRouteCode
|
|
REFERENCING MedicationExtension_obj };
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// local_session := cds_session.local;
|
|
//--------------------------------------------------------------------------
|
|
|
|
|
|
drug_alert:= destination {Alert} with
|
|
[alert_type := "Warning",
|
|
short_message := "Drug Requiring Monitoring",
|
|
Priority := "HIGH",
|
|
Scope := "chart",
|
|
Rule_group := "Monitored Meds",
|
|
rule_number := 18005,
|
|
send_with_order := send_alert,
|
|
display_alert := TRUE,
|
|
alert_dialog_settings := "No Override Allowed" ];
|
|
|
|
|
|
|
|
|
|
|
|
Release_Haldol_trigger:= event {OrderRelease User Order:
|
|
where TypeCode = "Medication"
|
|
and Name = "Haloperidol Inj" or Name = "Haloperidol:"};
|
|
|
|
|
|
;;
|
|
evoke: Release_Haldol_trigger;
|
|
;;
|
|
logic:
|
|
|
|
If CurrentAccom in MonitoredBed or HaldolReason matches pattern "%End of Life%" or HaldolRoute = "IM" then
|
|
conclude false; else conclude true;
|
|
endif;
|
|
|
|
|
|
;;
|
|
action:
|
|
|
|
|
|
write "You are releasing a held order for Haloperidol (Haldol) by IV Push or IVPB. Only orders for {{{SINGLE-QUOTE}}}End of Life{{{SINGLE-QUOTE}}} care may administered in a non-monitored bed. \n\n {{+B}}Go Back:{{-B}} Select Go Back and Verify patient has correct accommodation code or Indication for order is {{{SINGLE-QUOTE}}}End of Life Agitation{{{SINGLE-QUOTE}}} or Clarify order with Physician. " at drug_alert;
|
|
|
|
;;
|
|
end:
|