238 lines
11 KiB
Plaintext
238 lines
11 KiB
Plaintext
maintenance:
|
|
|
|
title: FORM_POST_OP_LAP_CHOLE ;;
|
|
mlmname: FORM_POST_OP_LAP_CHOLE ;;
|
|
arden: version 2.5;;
|
|
version: 6.10;;
|
|
institution: St. Clair Hospital ;;
|
|
author: Shivprasad Jadhav;;
|
|
specialist: Shivprasad Jadhav, Allscripts;;
|
|
date: 2015-03-14 ;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: 1st scenario: When the user select Morphine Inj, then, user should not be able to select Hydromorphone Inj,
|
|
PCA Morphine Order set , PCA -Hydromorphone Order set ,oxycodone and hydrocodone
|
|
2nd scenario :When the user select Hydromorphone Inj, then, user should not be able to select Morphine Inj, PCA Morphine Order set , PCA -Hydromorphone Order set
|
|
,oxycodone and hydrocodone
|
|
3rd scenario : When the user select PCA Morphine Order set, then, user should not be able to select Morphine Inj, Hydromorphone Inj ,
|
|
PCA -Hydromorphone Order set,oxycodone and hydrocodone
|
|
4th scenario : When the user select PCA -Hydromorphone Order set, then, user should not be able to select Morphine Inj, Hydromorphone Inj ,
|
|
PCA Morphine Order set,oxycodone and hydrocodone
|
|
5th scenario : When the user select oxycodone, then user should not be able to select Morphine Inj, Hydromorphone Inj , PCA Morphine Order set,
|
|
PCA -Hydromorphone Order set and hydrocodone.
|
|
6th scenario : When user selects hydrocodone then user should not be able to select Morphine Inj, Hydromorphone Inj , PCA Morphine Order set,
|
|
PCA -Hydromorphone Order set and oxycodone.
|
|
Change History
|
|
=====================================================================================
|
|
03/14/2016 SSJ CSR :33079 MLM Created
|
|
02/21/2017 TMS CSR: 35186 Updated search for "Hydrocodone 5mg/Acetaminophen 325mg name change
|
|
|
|
|
|
|
|
;;
|
|
explanation:
|
|
;;
|
|
keywords:
|
|
;;
|
|
citations:
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
( this_communication, // Communication object
|
|
this_form, // Form object
|
|
client_info_obj //Arden ClientInfo object
|
|
) := argument;
|
|
field_list:= this_form.Fields;
|
|
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField := this_communication.CallingFieldName;
|
|
// Assigns fields passed in the Form object to the Field object
|
|
client_guid := this_communication.ClientGUID;
|
|
visit_guid := this_communication.ClientVisitGUID;
|
|
chart_guid := this_communication.ChartGUID;
|
|
|
|
|
|
Medication_Morphine := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
and field_list.Control_MultiFieldOccNum = 64 );
|
|
Medication_HydroMorphine := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
and field_list.Control_MultiFieldOccNum = 65 );
|
|
Medication_Pharmacy := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
and field_list.Control_MultiFieldOccNum = 49 );
|
|
Heparin_Grid := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
and field_list.Control_MultiFieldOccNum = 66 );
|
|
|
|
|
|
Morphine_Value := Medication_Morphine.Value ;
|
|
HydroMorphine_Value := Medication_HydroMorphine.Value;
|
|
Pharmacy_Value := Medication_Pharmacy.Value;
|
|
Heparin_Grid_Value := Heparin_Grid.Value;
|
|
|
|
|
|
|
|
// *********** Objects for first flow *************
|
|
|
|
|
|
Morphine1 := first of (Morphine_Value where Morphine_Value.Name = "Morphine Inj");
|
|
//Morphine2 := first of (Morphine_Value where Morphine_Value.Name = "PCA - Morphine Order Set"); //PCA - Morphine Order Set
|
|
Morphine2 := Morphine_Value[2];
|
|
HydroMorphine1 := first of (HydroMorphine_Value where HydroMorphine_Value.Name = "Hydromorphone Inj"); // D5W 1000ml
|
|
//HydroMorphine2 := first of (HydroMorphine_Value where HydroMorphine_Value.Name = "PCA - Hydromorphone Order Set");
|
|
HydroMorphine2 := HydroMorphine_Value[2];
|
|
//OxyCodon := first of (Pharmacy_Value where Pharmacy_Value.Name = "OxyCODONE 5mg/Acetaminophen 325mg Tab");
|
|
|
|
If Morphine1.IsSelected = True Then
|
|
|
|
Morphine2.IsReadonly := True;
|
|
HydroMorphine1.IsReadonly := True ;
|
|
HydroMorphine2.IsReadonly := True;
|
|
//OxyCodon.IsReadonly := True ;
|
|
|
|
Endif;
|
|
If Morphine2.IsSelected = True Then
|
|
|
|
Morphine1.IsReadonly := True;
|
|
HydroMorphine1.IsReadonly := True ;
|
|
HydroMorphine2.IsReadonly := True;
|
|
//OxyCodon.IsReadonly := True ;
|
|
|
|
Endif;
|
|
If HydroMorphine1.IsSelected = True Then
|
|
Morphine1.IsReadonly := True;
|
|
Morphine2.IsReadonly := True;
|
|
HydroMorphine2.IsReadonly := True;
|
|
//OxyCodon.IsReadonly := True ;
|
|
|
|
Endif;
|
|
If HydroMorphine2.IsSelected = True Then
|
|
|
|
Morphine1.IsReadonly := True;
|
|
Morphine2.IsReadonly := True;
|
|
HydroMorphine1.IsReadonly := True ;
|
|
//OxyCodon.IsReadonly := True ;
|
|
|
|
Endif;
|
|
/*If OxyCodon.IsSelected = True Then
|
|
Morphine1.IsReadonly := True;
|
|
Morphine2.IsReadonly := True;
|
|
HydroMorphine1.IsReadonly := True ;
|
|
HydroMorphine2.IsReadonly := True;
|
|
|
|
Endif;*/
|
|
If HydroMorphine2.IsSelected = False And HydroMorphine1.IsSelected = False And Morphine2.IsSelected = False And Morphine1.IsSelected = False Then
|
|
|
|
Morphine1.IsReadonly := False;
|
|
Morphine2.IsReadonly := False;
|
|
HydroMorphine1.IsReadonly := False ;
|
|
HydroMorphine2.IsReadonly := False;
|
|
//OxyCodon.IsReadonly := False ;
|
|
|
|
EndIf;
|
|
|
|
|
|
// Second flow ******************************************************************************
|
|
//Second Scope in MLM
|
|
|
|
Ondansetron := first of (Pharmacy_Value where Pharmacy_Value.Name = "Ondansetron Inj");
|
|
Promethazine := first of (Pharmacy_Value where Pharmacy_Value.Name = "Promethazine Inj");
|
|
|
|
|
|
If Ondansetron.IsSelected = True Then
|
|
Promethazine.IsReadonly := True;
|
|
|
|
Endif;
|
|
If Promethazine.IsSelected = True Then
|
|
Ondansetron.IsReadonly := True;
|
|
|
|
Endif;
|
|
If Promethazine.IsSelected = False And Ondansetron.IsSelected = False Then
|
|
|
|
Promethazine.IsReadonly := False;
|
|
Ondansetron.IsReadonly := False;
|
|
|
|
EndIf;
|
|
|
|
// Third flow ******************************************************************************
|
|
Hydrocodone := first of (Pharmacy_Value where Pharmacy_Value.Name matches pattern "Hydrocodone 5mg/Acetaminophen 325mg%");
|
|
OxyCODONE := first of (Pharmacy_Value where Pharmacy_Value.Name = "OxyCODONE 5mg/Acetaminophen 325mg Tab");
|
|
If Hydrocodone.IsSelected = True Then
|
|
OxyCODONE.IsReadonly := True;
|
|
|
|
Endif;
|
|
If OxyCODONE.IsSelected = True Then
|
|
Hydrocodone.IsReadonly := True;
|
|
|
|
Endif;
|
|
If Hydrocodone.IsSelected = False And OxyCODONE.IsSelected = False Then
|
|
|
|
Hydrocodone.IsReadonly := False;
|
|
OxyCODONE.IsReadonly := False;
|
|
|
|
EndIf;
|
|
// fourth Flow *******************************************************************************
|
|
|
|
/* Daily_Orders := first of (Heparin_Grid_Value where Heparin_Grid_Value.Name = "Daily Orders:");
|
|
CBC := first of (Heparin_Grid_Value where Heparin_Grid_Value.Name = "CBC (Includes Diff)");
|
|
|
|
//Check to see if patient is on continuous heparin
|
|
/*Heparin := read {"SELECT o.Name"
|
|
|| " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)"
|
|
|| " ON cv.GUID = o.ClientVisitGUID"
|
|
|| " AND cv.ClientGUID = o.ClientGUID"
|
|
|| " AND cv.ChartGUID = o.ChartGUID"
|
|
|| " WHERE cv.ClientGUID = " || Sql(client_guid)
|
|
|| " AND o.Name LIKE {{{SINGLE-QUOTE}}}%Heparin%{{{SINGLE-QUOTE}}}"
|
|
|| " And o.OrderStatusCode in ({{{SINGLE-QUOTE}}}AUA1{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}RESF{{{SINGLE-QUOTE}}}) " }; */
|
|
/* Order List for Prod Environment
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.45% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 250ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 250ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units +0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units +D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ 0.9% NaCl {{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ D5W 500ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin Inj{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj {{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj.{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin Prisma 5000 Units+0.9% NaCl 20ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Enoxaparin Inj{{{SINGLE-QUOTE}}} "
|
|
|
|
Heparin := read {"SELECT o.Name"
|
|
|| " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)"
|
|
|| " ON cv.GUID = o.ClientVisitGUID"
|
|
|| " AND cv.ClientGUID = o.ClientGUID"
|
|
|| " AND cv.ChartGUID = o.ChartGUID"
|
|
|| " WHERE cv.ClientGUID = " || Sql(client_guid)
|
|
|| " AND o.Name In ( {{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units +0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units +D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ 0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ D5W 500ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin 25,000 Units+0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Infusion 10,000 units/10ml{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin Inj{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj.{{{SINGLE-QUOTE}}}, "
|
|
|| "{{{SINGLE-QUOTE}}}Heparin Prisma 5000 Units+0.9% NaCl 20ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Protocol{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Enoxaparin Inj{{{SINGLE-QUOTE}}} ) "
|
|
|| " And o.OrderStatusCode in ({{{SINGLE-QUOTE}}}AUA1{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}RESF{{{SINGLE-QUOTE}}}) " };
|
|
|
|
|
|
If Not exist Heparin Then
|
|
Daily_Orders.IsSelected := False ;
|
|
CBC.IsSelected := False ;
|
|
Daily_Orders.IsReadonly := True ;
|
|
CBC.IsReadonly := True ;
|
|
|
|
Else
|
|
Daily_Orders.IsSelected := True ;
|
|
CBC.IsSelected := True ;
|
|
Daily_Orders.IsReadonly := True ;
|
|
CBC.IsReadonly := True ;
|
|
Endif; */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;
|
|
priority: 50
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic: conclude true;
|
|
;;
|
|
action: return this_communication, this_form;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|