Initial Checking with all 820 MLMs
This commit is contained in:
229
MLMStripper/bin/Debug/FORM/FORM_DIET_SUPPLEMENT_REQ.mlm
Normal file
229
MLMStripper/bin/Debug/FORM/FORM_DIET_SUPPLEMENT_REQ.mlm
Normal file
@@ -0,0 +1,229 @@
|
||||
maintenance:
|
||||
|
||||
title: Change Supplement Form Per Required Fields And Frequency Checks;;
|
||||
mlmname: FORM_Diet_Supplement_Req;;
|
||||
arden: version 2;;
|
||||
version: 4.50;;
|
||||
institution: St Clair Diet MLM;;
|
||||
author: Robert Spence, Eclipsys Corp;;
|
||||
specialist: ;;
|
||||
date: 2006-03-31;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: This MLM checks the frequency valuse and 2 other required supplements
|
||||
|
||||
;;
|
||||
explanation: This MLM takes the data sent to CDS from Med order form fields in the Forms and
|
||||
Communications objects and compares it to Client Information to determine whether to display
|
||||
certain fields and make them mandatory.
|
||||
|
||||
A Banner message is presented to the user to remind them that these fields must be
|
||||
completed.
|
||||
|
||||
If the patient data does not meet the above conditions the fields are not visible on
|
||||
the form.
|
||||
|
||||
The MLM is not run from a trigger event, but rather is called by the application.
|
||||
|
||||
Change History:
|
||||
03/13/2007 RS Changed to disable buttons on field change of 3 supplement choices
|
||||
03/21/2012 TS/MJP Orders Rec Project 26841: DataItemName used for frequency value
|
||||
and summary changed to Frequencycode to correct frequency translation
|
||||
on Post Hospital Care Orders. Logic for UDDI Frequency Field included
|
||||
in logic to allow MLM to work with either field during turnover period
|
||||
of 4 hours for MLM to be recached. This field can be removed from the
|
||||
MLM and the call for the MLM on field change can be removed from this
|
||||
field on the form for any subsequent changes to this MLM.
|
||||
|
||||
;;
|
||||
keywords: Called MLMs, Form fields, Frequency, Supplements
|
||||
;;
|
||||
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;
|
||||
|
||||
|
||||
|
||||
/***************************************************************************************/
|
||||
|
||||
// Initialize error message
|
||||
error_message:="";
|
||||
|
||||
// Assigns fields passed in the Form object to the Field object
|
||||
field_list:= this_form.fields;
|
||||
CallingField :=this_communication.CallingFieldName;
|
||||
CallingEvent :=this_communication.CallingEvent;
|
||||
|
||||
// This sets the visible control on the field dataitem - FrequencyCode
|
||||
Supplement_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_DSS_Supplement" );
|
||||
|
||||
Specific_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_DSS_Supplement Flavors" );
|
||||
|
||||
PerPatient_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_Supplements per Patient" );
|
||||
|
||||
Note_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_Supplement Flavor Note" );
|
||||
//Initial value
|
||||
|
||||
NoteValue:="Supplement flavors will be varied. If you prefer specific flavors, they must be selected specifically.";
|
||||
UDFreq_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_Supplement Frequency" );
|
||||
Freq_field := first of (field_list
|
||||
where field_list.DataItemName = "FrequencyCode" );
|
||||
|
||||
Freq_value := freq_field.value;
|
||||
Freq_summary := freq_value.frequencysummary;
|
||||
|
||||
Breakfast_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_1_Breakfast" );
|
||||
MidMorning_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_2_Mid Morning" );
|
||||
Lunch_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_3_Lunch" );
|
||||
MidAfternoon_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_4_Mid Afternoon" );
|
||||
Dinner_field := first of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_5_Dinner" );
|
||||
BeforeBed_field := last of (field_list
|
||||
where field_list.DataItemName = "DIET_SSP_LO_6_Before Bed" );
|
||||
|
||||
If CallingEvent="FieldChange"
|
||||
then
|
||||
If ((CallingField="FrequencyCode") or (CallingField="DIET_Supplement Frequency"))
|
||||
then
|
||||
If Freq_summary = "Daily" OR UDFreq_field.value = "Daily"
|
||||
then
|
||||
Breakfast_field.Value :=FALSE;
|
||||
MidMorning_field.Value :=FALSE;
|
||||
Lunch_field.Value :=TRUE;
|
||||
MidAfternoon_field.Value :=FALSE;
|
||||
Dinner_field.Value :=FALSE;
|
||||
BeforeBed_field.Value :=FALSE;
|
||||
elseif (Freq_summary = "BID" OR UDFreq_field.value = "BID")
|
||||
then
|
||||
Breakfast_field.Value :=FALSE;
|
||||
MidMorning_field.Value :=FALSE;
|
||||
Lunch_field.Value :=TRUE;
|
||||
MidAfternoon_field.Value :=FALSE;
|
||||
Dinner_field.Value :=TRUE;
|
||||
BeforeBed_field.Value :=FALSE;
|
||||
elseif (Freq_summary = "TID" OR UDFreq_field.value = "TID")
|
||||
then
|
||||
Breakfast_field.Value :=TRUE;
|
||||
MidMorning_field.Value :=FALSE;
|
||||
Lunch_field.Value :=TRUE;
|
||||
MidAfternoon_field.Value :=FALSE;
|
||||
Dinner_field.Value :=TRUE;
|
||||
BeforeBed_field.Value :=FALSE;
|
||||
elseif (Freq_summary = "QID" OR UDFreq_field.value = "QID")
|
||||
then
|
||||
Breakfast_field.Value :=TRUE;
|
||||
MidMorning_field.Value :=FALSE;
|
||||
Lunch_field.Value :=TRUE;
|
||||
MidAfternoon_field.Value :=FALSE;
|
||||
Dinner_field.Value :=TRUE;
|
||||
BeforeBed_field.Value :=TRUE;
|
||||
else
|
||||
Breakfast_field.Value :=FALSE;
|
||||
MidMorning_field.Value :=FALSE;
|
||||
Lunch_field.Value :=FALSE;
|
||||
MidAfternoon_field.Value :=FALSE;
|
||||
Dinner_field.Value :=FALSE;
|
||||
BeforeBed_field.Value :=FALSE;
|
||||
endif;
|
||||
elseif (CallingField =("DIET_DSS_Supplement"))
|
||||
then
|
||||
If (Supplement_field.Value Is Not Null)
|
||||
Then
|
||||
Specific_field.value :="";
|
||||
Specific_field.control_read_only :=True;
|
||||
PerPatient_field.value :=False;
|
||||
PerPatient_field.control_read_only :=True;
|
||||
Note_Field.Value :="By selecting a Supplement, you are not able to select a Specific Flavor or Patient{{{SINGLE-QUOTE}}}s Choice";
|
||||
else
|
||||
Specific_field.control_read_only :=False;
|
||||
PerPatient_field.control_read_only :=False;
|
||||
Note_Field.Value :=NoteValue;
|
||||
endif;
|
||||
elseif (CallingField =("DIET_DSS_Supplement Flavors"))
|
||||
then
|
||||
If (Specific_field.value Is Not Null)
|
||||
Then
|
||||
Supplement_field.value :="";
|
||||
Supplement_field.control_read_only :=True;
|
||||
PerPatient_field.value :=False;
|
||||
PerPatient_field.control_read_only :=True;
|
||||
Note_Field.Value :="By selecting a Specific Flavor, you are not able to select Supplement or Patient{{{SINGLE-QUOTE}}}s Choice";
|
||||
else
|
||||
Supplement_field.control_read_only :=False;
|
||||
PerPatient_field.control_read_only :=False;
|
||||
Note_Field.Value :=NoteValue;
|
||||
endif;
|
||||
elseif (CallingField = "DIET_Supplements per Patient")
|
||||
then
|
||||
If PerPatient_Field.Value = TRUE
|
||||
Then
|
||||
Supplement_field.value :="";
|
||||
Supplement_field.control_read_only :=True;
|
||||
Specific_field.value :="";
|
||||
Specific_field.control_read_only :=True;
|
||||
Note_Field.Value :="By selecting Patient{{{SINGLE-QUOTE}}}s Choice, you are not able to select a Supplement or a Specific Flavor";
|
||||
else
|
||||
Supplement_field.control_read_only :=False;
|
||||
Specific_field.control_read_only :=False;
|
||||
Note_Field.Value :=NoteValue;
|
||||
endif;
|
||||
endif;
|
||||
elseif (CallingEvent ="FormClose")
|
||||
then
|
||||
if (PerPatient_Field.Value = False) and (Supplement_field.Value Is Null) and (Specific_field.value Is Null)
|
||||
then
|
||||
this_communication.DisplayForm := "Yes";
|
||||
this_communication.Message := "You must select at least one Supplement";
|
||||
this_communication.MessageType := "Error";
|
||||
// Supplement_field.value :=Supplement_field.value;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
// this_communication.DisplayForm := "Yes";
|
||||
// this_communication.Message := "The Frequency is: " || In_Frequency_field || "\n" || "Freq defined as: "|| Freq
|
||||
// || "\n" || "Calling event is: " || CallingEvent
|
||||
// || "\n" || "Calling field is : " || CallingField;
|
||||
// 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