Initial Checking with all 820 MLMs
This commit is contained in:
601
MLMStripper/bin/Debug/FORM/FORM_SET_VANCOMYCIN_TROUGH_ORDERS.mlm
Normal file
601
MLMStripper/bin/Debug/FORM/FORM_SET_VANCOMYCIN_TROUGH_ORDERS.mlm
Normal file
@@ -0,0 +1,601 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_SET_VANCOMYCIN_TROUGH_ORDERS;;
|
||||
mlmname: FORM_SET_VANCOMYCIN_TROUGH_ORDERS;;
|
||||
arden: version 2.5;;
|
||||
version: 6.10;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Juliet M. Law, Allscripts ;;
|
||||
specialist: Bryan Berkeybile, Allscripts;;
|
||||
date: 2014-04-28;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose:
|
||||
;;
|
||||
|
||||
explanation: This MLM is called from Vancomycin Orders - Trough order set.
|
||||
|
||||
Change history
|
||||
2014.04.28 JML CSR 32241: Created
|
||||
2015.03.23 JML Moved to Production.
|
||||
2015.03.24 JML Issue found where STAT and NOW orders being pulled to calculate trough times, causing errors in calculation.
|
||||
|
||||
|
||||
|
||||
;;
|
||||
keywords: Called MLMs
|
||||
;;
|
||||
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";
|
||||
|
||||
//Local session object
|
||||
local_session := cds_session.local;
|
||||
|
||||
// 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;
|
||||
|
||||
//Boolean to determine if first administration needs calculated
|
||||
calc_first_admin := false;
|
||||
//Boolean to determine if Trough order is selected
|
||||
is_trough_selected := 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;
|
||||
ClientGuid := this_communication.ClientGUID;
|
||||
ClientVisitGuid := this_communication.ClientVisitGUID;
|
||||
ChartGuid := this_communication.ChartGUID;
|
||||
FormName := this_form.Name;
|
||||
PrimaryObjDetail := this_communication.PrimaryObj;
|
||||
OrderSetName := PrimaryObjDetail.OrderSetName;
|
||||
|
||||
//Retrieve Fields
|
||||
Last_Admin_Date := last of (field_list WHERE field_list.DataItemName = "LAB_Chem_Date_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Last_Admin_Time := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Time_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
First_Admin_Ckbx := last of ( field_list WHERE field_list.DataItemName = "PRX_Checkbox1"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
First_Admin_Date := last of ( field_list WHERE field_List.DataItemName = "LAB_Chem_Date_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
First_Admin_Time := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Time_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
|
||||
Second_Admin_Ckbx := last of ( field_list WHERE field_list.DataItemName = "PRX_Checkbox1"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
Second_Admin_Date := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Date_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
Second_Admin_Time := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Time_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
|
||||
Third_Admin_Ckbx := last of ( field_list WHERE field_list.DataItemName = "PRX_Checkbox1"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
Third_Admin_Date := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Date_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 4);
|
||||
Third_Admin_Time := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Time_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 4);
|
||||
|
||||
Fourth_Admin_Ckbx := last of ( field_list WHERE field_list.DataItemName = "PRX_Checkbox1"
|
||||
and field_list.Control_MultiFieldOccNum = 4);
|
||||
Fourth_Admin_Date := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Date_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 5);
|
||||
Fourth_Admin_Time := last of ( field_list WHERE field_list.DataItemName = "LAB_Chem_Time_TDM"
|
||||
and field_list.Control_MultiFieldOccNum = 5);
|
||||
|
||||
Vanco_orders := last of ( field_list WHERE field_list.DataItemname = "MultiOrderGrid"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
Vanco_orders_List := Vanco_orders.Value;
|
||||
|
||||
Vanco_trough := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
Vanco_trough_Val := Vanco_trough.Value;
|
||||
|
||||
Vanco_trough_ReqDate := last of ( field_list WHERE field_list.DataItemName = "RequestedDate"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Vanco_trough_ReqTime := last of ( field_list WHERE field_list.DataItemName = "RequestedTime"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
//Retrieve last administration time
|
||||
( OrderGUID,
|
||||
adminDtm,
|
||||
adminTime,
|
||||
adminSchTime,
|
||||
lastFreq,
|
||||
orderCreated ) := read last {"SELECT TOP 1 o.GUID, CONVERT( varchar(10), ot.PerformedFromDtm, 110),"
|
||||
|| " CONVERT( varchar(5), ot.PerformedFromDtm, 14), CONVERT( varchar(5), ot.ScheduledDtm, 14), o.FrequencyCode,"
|
||||
|| " o.CreatedWhen"
|
||||
|| " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)"
|
||||
|| " ON cv.ClientGUID = o.ClientGUID"
|
||||
|| " AND cv.GUID = o.ClientVisitGUID"
|
||||
|| " AND cv.ChartGUID = o.ChartGUID"
|
||||
|| " JOIN CV3OrderTaskOccurrence ot WITH (NOLOCK)"
|
||||
|| " ON ot.ClientGUID = o.ClientGUID"
|
||||
|| " AND ot.OrderGUID = o.GUID"
|
||||
|| " WHERE o.NAME LIKE {{{SINGLE-QUOTE}}}VANCOMYCIN%{{{SINGLE-QUOTE}}}"
|
||||
|| " AND ot.TaskStatusCode = {{{SINGLE-QUOTE}}}Performed{{{SINGLE-QUOTE}}}"
|
||||
|| " AND cv.ClientGUID = " || Sql(ClientGUID)
|
||||
|| " AND cv.GUID = " || Sql(ClientVisitGUID)
|
||||
|| " AND cv.ChartGUID = " || Sql(ChartGUID)
|
||||
|| " order by ot.ScheduledDtm desc"};
|
||||
|
||||
if ( CallingEvent = "FormOpen" ) then
|
||||
|
||||
//Update Fields
|
||||
if ( exists orderGUID ) then
|
||||
Last_Admin_Date.Value := adminDtm;
|
||||
Last_Admin_Time.Value := adminTime;
|
||||
|
||||
endif;
|
||||
|
||||
Vanco_trough_ReqDate.Value := "T";
|
||||
|
||||
elseif ( CallingEvent = "FieldChange" ) then
|
||||
|
||||
if ( CallingField = "MultiOrderGrid|3" ) then
|
||||
|
||||
//Determine if the Vancomycin Trough lab was selected - if not, then no calculation is needed
|
||||
is_trough_selected := first of ( vanco_trough_val.IsSelected
|
||||
WHERE vanco_trough_val.Name = "Vancomycin Trough Plasma/Serum");
|
||||
|
||||
if ( is_trough_selected = true ) then
|
||||
|
||||
//Determine if any vancomycin order was selected
|
||||
if ( NOT ( true IN Vanco_Orders_List.IsSelected ) ) then
|
||||
|
||||
//Check for unsubmitted vancomycin orders captured in event triggered MLM and set in session var.
|
||||
if ( local_session.SessionUnsubVancoExists = true ) then
|
||||
|
||||
First_Admin_Date.Value := local_session.SessionVancoTroughScheduledDate;
|
||||
|
||||
//Need to format the time
|
||||
temp_time := local_session.SessionVancoTroughScheduledTime as Time;
|
||||
temp_time_hour := EXTRACT HOUR temp_time;
|
||||
if ( length ( temp_time_hour as string ) = 1 ) then
|
||||
temp_time_hour := "0" || temp_time_hour;
|
||||
endif;
|
||||
|
||||
temp_time_min := EXTRACT MINUTE temp_time;
|
||||
if ( length ( temp_time_min as string ) = 1 ) then
|
||||
temp_time_min := "0" || temp_time_min;
|
||||
endif;
|
||||
First_Admin_Time.Value := temp_time_hour || ":" || temp_time_min;
|
||||
|
||||
VancoScheduledFrequency := local_session.SessionVancoTroughFrequency;
|
||||
|
||||
else
|
||||
|
||||
//No unsubmitted orders
|
||||
//Check for existing vancomycin order that has NOT been administered - this
|
||||
//would be different than the performed vancomycin order checked for at the beginning of this MLM
|
||||
(newer_vanco_order,
|
||||
newer_vanco_reqDate,
|
||||
newer_vanco_reqTime,
|
||||
newer_vanco_freq) := READ LAST {"SELECT o.NAME, o.RequestedDate, CONVERT(varchar(5), o.RequestedDtm, 14), o.FrequencyCode"
|
||||
|| " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)"
|
||||
|| " ON cv.GUID = o.ClientVisitGUID"
|
||||
|| " AND cv.ClientGUID = o.ClientGUID"
|
||||
|| " AND cv.ChartGUID = o.ChartGUID"
|
||||
|| " WHERE cv.ClientGUID = " || Sql(ClientGUID)
|
||||
|| " AND cv.GUID = " || Sql(ClientVisitGUID)
|
||||
|| " AND cv.ChartGUID = " || Sql(ChartGUID)
|
||||
|| " AND o.Name = {{{SINGLE-QUOTE}}}Vancomycin:{{{SINGLE-QUOTE}}}"
|
||||
|| " AND o.GUID <> " || Sql(OrderGUID)
|
||||
|| " AND o.CreatedWhen > " || Sql(orderCreated)
|
||||
|| " AND o.FrequencyCode LIKE {{{SINGLE-QUOTE}}}Q%{{{SINGLE-QUOTE}}}"
|
||||
|| " AND ((o.OrderStatusLevelNum > 15"
|
||||
|| " AND o.OrderStatusLevelNum NOT IN ({{{SINGLE-QUOTE}}}69{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}70{{{SINGLE-QUOTE}}}))"
|
||||
|| " OR o.OrderStatusCode = {{{SINGLE-QUOTE}}}HOLD{{{SINGLE-QUOTE}}})"};
|
||||
|
||||
if ( exists ( newer_vanco_order ) ) then
|
||||
First_Admin_Date.Value := newer_vanco_reqDate;
|
||||
First_Admin_Time.Value := newer_vanco_reqTime;
|
||||
|
||||
VancoScheduledFrequency := newer_vanco_freq;
|
||||
|
||||
else
|
||||
//No unsubmitted vanco orders exist and no newer vanco orders exist
|
||||
//base the future admin calculations on the next scheduled dose not administered from last administered
|
||||
calc_first_admin := true;
|
||||
VancoScheduledFrequency := lastFreq;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
else
|
||||
//If vancomycin was selected, then the first future admin calculation is the first scheduled
|
||||
//admin based on the antibiotic scheduling
|
||||
First_Admin_Date.Value := local_session.SessionVancoTroughScheduledDate;
|
||||
|
||||
//Need to format the time
|
||||
temp_time := local_session.SessionVancoTroughScheduledTime as Time;
|
||||
temp_time_hour := EXTRACT HOUR temp_time;
|
||||
if ( length ( temp_time_hour as string ) = 1 ) then
|
||||
temp_time_hour := "0" || temp_time_hour;
|
||||
endif;
|
||||
|
||||
temp_time_min := EXTRACT MINUTE temp_time;
|
||||
if ( length ( temp_time_min as string ) = 1 ) then
|
||||
temp_time_min := "0" || temp_time_min;
|
||||
endif;
|
||||
First_Admin_Time.Value := temp_time_hour || ":" || temp_time_min;
|
||||
|
||||
//Set the frequency to the selected vancomycin order for grid above
|
||||
VancoScheduledFrequency := local_session.SessionVancoTroughFrequency;
|
||||
endif;
|
||||
|
||||
//This MLM will only support Qx frequencies
|
||||
if ( VancoScheduledFrequency matches pattern "Q%" ) then
|
||||
( frequencyNum,
|
||||
frequencyUOM ) := read last {"SELECT f.TimeFromValue, f.TimeUOM"
|
||||
|| " FROM CV3Frequency f WITH (NOLOCK)"
|
||||
|| " WHERE f.Code = " || Sql(VancoScheduledFrequency) };
|
||||
endif;
|
||||
|
||||
//************ Calculate First Admin Date and Time ****************************************
|
||||
//Only calculate first admin IF no vancomycin order was selected from above grid
|
||||
if ( calc_first_admin = true ) then
|
||||
admin_Hour := (extract hour ( adminSchTime as Time ) ) as number;
|
||||
admin_Min := ( extract minute ( adminSchTime as Time ) ) as number;
|
||||
if ( admin_Min = 0 ) then
|
||||
admin_Min := "00";
|
||||
endif;
|
||||
|
||||
newFirstAdmin_Hour := admin_Hour + (frequencyNum as number);
|
||||
|
||||
new_admin_month := SUBSTRING 2 CHARACTERS From ( Last_Admin_Date.Value as string );
|
||||
new_admin_day := Substring 2 Characters starting at 4 from ( Last_Admin_Date.Value as string );
|
||||
new_admin_year := substring 4 characters starting at 7 from ( Last_Admin_Date.Value as string );
|
||||
new_admin_dtm := new_admin_year || "-" || new_admin_month || "-" || new_admin_day || "T00:01:00";
|
||||
|
||||
new_admin := new_admin_dtm as Time;
|
||||
|
||||
if ( newFirstAdmin_Hour < 24 ) then
|
||||
First_Admin_Date.Value := new_admin;
|
||||
if ( newFirstAdmin_Hour >= 1 AND newFirstAdmin_Hour <= 9 ) then
|
||||
First_Admin_Time.Value := "0" || newFirstAdmin_Hour || ":" || admin_Min;
|
||||
else
|
||||
First_Admin_Time.Value := newFirstAdmin_Hour || ":" || admin_Min;
|
||||
endif;
|
||||
elseif ( newFirstAdmin_Hour > 24 ) then
|
||||
|
||||
|
||||
if ( frequencyNum > 24 ) then
|
||||
newFirstAdmin_Hour := ( newFirstAdmin_Hour - ( frequencyNum as number ) ) as number;
|
||||
First_Admin_Date.Value := new_admin + 2 days;
|
||||
else
|
||||
newFirstAdmin_Hour := ( newFirstAdmin_Hour - 24 ) as number;
|
||||
First_Admin_Date.Value := new_admin + 1 day;
|
||||
endif;
|
||||
|
||||
if ( newFirstAdmin_Hour >= 1 AND newFirstAdmin_Hour <= 9 ) then
|
||||
First_Admin_Time.Value := "0" || newFirstAdmin_Hour || ":" || admin_Min;
|
||||
else
|
||||
First_Admin_Time.Value := newFirstAdmin_Hour || ":" || admin_Min;
|
||||
endif;
|
||||
|
||||
elseif ( newFirstAdmin_Hour = 24 ) then
|
||||
First_Admin_Date.Value := new_admin + 1 day;
|
||||
First_Admin_Time.Value := "00:" || admin_Min;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
//************ Calculate Second Admin Date and Time ****************************************
|
||||
firstAdmin_Hour := (extract hour ( First_Admin_Time.Value as Time ) ) as number;
|
||||
secondAdmin_Min := ( extract minute ( First_Admin_Time.Value as Time ) ) as number;
|
||||
if ( secondAdmin_Min = 0 ) then
|
||||
secondAdmin_Min := "00";
|
||||
endif;
|
||||
|
||||
secondAdmin_Hour := firstAdmin_Hour + (frequencyNum as number);
|
||||
|
||||
sec_admin_month := SUBSTRING 2 CHARACTERS From ( First_Admin_Date.Value as string );
|
||||
sec_admin_day := Substring 2 Characters starting at 4 from ( First_Admin_Date.Value as string );
|
||||
sec_admin_year := substring 4 characters starting at 7 from ( First_Admin_Date.Value as string );
|
||||
sec_admin_dtm := sec_admin_year || "-" || sec_admin_month || "-" || sec_admin_day || "T00:01:00";
|
||||
|
||||
sec_admin := sec_admin_dtm as Time;
|
||||
|
||||
if ( secondAdmin_Hour < 24 ) then
|
||||
Second_Admin_Date.Value := sec_admin;
|
||||
if ( secondAdmin_Hour >= 1 AND secondAdmin_Hour <= 9 ) then
|
||||
Second_Admin_Time.Value := "0" || secondAdmin_Hour || ":" || secondAdmin_Min;
|
||||
else
|
||||
Second_Admin_Time.Value := secondAdmin_Hour || ":" || secondAdmin_Min;
|
||||
endif;
|
||||
elseif ( secondAdmin_Hour > 24 ) then
|
||||
|
||||
|
||||
if ( frequencyNum > 24 ) then
|
||||
secondAdmin_Hour := ( secondAdmin_Hour - ( frequencyNum as number ) ) as number;
|
||||
Second_Admin_Date.Value := sec_admin + 2 days;
|
||||
else
|
||||
secondAdmin_Hour := ( secondAdmin_Hour - 24 ) as number;
|
||||
Second_Admin_Date.Value := sec_admin + 1 day;
|
||||
endif;
|
||||
|
||||
if ( secondAdmin_Hour >= 1 AND secondAdmin_Hour <= 9 ) then
|
||||
Second_Admin_Time.Value := "0" || secondAdmin_Hour || ":" || secondAdmin_Min;
|
||||
else
|
||||
Second_Admin_Time.Value := secondAdmin_Hour || ":" || secondAdmin_Min;
|
||||
endif;
|
||||
|
||||
elseif ( secondAdmin_Hour = 24 ) then
|
||||
Second_Admin_Date.Value := sec_admin + 1 day;
|
||||
Second_Admin_Time.Value := "00:" || secondAdmin_Min;
|
||||
endif;
|
||||
|
||||
|
||||
//********************* Calculate Third Admin Date and Time **********************************
|
||||
//thirdAdmin_Hour := secondAdmin_Hour + (frequencyNum as number);
|
||||
|
||||
if ( secondAdmin_Hour = 24 ) then
|
||||
hour_value := 0;
|
||||
else
|
||||
hour_value := secondAdmin_Hour;
|
||||
endif;
|
||||
thirdAdmin_Hour := hour_value + ( frequencyNum as number );
|
||||
|
||||
thirdAdmin_Min := secondAdmin_Min;
|
||||
|
||||
third_admin_month := Substring 2 Characters From ( Second_Admin_Date.Value as string );
|
||||
third_admin_day := Substring 2 Characters Starting at 4 From ( Second_Admin_Date.Value as string );
|
||||
third_admin_year := Substring 4 Characters Starting at 7 From ( Second_Admin_Date.Value as string );
|
||||
|
||||
third_admin_dtm := third_admin_year || "-" || third_admin_month || "-" || third_admin_day || "T00:01:00";
|
||||
|
||||
third_admin := third_admin_dtm as Time;
|
||||
|
||||
if ( thirdAdmin_Hour < 24 ) then
|
||||
Third_Admin_Date.Value := Second_Admin_Date.Value;
|
||||
if ( thirdAdmin_Hour >= 1 AND thirdAdmin_Hour <= 9 ) then
|
||||
Third_Admin_Time.Value := "0" || thirdAdmin_Hour || ":" || thirdAdmin_Min;
|
||||
else
|
||||
Third_Admin_Time.Value := thirdAdmin_Hour || ":" || thirdAdmin_Min;
|
||||
endif;
|
||||
|
||||
elseif ( thirdAdmin_Hour > 24 ) then
|
||||
|
||||
if ( frequencyNum > 24 ) then
|
||||
thirdAdmin_Hour := ( thirdAdmin_Hour - ( frequencyNum as number ) ) as number;
|
||||
Third_Admin_Date.Value := third_admin + 2 days;
|
||||
else
|
||||
thirdAdmin_Hour := ( thirdAdmin_Hour - 24 ) as number;
|
||||
Third_Admin_Date.Value := third_admin + 1 day;
|
||||
|
||||
endif;
|
||||
|
||||
if ( thirdAdmin_Hour >= 1 AND thirdAdmin_Hour <= 9 ) then
|
||||
Third_Admin_Time.Value := "0" || thirdAdmin_Hour || ":" || thirdAdmin_Min;
|
||||
else
|
||||
Third_Admin_Time.Value := thirdAdmin_Hour || ":" || thirdAdmin_Min;
|
||||
endif;
|
||||
elseif ( thirdAdmin_Hour = 24 ) then
|
||||
Third_Admin_Date.Value := third_admin + 1 day;
|
||||
Third_Admin_Time.Value := "00:" || thirdAdmin_Min;
|
||||
endif;
|
||||
|
||||
|
||||
|
||||
//*********** Calculate Fourth Admin Date and Time ****************************
|
||||
if ( thirdAdmin_Hour = 24 ) then
|
||||
hour_value := 0;
|
||||
else
|
||||
hour_value := thirdAdmin_Hour;
|
||||
endif;
|
||||
fourthAdmin_Hour := hour_value + ( frequencyNum as number );
|
||||
|
||||
fourthAdmin_Min := secondAdmin_Min;
|
||||
|
||||
fourth_admin_month := Substring 2 Characters From ( Third_Admin_Date.Value as string );
|
||||
fourth_admin_day := Substring 2 Characters Starting at 4 From ( Third_Admin_Date.Value as string );
|
||||
fourth_admin_year := Substring 4 Characters Starting at 7 From ( Third_Admin_Date.Value as string );
|
||||
|
||||
fourth_admin_dtm := fourth_admin_year || "-" || fourth_admin_month || "-" || fourth_admin_day || "T00:01:00";
|
||||
|
||||
fourth_admin := fourth_admin_dtm as Time;
|
||||
|
||||
if ( fourthAdmin_Hour < 24 ) then
|
||||
Fourth_Admin_Date.Value := fourth_admin;
|
||||
if ( fourthAdmin_Hour >= 1 AND fourthAdmin_Hour <= 9 ) then
|
||||
Fourth_Admin_Time.Value := "0" || fourthAdmin_Hour || ":" || fourthAdmin_Min;
|
||||
else
|
||||
Fourth_Admin_Time.Value := fourthAdmin_Hour || ":" || fourthAdmin_Min;
|
||||
endif;
|
||||
|
||||
elseif ( fourthAdmin_Hour > 24 ) then
|
||||
|
||||
if ( frequencyNum > 24 ) then
|
||||
fourthAdmin_Hour := ( fourthAdmin_Hour - ( frequencyNum as number ) ) as number;
|
||||
Fourth_Admin_Date.Value := fourth_admin + 2 days;
|
||||
else
|
||||
fourthAdmin_Hour := ( fourthAdmin_Hour - 24 ) as number;
|
||||
Fourth_Admin_Date.Value := fourth_admin + 1 day;
|
||||
endif;
|
||||
|
||||
if ( fourthAdmin_Hour >= 1 AND fourthAdmin_Hour <= 9 ) then
|
||||
Fourth_Admin_Time.Value := "0" || fourthAdmin_Hour || ":" || fourthAdmin_Min;
|
||||
else
|
||||
Fourth_Admin_Time.Value := fourthAdmin_Hour || ":" || fourthAdmin_Min;
|
||||
endif;
|
||||
elseif ( fourthAdmin_Hour = 24 ) then
|
||||
Fourth_Admin_Date.Value := fourth_admin + 1 day;
|
||||
Fourth_Admin_Time.Value := "00:" || fourthAdmin_Min;
|
||||
endif;
|
||||
|
||||
endif;
|
||||
elseif ( CallingField = "MultiOrderGrid|2" ) then
|
||||
|
||||
Vanco_trough_Val.IsSelected := false;
|
||||
|
||||
First_Admin_Date.Value := null;
|
||||
First_Admin_Time.Value := "";
|
||||
First_Admin_Ckbx.Value := false;
|
||||
|
||||
Second_Admin_Date.Value := null;
|
||||
Second_Admin_Time.Value := "";
|
||||
Second_Admin_Ckbx.Value := false;
|
||||
|
||||
Third_Admin_Date.Value := null;
|
||||
Third_Admin_Time.Value := "";
|
||||
Third_Admin_Ckbx.Value := false;
|
||||
|
||||
Fourth_Admin_Date.Value := null;
|
||||
Fourth_Admin_Time.Value := "";
|
||||
Fourth_Admin_Ckbx.Value := false;
|
||||
|
||||
elseif ( CallingField = "PRX_Checkbox1|1" ) then
|
||||
|
||||
if ( First_Admin_ckbx.Value = true ) then
|
||||
//Toggle checkboxes
|
||||
Second_Admin_ckbx.Value := false;
|
||||
Third_Admin_ckbx.Value := false;
|
||||
Fourth_Admin_ckbx.Value := false;
|
||||
|
||||
if ( First_Admin_Date.Value is not null ) then
|
||||
Vanco_trough_ReqDate.Value := First_Admin_Date.Value;
|
||||
|
||||
a := ( First_Admin_Time.Value as Time ) - 30 minutes;
|
||||
b := extract hour a;
|
||||
if ( b >= 1 AND b <= 9 ) then
|
||||
b := "0" || b;
|
||||
endif;
|
||||
c := b || ":" || extract minute a;
|
||||
|
||||
//Set the Requested Time Priority
|
||||
Vanco_trough_ReqTime_Val := Vanco_trough_ReqTime.Value;
|
||||
Vanco_trough_ReqTime_Val.ReqTimeCode := "Scheduled Time";
|
||||
|
||||
Vanco_trough_ReqTime_Val.ReqTimeValue := c;
|
||||
|
||||
else
|
||||
First_Admin_ckbx.Value := false;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
|
||||
elseif ( CallingField = "PRX_Checkbox1|2" ) then
|
||||
|
||||
if ( Second_Admin_Ckbx.Value = true ) then
|
||||
|
||||
//Toggle Checkboxes
|
||||
First_Admin_ckbx.Value := false;
|
||||
Third_Admin_ckbx.Value := false;
|
||||
Fourth_Admin_ckbx.Value := false;
|
||||
|
||||
if ( Second_Admin_Date.Value is not null ) then
|
||||
Vanco_trough_ReqDate.Value := Second_Admin_Date.Value;
|
||||
|
||||
a := ( Second_Admin_Time.Value as Time ) - 30 minutes;
|
||||
b := extract hour a;
|
||||
if ( b >= 1 AND b <= 9 ) then
|
||||
b := "0" || b;
|
||||
endif;
|
||||
c := b || ":" || extract minute a;
|
||||
|
||||
//Set the Requested Time Priority
|
||||
Vanco_trough_ReqTime_Val := Vanco_trough_ReqTime.Value;
|
||||
Vanco_trough_ReqTime_Val.ReqTimeCode := "Scheduled Time";
|
||||
|
||||
Vanco_trough_ReqTime_Val.ReqTimeValue := c;
|
||||
else
|
||||
Second_Admin_Ckbx.Value := false;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
elseif ( CallingField = "PRX_Checkbox1|3" ) then
|
||||
|
||||
if ( Third_Admin_Ckbx.Value = true ) then
|
||||
//Toggle checkboxes
|
||||
First_Admin_Ckbx.Value := false;
|
||||
Second_Admin_Ckbx.Value := false;
|
||||
Fourth_Admin_Ckbx.Value := false;
|
||||
|
||||
if ( Third_Admin_Date.Value is not null ) then
|
||||
|
||||
Vanco_trough_ReqDate.Value := Third_Admin_Date.Value;
|
||||
|
||||
a := ( Third_Admin_Time.Value as Time ) - 30 minutes;
|
||||
b := extract hour a;
|
||||
if ( b >= 1 AND b <= 9 ) then
|
||||
b := "0" || b;
|
||||
endif;
|
||||
c := b || ":" || extract minute a;
|
||||
|
||||
//Set the Requested Time Priority
|
||||
Vanco_trough_ReqTime_Val := Vanco_trough_ReqTime.Value;
|
||||
Vanco_trough_ReqTime_Val.ReqTimeCode := "Scheduled Time";
|
||||
|
||||
Vanco_trough_ReqTime_Val.ReqTimeValue := c;
|
||||
else
|
||||
Third_Admin_Ckbx.Value := false;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
elseif ( CallingField = "PRX_Checkbox1|4" ) then
|
||||
|
||||
if ( Fourth_Admin_Ckbx.Value = true ) then
|
||||
|
||||
//Toggle Checkboxes
|
||||
First_Admin_Ckbx.Value := false;
|
||||
Second_Admin_Ckbx.Value := false;
|
||||
Third_Admin_Ckbx.Value := false;
|
||||
|
||||
if ( Fourth_Admin_Date.Value is not null ) then
|
||||
|
||||
Vanco_trough_ReqDate.Value := Fourth_Admin_Date.Value;
|
||||
|
||||
a := ( Fourth_Admin_Time.Value as Time ) - 30 minutes;
|
||||
b := extract hour a;
|
||||
if ( b >= 1 AND b <= 9 ) then
|
||||
b := "0" || b;
|
||||
endif;
|
||||
c := b || ":" || extract minute a;
|
||||
|
||||
//Set the Requested Time Priority
|
||||
Vanco_trough_ReqTime_Val := Vanco_trough_ReqTime.Value;
|
||||
Vanco_trough_ReqTime_Val.ReqTimeCode := "Scheduled Time";
|
||||
|
||||
Vanco_trough_ReqTime_Val.ReqTimeValue := c;
|
||||
else
|
||||
Fourth_Admin_Ckbx.Value := false;
|
||||
endif;
|
||||
endif;
|
||||
endif; //End MultiOrderGrid|3 Calling Field
|
||||
endif; //End Calling Event
|
||||
|
||||
;;
|
||||
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