Initial Checking with all 820 MLMs

This commit is contained in:
2020-02-02 00:54:01 -05:00
parent c59dc6de2e
commit 840d0432f4
828 changed files with 239162 additions and 0 deletions

View File

@@ -0,0 +1,183 @@
maintenance:
title: Set Heparin NurseOrders;;
mlmname: FORM_Set_Heparin_Orders;;
arden: version 2;;
version: 4.50;;
institution: St Clair Admissions;;
author: Robert Spence, Eclipsys Corp Ext 7461;;
specialist: Lisa Hancher, Eclipsys Corp ext SHOT;;
date: 2008-05-20;;
validation: testing;;
library:
purpose: Used for medication grids that holds heparin
Scope
3 Heparin orderables in the Medication order grid
Inj
1000 units / hr
1200 units / hr
2 dud check boxes (A+B) added to order set form, set to false, displayed for testing,
not displayed when activating
Check box A will hold previous value of 1000 units / hr selected value
Check box B will hold previous value of 1200 units / hr selected value
4 nursing instruction orderables in the Heparin Protocol Instrucitons, set to false
On open: MLM will disable 4 nursing instructions.
On Medication Grid change, MLM:
Will check to see if
A matches 1000 units, If it does, this field has not changed
If it does not match,
begin
If it is true
begin
1200 units gets disabled
4 nursing orders listed get checked.
end
If it is false
begin
1200 units gets enabled
4 nursing orders get unchecked
end
Set A to 1000 units value after change
end
Else if B matches 1200 units, it does has not changed, do nothing
If it does not match,
begin
If it is true
begin
1000 units gets disabled
4 nursing orders listed get checked.
end
If it is false
begin
1000 units gets enabled
4 nursing orders get unchecked
end
Set B to 1200 unit value after change
end
Allowed grouping of 3 fields
Heparin inj 1000 units 12000 units
False False False
False False True
False True False
True False False
True False True
True True False
;;
explanation: This MLM is called from the Patient Profile- Adult Admission Orders
;;
keywords: Called MLMs, Respiratory ORder Set, Adult Admission
;;
knowledge:
type: data-driven;;
data:
// 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;
/***************************************************************************************/
// 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;
Mlt_Order_Line:= first of (field_list where field_list.DataItemName = "MultiOrderInline"
and field_List.Control_MultiFieldOccNum = 1);
Mlt_List := Mlt_Order_Line.Value;
// Mlt_List.IsReadOnly := (True,True,True,True);
// Mlt_SelList := Mlt_List.IsSelected;
If CallingEvent = "FormOpen" then
Mlt_List.IsReadOnly := (True,True,True,True);
else
PrevHep1000_Fld := last of (field_list where field_list.DataItemName = "MLM_CM 1");
PrevHep1000_Value := PrevHep1000_Fld.Value;
PrevHep1200_Fld := last of (field_list where field_list.DataItemName = "MLM_CM 2");
PrevHep1200_Value := PrevHep1200_Fld.Value;
Meds_fld := last of (field_list where field_list.DataItemName = "MultiOrderGrid"
and field_List.Control_MultiFieldOccNum = 6);
Meds_list :=Meds_fld.Value;
Meds_Sel :=Meds_list.IsSelected;
ListMembs:= count Meds_Sel;
Meds_Read_1000 := ();
Meds_Read_1200 := ();
Meds_Read_None := ();
for k in (1 seqto (ListMembs -2)) do
Meds_Read_1000 := Meds_Read_1000 ,False;
Meds_Read_1200 := Meds_Read_1200 ,False;
Meds_Read_None := Meds_Read_None , False;
enddo;
Meds_Read_1000 := Meds_Read_1000 ,False,True;
Meds_Read_1200 := Meds_Read_1200 ,True,False;
Meds_Read_None := Meds_Read_None,False,False;
Cur1000 := Last(First (ListMembs-1) from Meds_Sel);
Cur1200 := Last(First (ListMembs) from Meds_Sel);
If Cur1000 = PrevHep1000_Value then
NoHarmNoFoul := True;
Else
If Cur1000 = True Then
Meds_List.IsReadOnly := Meds_Read_1000;
Mlt_List.IsSelected := (True,True,True,True);
Else
Meds_List.IsReadOnly := Meds_Read_None;
Mlt_List.IsSelected := (False,False,False,False);
endif;
PrevHep1000_Fld.Value := Cur1000;
endif;
If Cur1200 = PrevHep1200_Value then
NoHarmNoFoul := True;
Else
If Cur1200 = True Then
Meds_List.ISReadOnly := Meds_Read_1200;
Mlt_List.IsSelected := (True,True,True,True);
Else
Meds_List.IsReadOnly := Meds_Read_None;
Mlt_List.IsSelected := (False,False,False,False);
endif;
PrevHep1200_Fld.Value := Cur1200;
endif;
endif;
;;
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: