210 lines
7.6 KiB
Plaintext
210 lines
7.6 KiB
Plaintext
maintenance:
|
|
|
|
title: Admission Orders - Pneumonia;;
|
|
mlmname: FORM_Set_ED_Admit_Pneumonia;;
|
|
arden: version 2.5;;
|
|
version: 5.50;;
|
|
institution: St Clair Hospital;;
|
|
author: Teresa Spicuzza, Allscripts ;;
|
|
specialist: Teresa Spicuzza, Allscripts;;
|
|
date: 2011-04-01;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Used for Admission Orders - Pneumonia
|
|
;;
|
|
|
|
explanation: This MLM is called from Admission Orders - Pneumonia
|
|
|
|
Change history
|
|
06.20.2012 TMS Added call to FORM_MEDICAL_IMAGING_INDICATIONS_FOR_OS{{{SINGLE-QUOTE}}} under form open to retrieve diabetic health issues
|
|
and iodine allergies to autopopulate questions on order set form when found. CSR 22904
|
|
|
|
|
|
;;
|
|
keywords: Called MLMs, Lab Grids on Order Sets, Inital ED
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
// This MLM is passed three arguments, of types
|
|
// communication_type, form_type and client info object respectively.
|
|
|
|
(this_communication, // Communication object
|
|
this_form, // Form object
|
|
client_info_obj //Arden ClientInfo object
|
|
) := argument;
|
|
|
|
|
|
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
|
|
|
/* Set to true if a decision.log is needed.*/
|
|
log_execution_info := FALSE;
|
|
|
|
|
|
/***************************************************************************************/
|
|
MedImageInd := MLM {{{SINGLE-QUOTE}}}FORM_MEDICAL_IMAGING_INDICATIONS_FOR_OS{{{SINGLE-QUOTE}}};
|
|
|
|
// Initialize error message
|
|
error_message:="";
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField := this_communication.CallingFieldName;
|
|
|
|
AdmitOrders := last of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 46);
|
|
AdmitOrders_List := AdmitOrders.Value;
|
|
|
|
Found_Admit_Gen := first of (AdmitOrders_List where AdmitOrders_List.Name = "Admit to Inpatient");
|
|
Found_Admit_CC := last of (AdmitOrders_List where AdmitOrders_List.Name = "Admit to Inpatient");
|
|
|
|
GenMedOrders := last of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 66);
|
|
GenMedOrders_List := GenMedOrders.Value;
|
|
|
|
CCMedOrders := last of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 67);
|
|
CCMedOrders_List := CCMedOrders.Value;
|
|
|
|
Guidelines := last of (field_list where field_list.DataItemName = "MultiOrderInline" and field_List.Control_MultiFieldOccNum = 1);
|
|
Guidelines_List := Guidelines.Value;
|
|
|
|
|
|
|
|
|
|
If CallingEvent = "FormOpen" then
|
|
Guidelines_List.IsReadOnly := (True);
|
|
IndMLM := call MedImageInd with (this_communication, // Communication object
|
|
this_form, // Form object
|
|
client_info_obj //Arden ClientInfo object
|
|
) ;
|
|
endif;
|
|
// Make eligible orders available for General or Critical Care depending upon admit order
|
|
If CallingField = "MultiOrderGrid|46" then
|
|
If (Found_Admit_Gen.IsSelected = True) then AdmitOrders_List.IsReadOnly := (False,True,True);
|
|
CCMedOrders_List.IsReadOnly := (True,True,True,True,True,True);
|
|
elseIf (Found_Admit_CC.IsSelected = True) then AdmitOrders_List.IsReadOnly := (True,False,True);
|
|
GenMedOrders_List.IsReadOnly := (True,True,True,True,True);
|
|
else AdmitOrders_List.IsReadOnly := (False,False,False);
|
|
GenMedOrders_List.IsReadOnly := (False,False,False,False,False);
|
|
CCMedOrders_List.IsReadOnly := (False,False,False,False,False,False);
|
|
endif;
|
|
endif; // multiordergrid 46
|
|
|
|
|
|
// Mark meds to be ordered in combo when first med is selected (gen orders)
|
|
If CallingField = "MultiOrderGrid|66" and CallingEvent = "FieldChange" Then
|
|
|
|
If true in GenMedOrders_List.IsSelected
|
|
Then
|
|
|
|
//gen combo 1-2(selected)
|
|
If GenMedOrders_List.IsSelected [1] = true
|
|
Then
|
|
GenMedOrders_List.IsSelected := (True,True,False,False,False);
|
|
GenMedOrders_List.IsReadOnly := (False,True,True,True,True);
|
|
Endif;
|
|
//gen combo 1-2( (unselected)
|
|
If (GenMedOrders_List.IsSelected [1] = False and GenMedOrders_List.IsSelected [2] = True)
|
|
Then
|
|
GenMedOrders_List.IsSelected := (False,False,False,False,False);
|
|
GenMedOrders_List.IsReadOnly := (False,False,False,False,False);
|
|
|
|
Endif;
|
|
//gen combo 3-4(selected)
|
|
If GenMedOrders_List.IsSelected [3] = true
|
|
Then
|
|
GenMedOrders_List.IsSelected := (False,False,True,True,False);
|
|
GenMedOrders_List.IsReadOnly := (True,True,False,True,True);
|
|
Endif;
|
|
// gen combo 3-4((unselected)
|
|
If (GenMedOrders_List.IsSelected [3] = False and GenMedOrders_List.IsSelected [4] = True)
|
|
Then
|
|
GenMedOrders_List.IsSelected := (False,False,False,False,False);
|
|
GenMedOrders_List.IsReadOnly := (False,False,False,False,False);
|
|
|
|
Endif;
|
|
//item 5 (selected)
|
|
If GenMedOrders_List.IsSelected [5] = true
|
|
Then
|
|
GenMedOrders_List.IsSelected := (False,False,False,False,True);
|
|
GenMedOrders_List.IsReadOnly := (True,True,True,True,False);
|
|
Endif;
|
|
// (unselected)
|
|
|
|
else
|
|
GenMedOrders_List.IsReadOnly := (False,False,False,False,False);
|
|
endif; // If true in GenMedOrders_List.IsSelected
|
|
endif; //If CallingField = "MultiOrderGrid|66" and CallingEvent = "FieldChange" Then
|
|
|
|
|
|
// Mark meds to be ordered in combo when first med is selected (gen orders)
|
|
If CallingField = "MultiOrderGrid|67" and CallingEvent = "FieldChange" Then
|
|
|
|
If true in CCMedOrders_List.IsSelected
|
|
Then
|
|
|
|
//CC combo 1-2(selected)
|
|
If CCMedOrders_List.IsSelected [1] = true
|
|
Then
|
|
CCMedOrders_List.IsSelected := (True,True,False,False,False,False);
|
|
CCMedOrders_List.IsReadOnly := (False,True,True,True,True,True);
|
|
Endif;
|
|
//CC combo 1-2( (unselected)
|
|
If (CCMedOrders_List.IsSelected [1] = False and CCMedOrders_List.IsSelected [2] = True)
|
|
Then
|
|
CCMedOrders_List.IsSelected := (False,False,False,False,False,False);
|
|
CCMedOrders_List.IsReadOnly := (False,False,False,False,False,False);
|
|
|
|
Endif;
|
|
//CC combo 3-4(selected)
|
|
If CCMedOrders_List.IsSelected [3] = true
|
|
Then
|
|
CCMedOrders_List.IsSelected := (False,False,True,True,False,False);
|
|
CCMedOrders_List.IsReadOnly := (True,True,False,True,True,True);
|
|
Endif;
|
|
// CC combo 3-4((unselected)
|
|
If (CCMedOrders_List.IsSelected [3] = False and CCMedOrders_List.IsSelected [4] = True)
|
|
Then
|
|
CCMedOrders_List.IsSelected := (False,False,False,False,False,False);
|
|
CCMedOrders_List.IsReadOnly := (False,False,False,False,False,False);
|
|
Endif;
|
|
// CC combo 5-6 (selected)
|
|
If CCMedOrders_List.IsSelected [5] = true
|
|
Then
|
|
CCMedOrders_List.IsSelected := (False,False,False,False,True,True);
|
|
CCMedOrders_List.IsReadOnly := (True,True,True,True,False,True);
|
|
Endif;
|
|
// CC combo 5-6((unselected)
|
|
If (CCMedOrders_List.IsSelected [5] = False and CCMedOrders_List.IsSelected [6] = True)
|
|
Then
|
|
CCMedOrders_List.IsSelected := (False,False,False,False,False,False);
|
|
CCMedOrders_List.IsReadOnly := (False,False,False,False,False,False);
|
|
Endif;
|
|
|
|
|
|
else
|
|
CCMedOrders_List.IsReadOnly := (False,False,False,False,False,False);
|
|
endif; //If true in CCMedOrders_List.IsSelected
|
|
endif; //If CallingField = "MultiOrderGrid|67" and CallingEvent = "FieldChange" Then
|
|
|
|
;;
|
|
evoke: // No evoke statement
|
|
;;
|
|
logic:
|
|
|
|
conclude true;
|
|
;;
|
|
action:
|
|
// This MLM returns two parameters, of types communication_type and form_type respectively.
|
|
return this_communication, this_form;
|
|
;;
|
|
end:
|