217 lines
7.4 KiB
Plaintext
217 lines
7.4 KiB
Plaintext
maintenance:
|
|
|
|
title: St.Clair: Promod selection on tube feeds;;
|
|
mlmname: FORM_Diet_TubeFeed_Promod;;
|
|
arden: version 2;;
|
|
version: 4.50;;
|
|
institution: St Clair;;
|
|
author: Don Warnick, Eclipsys Corp;;
|
|
specialist: ;;
|
|
date: 2006-08-23;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Value the DIET_DSS_Supplement with Promod if the Promod Check Box is selected.
|
|
|
|
;;
|
|
|
|
explanation: This MLM is called from two forms, the DIET_TubeFeed.
|
|
|
|
It values the DIET_DSS_Supplement with Protein Powder if the Add Protien Powder Check Box is checked.
|
|
|
|
It values the DIET_DSS_Supplement with blanks if the Add Protien Powder Check Box is unchecked.
|
|
|
|
|
|
Change history
|
|
|
|
09.08.2009 JM Changes made to make the Prosource Frequency mandatory if Add Prosource Liquid Protein is selected.
|
|
09.08.2009 JM Also, added requirement that two fields be mandatory if Selectable Add Banana Flakes is checked.
|
|
09.09.2011 MJP Changed supplement field value from Prosource Liquid Protein to LiquaCel Liquid Protein Vary.
|
|
09.02.2014 DW CSR# 32365 - Additional fields become mandatory when continuous schedule is selected
|
|
04.26.2016 DW CSR# 34212 - Dietitian May Modify button selection
|
|
|
|
|
|
;;
|
|
keywords: Called MLMs, Form fields, Protein Powder
|
|
;;
|
|
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;
|
|
|
|
// Value the Diet_DSS_Supplement field based upon the status of the Protein Powder Check Box
|
|
|
|
Supplement_Field := last of (field_list where field_list.DataItemName = "DIET_DSS_Protein" );
|
|
AddPromod_Field := last of (field_list where field_list.DataItemName = "DIET_Add Promod" );
|
|
scoops := last of (field_list where field_list.DataItemName = "DIET_TUBE_VL_scoops_# Scoops" );
|
|
ProFreq := last of (field_list where field_list.DataItemName = "DIET_Add Protein Frequency"); //23047
|
|
Banana_Field := last of (field_list where field_list.DataItemName = "DIET_DSS_Banana"); //23047
|
|
BFlakes_Field := last of (field_list where field_list.DataItemName = "DIET_Banana Flakes"); //23047
|
|
Flakes := (field_list where field_list.DataItemName = "DIET_#Packets_Banana Flakes"); //23047
|
|
BFFreq := (field_list where field_list.DataItemName = "DIET_Add Banana Frequency"); //23047
|
|
schedule := last of (field_list where field_list.DataItemName = "DIET_Tube Feed Schedule" );
|
|
amount := last of (field_list where field_list.DataItemName = "DIET_TUBE_VL_cc_AMOUNT" );
|
|
frequency:= last of (field_list where field_list.DataItemName = "DIET_TUBE_VO_Frequency" );
|
|
flowstart := last of (field_list where field_list.DataItemName = "DIET_TUBE_VL_mL/hr Start Rate" );
|
|
flowgoal := last of (field_list where field_list.DataItemName = "DIET_TUBE_VL_mL/hr Goal Rate" );
|
|
feedadv := last of (field_list where field_list.DataItemName = "DIET_Tube Feed Advance" );
|
|
feedadvfreq:= last of (field_list where field_list.DataItemName = "DIET_Tube Feed Adv Freq" );
|
|
|
|
Dietitian_May_Modify_SummaryLine:= last of (field_list where field_list.DataItemName = "DIET_May Not Modify" );
|
|
Dietitian_May_Modify_Selection := last of (field_list where field_list.DataItemName = "DIET_May Modify" );
|
|
|
|
|
|
// FIELD CHANGE
|
|
|
|
|
|
if (CallingEvent = "FieldChange") then
|
|
|
|
// If the "Dietitian May Modfiy" button is de-selected, select the special instructions box "Not to be modified by dietitian"
|
|
|
|
If CallingField="DIET_May Modify" then
|
|
If Dietitian_May_Modify_Selection.Value = true
|
|
then
|
|
Dietitian_May_Modify_SummaryLine.Value := false;
|
|
endif;
|
|
|
|
If Dietitian_May_Modify_Selection.Value = false
|
|
then
|
|
Dietitian_May_Modify_SummaryLine.Value := true;
|
|
endif;
|
|
|
|
endif;
|
|
|
|
|
|
endif; // Field Change
|
|
|
|
|
|
// FORM CLOSE
|
|
|
|
|
|
If CallingEvent = "FormCLose"
|
|
|
|
then
|
|
|
|
If schedule.value = "Continuous" and flowstart.value is null and flowgoal.value is null
|
|
then
|
|
this_communication.Message := " Flow Rate Required "; this_communication.MessageType := "Informational";
|
|
endif;
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
If AddPromod_Field.value = true
|
|
then
|
|
Supplement_Field.value := "LiquaCel Liquid Protein Vary";
|
|
scoops.control_mandatory:= true;
|
|
scoops.control_read_only:=false;
|
|
ProFreq.control_mandatory:= true;
|
|
ProFreq.control_read_only:=false;
|
|
else
|
|
Supplement_Field.value := "";
|
|
scoops.control_mandatory:= false;
|
|
scoops.control_read_only:=true;
|
|
ProFreq.control_mandatory:= false;
|
|
ProFreq.control_read_only:=true;
|
|
scoops.value := "";
|
|
ProFreq.value := "";
|
|
endif;
|
|
|
|
If BFlakes_Field.value = true
|
|
then
|
|
Banana_Field.value := "Banana Flakes";
|
|
Flakes.control_mandatory:= true;
|
|
Flakes.control_read_only:=false;
|
|
BFFreq.control_mandatory:= true;
|
|
BFFreq.control_read_only:=false;
|
|
else
|
|
Banana_Field.value := "";
|
|
Flakes.control_mandatory:= false;
|
|
Flakes.control_read_only:=true;
|
|
BFFreq.control_mandatory:= false;
|
|
BFFreq.control_read_only:=true;
|
|
Flakes.value := "";
|
|
BFFreq.value := "";
|
|
endif;
|
|
|
|
If schedule.value = "Continuous"
|
|
then
|
|
// flowstart.control_mandatory:=true;
|
|
flowstart.control_read_only:=false;
|
|
// flowgoal.control_mandatory:=true;
|
|
flowgoal.control_read_only:=false;
|
|
// feedadv.control_mandatory:=true;
|
|
feedadv.control_read_only:=false;
|
|
// feedadvfreq.control_mandatory:=true;
|
|
feedadvfreq.control_read_only:=false;
|
|
amount.control_mandatory:=false;
|
|
amount.control_read_only:=true;
|
|
amount.value := "";
|
|
frequency.control_mandatory:=false;
|
|
frequency.control_read_only:=true;
|
|
frequency.value := "";
|
|
|
|
elseif schedule.value="Intermittent"
|
|
then
|
|
amount.control_mandatory:=true;
|
|
amount.control_read_only:=false;
|
|
frequency.control_mandatory:=true;
|
|
frequency.control_read_only:=false;
|
|
flowstart.control_mandatory:=false;
|
|
flowstart.control_read_only:=true;
|
|
flowstart.value := "";
|
|
flowgoal.control_mandatory:=false;
|
|
flowgoal.control_read_only:=true;
|
|
flowgoal.value := "";
|
|
feedadv.control_mandatory:=false;
|
|
feedadv.control_read_only:=true;
|
|
feedadv.value := "";
|
|
feedadvfreq.control_mandatory:=false;
|
|
feedadvfreq.control_read_only:=true;
|
|
feedadvfreq.value := "";
|
|
|
|
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:
|