Initial Checking with all 820 MLMs
This commit is contained in:
327
MLMStripper/bin/Debug/FORM/FORM_SET_ADULT_PROFILE_ADMISSION.mlm
Normal file
327
MLMStripper/bin/Debug/FORM/FORM_SET_ADULT_PROFILE_ADMISSION.mlm
Normal file
@@ -0,0 +1,327 @@
|
||||
maintenance:
|
||||
|
||||
title: Adult Profile Admission Order Set;;
|
||||
mlmname: FORM_Set_Adult_Profile_Admission;;
|
||||
arden: version 2;;
|
||||
version: 4.50;;
|
||||
institution: St Clair Admissions;;
|
||||
author: Robert Spence, Eclipsys Corp Ext 7461;;
|
||||
specialist: Peggy Karish, Eclipsys Corp ext 7441;;
|
||||
date: 2008-04-10;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: Used for grids that perform all true or no risk
|
||||
|
||||
;;
|
||||
|
||||
explanation: This MLM is called from the Patient Profile- Adult Admission Orders
|
||||
|
||||
Change history
|
||||
|
||||
10.29.2008 DW Adjust for Catheter selection changes
|
||||
09.04.2009 DM Change "No Pediatric Smoking Risk" to "No Pharmacy Risk Criteria" for Grid 10
|
||||
|
||||
;;
|
||||
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;
|
||||
|
||||
If CallingField = "MultiOrderCheckBox|1" then
|
||||
NoRisk := "No Diagnosis Risk Criteria";
|
||||
OccNumber := 1;
|
||||
Elseif CallingField = "MultiOrderCheckBox|2" then
|
||||
NoRisk := "No Discharge Risk Criteria";
|
||||
OccNumber := 2;
|
||||
Elseif CallingField = "MultiOrderCheckBox|3" then
|
||||
NoRisk := "No Functional Risk Criteria";
|
||||
OccNumber :=3;
|
||||
Elseif CallingField = "MultiOrderCheckBox|4" then
|
||||
NoRisk := "No Nutritional Risk Criteria";
|
||||
OccNumber := 4;
|
||||
Elseif CallingField = "MultiOrderCheckBox|7" then
|
||||
NoRisk := "No Smoking Risk";
|
||||
OccNumber := 7;
|
||||
// Elseif CallingField = "MultiOrderCheckBox|9" then
|
||||
// NoRisk := "No Pediatric Nutritional Risk";
|
||||
// OccNumber := 9;
|
||||
Elseif CallingField = "MultiOrderCheckBox|9" then
|
||||
NoRisk := "No Devices Present";
|
||||
OccNumber := 9;
|
||||
Elseif CallingField = "MultiOrderCheckBox|10" then
|
||||
NoRisk := "No Pharmacy Risk Criteria";
|
||||
OccNumber := 10;
|
||||
endif;
|
||||
|
||||
// Now do True and false logic for EVERY grid on this form
|
||||
|
||||
//Get the multi order grid check box value
|
||||
Grid_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_List.Control_MultiFieldOccNum = OccNumber);
|
||||
Grid_list :=Grid_fld.Value;
|
||||
Grid_SelList := Grid_List.IsSelected;
|
||||
|
||||
Found_NoRisk:= First of (Grid_list where Grid_list.Name = NoRisk );
|
||||
|
||||
ListMembs:= count Grid_SelList;
|
||||
AllButNo:= ();
|
||||
FalseList := ();
|
||||
TrueList := ();
|
||||
for k in (1 seqto (ListMembs-1)) do
|
||||
AllButNo:= AllButNo, Grid_SelList[k];
|
||||
FalseList := FalseList,False;
|
||||
TrueList := TrueList ,True;
|
||||
enddo;
|
||||
|
||||
OneOfRest := true in AllButNo;
|
||||
|
||||
If Found_NoRisk.IsSelected = True then
|
||||
Grid_List.IsSelected:= FalseList , True;
|
||||
Grid_List.IsReadOnly:= TrueList , False;
|
||||
endif;
|
||||
|
||||
If (Found_NoRisk.IsSelected = False) and (OneOfRest = False) then // deselected No Risk
|
||||
Grid_List.IsSelected := FalseList , False;
|
||||
Grid_List.IsReadOnly := FalseList , False;
|
||||
Endif;
|
||||
|
||||
If (OneOfRest = True) and (Found_NoRisk.IsSelected = False) then
|
||||
Found_NoRisk.IsSelected := False;
|
||||
Found_NoRisk.IsReadOnly := True;
|
||||
endif;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Now for the extras per grid //
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
If CallingField = "MultiOrderCheckBox|1" then
|
||||
// Set the Order Set fields, comment and mapped to Dietitian Consult Reason
|
||||
Set_Comment := last of (field_list where field_list.DataItemName = "NUR_ Comment 1 line");
|
||||
Set_ConReason := last of (field_list where field_list.DataItemName = "NUTR_Consult Reasons");
|
||||
|
||||
If Found_NoRisk.IsSelected = True then
|
||||
Set_Comment.Value := "";
|
||||
Endif;
|
||||
|
||||
//Get the order set value
|
||||
PrevCon_Fld := last of (field_list where field_list.DataItemName = "NUR_CheckBox");
|
||||
PrevCon_Value := PrevCon_Fld.Value;
|
||||
|
||||
Grid_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_List.Control_MultiFieldOccNum = OccNumber);
|
||||
Grid_list :=Grid_fld.Value;
|
||||
Found_NODOrder:= first of (Grid_list where Grid_list.Name = "New Onset Diabetes");
|
||||
NOD_Selected:= Found_NODOrder.IsSelected;
|
||||
|
||||
//If they are the same, this grid check box did not change, hence do nothing
|
||||
If PrevCon_Value = NOD_Selected
|
||||
then
|
||||
Tester:="Dont Do anything";
|
||||
else
|
||||
// Set the fields we are about to change as the New Onset Diabeters Box Changed
|
||||
// First get the entire field components for the MultiOrdercheckBox
|
||||
Consult_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_List.Control_MultiFieldOccNum = 5);
|
||||
Consult_list :=Consult_fld.Value;
|
||||
|
||||
// Pull out the Dietitian Data from the MultiOrder
|
||||
Found_DietConOrder:= first of (Consult_list where Consult_list.Name = "Dietitian Consult");
|
||||
|
||||
// Peform logic based on the value of the New Order Diabetes
|
||||
If NOD_Selected = True then
|
||||
Found_DietConOrder.IsSelected := True;
|
||||
Found_DietConOrder.IsReadOnly := True;
|
||||
Set_Comment.Value := "By selecting New Onset Diabetes- an order for a Dietitian Consult (New Onset Diabetes) has automatically been created";
|
||||
Set_ConReason.Value := "New Onset Diabetes";
|
||||
else
|
||||
Found_DietConOrder.IsSelected := False;
|
||||
Found_DietConOrder.IsReadOnly := False;
|
||||
Set_Comment.Value := "By deselecting New Onset Diabetes- the order for Dietitian Consult (New Onset Diabetes) has automatically been removed";
|
||||
Set_ConReason.Value := "";
|
||||
endif;
|
||||
|
||||
// Set set from field to record the new value of New Order Diabetes (can tell if it changes again)
|
||||
PrevCon_Fld.Value:= NOD_Selected;
|
||||
endif;
|
||||
|
||||
ElseIf CallingField = "MultiOrderCheckBox|4" then
|
||||
Labs_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_List.Control_MultiFieldOccNum = 8);
|
||||
Labs_list :=Labs_fld.Value;
|
||||
Found_LabPreal:= first of (Labs_list where Labs_list.Name = "Prealbumin");
|
||||
Found_LabDaily:= first of (Labs_list where Labs_list.Name = "Daily Orders:");
|
||||
Nutrit_Comment := last of (field_list where field_list.DataItemName = "NUR_Comment 4");
|
||||
|
||||
|
||||
Consult_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox" and field_List.Control_MultiFieldOccNum = 5);
|
||||
Consult_list :=Consult_fld.Value;
|
||||
|
||||
|
||||
If Found_NoRisk.IsSelected = True then
|
||||
Nutrit_Comment.Value := "";
|
||||
endif;
|
||||
|
||||
If (OneOfRest = True) then
|
||||
Found_LabPreal.IsReadOnly := True;
|
||||
Found_LabPreal.IsSelected := True;
|
||||
Found_LabDaily.IsReadonly := True;
|
||||
Found_LabDaily.IsSelected := True;
|
||||
Nutrit_Comment.Value := "By selecting a Nutritional Risk, the Prealbumin labs have automatically been created";
|
||||
endif;
|
||||
|
||||
If (OneOfRest = False) And (Found_LabPreal.IsReadOnly = True) And (Found_NoRisk.IsSelected = False) then
|
||||
Found_LabPreal.IsReadOnly := False;
|
||||
Found_LabPreal.IsSelected := False;
|
||||
Found_LabDaily.IsReadonly := False;
|
||||
Found_LabDaily.IsSelected := False;
|
||||
Nutrit_Comment.Value := "By deselecting all Nutritional Risks, the Prealbumin labs have automatically been removed";
|
||||
endif;
|
||||
ElseIf CallingField = "MultiOrderCheckBox|7" then
|
||||
SmokeCon_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_List.Control_MultiFieldOccNum = 5);
|
||||
SmokeCon_list :=SmokeCon_fld.Value;
|
||||
Found_SmokeConOrder:= first of (SmokeCon_list where SmokeCon_list.Name = "Pulmonary Health Education Consult");
|
||||
Smoke_Comment := last of (field_list where field_list.DataItemName = "NUR_Comment 3");
|
||||
Smoke_ConReason := last of (field_list where field_list.DataItemName = "RESP Pulmonary Health Education");
|
||||
|
||||
PrevUseToB_Fld := last of (field_list where field_list.DataItemName = "NUR_CheckBox 2");
|
||||
PrevUseToB_Value := PrevUseToB_Fld.Value;
|
||||
|
||||
PrevLess12_Fld := last of (field_list where field_list.DataItemName = "NUR_CheckBox 3");
|
||||
PrevLess12_Value:= PrevLess12_Fld.Value;
|
||||
|
||||
|
||||
If Found_NoRisk.IsSelected = True then
|
||||
Smoke_Comment.Value := "";
|
||||
Smoke_ConReason := " ";
|
||||
Smoke_ConReason := "";
|
||||
endif;
|
||||
|
||||
Found_UTBOrder:= first of (Grid_list where Grid_list .Name = "Patient Uses Tobacco");
|
||||
UTB_Selected:= Found_UTBOrder.IsSelected;
|
||||
Found_Less12Order := first of (Grid_list where Grid_list .Name = "Quit tobacco use in the last 12 months");
|
||||
Less12_Selected := Found_Less12Order.IsSelected;
|
||||
|
||||
If Less12_Selected = PrevLess12_Value then
|
||||
Robert:="KEWL";
|
||||
Else
|
||||
If Less12_Selected = True then
|
||||
Found_UTBOrder.IsReadOnly := True;
|
||||
Found_SmokeConOrder.IsSelected := True;
|
||||
Found_SmokeConOrder.IsReadOnly := True;
|
||||
Smoke_Comment.Value := "By selecting Smoking Risk Order- an order for a Pulmonary Health Education Consult (Quit Smoking in Last 12 Months) has automatically been created";
|
||||
Smoke_ConReason.Value := "Quit Smoking in Last 12 Months";
|
||||
Else
|
||||
Found_UTBOrder.IsReadOnly := False;
|
||||
Found_SmokeConOrder.IsSelected := False;
|
||||
Found_SmokeConOrder.IsReadOnly := False;
|
||||
Smoke_Comment.Value := "By deselecting Smoking Risk Order- an order for a Pulmonary Health Education Consult (Quit Smoking in Last 12 Months) has automatically been removed";
|
||||
Smoke_ConReason.Value := "";
|
||||
Endif;
|
||||
PrevLess12_Fld.Value:= Less12_Selected;
|
||||
endif;
|
||||
|
||||
If UTB_Selected = PrevUseToB_Value then
|
||||
Robert := "Still KEWL";
|
||||
Else
|
||||
If UTB_Selected = True then
|
||||
Found_Less12Order.IsReadOnly := True;
|
||||
Found_SmokeConOrder.IsSelected := True;
|
||||
Found_SmokeConOrder.IsReadOnly := True;
|
||||
Smoke_Comment.Value := "By selecting Smoking Risk Order- an order for a Pulmonary Health Education Consult (Smoking Cessation) has automatically been created";
|
||||
Smoke_ConReason.Value := "Smoking Cessation";
|
||||
Else
|
||||
Found_Less12Order.IsReadonly := False;
|
||||
Found_SmokeConOrder.IsSelected := False;
|
||||
Found_SmokeConOrder.IsReadOnly := False;
|
||||
Smoke_Comment.Value := "By deselecting Smoking Risk Order- an order for a Pulmonary Health Education Consult (Smoking Cessation) has automatically been removed";
|
||||
Smoke_ConReason.Value := "";
|
||||
Endif;
|
||||
PrevUseToB_Fld.Value := UTB_Selected;
|
||||
endif;
|
||||
|
||||
ElseIf CallingField = "MultiOrderCheckBox|9" then
|
||||
Infection_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox" and field_List.Control_MultiFieldOccNum = 9);
|
||||
Infection_list :=Infection_fld.Value;
|
||||
Found_CentralLine:= first of (Infection_list where Infection_list.Name = "Catheter: Central Line");
|
||||
Found_PICCLine:= first of (Infection_list where Infection_list.Name = "Catheter: PICC Line");
|
||||
Found_PortLine:= first of (Infection_list where Infection_list.Name = "Catheter: Port");
|
||||
InfusCons_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox"and field_List.Control_MultiFieldOccNum = 5);
|
||||
InfusCons_list :=InfusCons_fld.Value;
|
||||
Found_InfusConsOrder:= first of (InfusCons_list where InfusCons_list.Name = "Infusion Center Consult");
|
||||
|
||||
Inf_ConReason := last of (field_list where field_list.DataItemName = "INF_Consult Reason");
|
||||
DevicesOnAdmission_Comment := last of (field_list where field_list.DataItemName = "NUR_Comment 6");
|
||||
Catheter_Flag := last of (field_list where field_list.DataItemName = "NUR_Catheter");
|
||||
|
||||
If (Found_CentralLine.IsSelected = True) or (Found_PICCLine.IsSelected = True) or (Found_PortLine.IsSelected = True) and Catheter_Flag.value = False then
|
||||
Found_InfusConsOrder.IsSelected := True;
|
||||
Found_InfusConsOrder.IsReadOnly := True;
|
||||
DevicesOnAdmission_Comment.Value := "By selecting a Port, Central Line or PICC Line, an Infusion Center Consult has been automatically been created";
|
||||
Inf_ConReason.Value := "Device(s) present on admission, ED, OR";
|
||||
Catheter_Flag.Value := True;
|
||||
endif;
|
||||
|
||||
If (Found_CentralLine.IsSelected = False) and (Found_PICCLine.IsSelected = False) and (Found_PortLine.IsSelected = False) and Catheter_Flag.value = True then
|
||||
Found_InfusConsOrder.IsSelected := False;
|
||||
Found_InfusConsOrder.IsReadOnly := False;
|
||||
DevicesOnAdmission_Comment.Value := "By deselecting a Port, Central Line or PICC Line, an Infusion Center Consult has been automatically been created ";
|
||||
Inf_ConReason.Value := "";
|
||||
Catheter_Flag.Value := False;
|
||||
endif;
|
||||
|
||||
If Found_NoRisk.IsSelected = True then
|
||||
DevicesOnAdmission_Comment.Value := " ";
|
||||
Inf_ConReason := " ";
|
||||
endif;
|
||||
|
||||
endif;
|
||||
|
||||
|
||||
/* this_communication.DisplayForm := "Yes";
|
||||
this_communication.Message := "One Of Rest Selection is " || OneOfRest|| "\n\n" ||
|
||||
"NoRisk Select" || Found_NoRisk.IsSelected || "\n\n" ||
|
||||
"NoRisk Value " || Found_NoRisk.Value;
|
||||
this_communication.MessageType := "Informational";
|
||||
*/
|
||||
|
||||
|
||||
;;
|
||||
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:
|
||||
Reference in New Issue
Block a user