Initial Checking with all 820 MLMs
This commit is contained in:
299
MLMStripper/bin/Debug/FORM/FORM_SET_ACETADOTE_ACETYLCYSTEINE.mlm
Normal file
299
MLMStripper/bin/Debug/FORM/FORM_SET_ACETADOTE_ACETYLCYSTEINE.mlm
Normal file
@@ -0,0 +1,299 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_SET_ACETADOTE_ACETYLCYSTEINE;;
|
||||
mlmname: FORM_SET_ACETADOTE_ACETYLCYSTEINE;;
|
||||
arden: version 2.5;;
|
||||
version: 5.50;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Juliet M. Law, Allscripts ;;
|
||||
specialist: Bryan Berkeybile, Allscripts;;
|
||||
date: 2013-01-21;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose:
|
||||
;;
|
||||
|
||||
explanation: This MLM is called from ...
|
||||
|
||||
Change history
|
||||
2013.01.21 JML CSR 30931: Created
|
||||
|
||||
|
||||
|
||||
;;
|
||||
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";
|
||||
|
||||
// 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;
|
||||
ClientGuid := this_communication.ClientGUID;
|
||||
ChartGuid := this_communication.ChartGUID;
|
||||
FormName := this_form.Name;
|
||||
PrimaryObjDetail := this_communication.PrimaryObj;
|
||||
OrderSetName := PrimaryObjDetail.OrderSetName;
|
||||
|
||||
//Retrieve Fields
|
||||
Dosage_One := first of (field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Dosage_Two := first of (field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
Dosage_Three := first of (field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
|
||||
Acetyl_Date_One := first of (field_list WHERE field_list.DataItemName = "RequestedDate"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Acetyl_Time_One := first of (field_list WHERE field_list.DataItemName = "RequestedTime"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Acetyl_Time_Value := Acetyl_Time_One.Value;
|
||||
|
||||
Acetyl_Date_Two := first of (field_list WHERE field_list.DataItemName = "RequestedDate"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
Acetyl_Time_Two := first of (field_list WHERE field_list.DataItemName = "RequestedTime"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
Acetyl_Time2_Value := Acetyl_Time_Two.Value;
|
||||
|
||||
Acetyl_Date_Three := first of (field_list WHERE field_list.DataItemName = "RequestedDate"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
Acetyl_Time_Three := first of (field_list WHERE field_list.DataItemName = "RequestedTime"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
Acetyl_Time3_Value := Acetyl_Time_Three.Value;
|
||||
OrderInfo := first of (field_list WHERE field_list.DataItemName = "PRX_Info"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
CombinedMeasurements := first of (field_list WHERE field_list.DataItemName = "CombinedMeasurements");
|
||||
|
||||
if (CallingEvent = "FormOpen") then
|
||||
|
||||
if (exists OrderInfo) then
|
||||
OrderInfo.Control_Read_Only := true;
|
||||
endif;
|
||||
if (exists CombinedMeasurements) then
|
||||
CombinedMeasurements_fld := CombinedMeasurements.Value;
|
||||
|
||||
patient_weight := CombinedMeasurements_fld.Weight;
|
||||
|
||||
if (patient_weight > 0) then
|
||||
|
||||
doseOneVal := (150 * patient_weight);
|
||||
rndDoseOneVal := int( ( doseOneVal + 50 ) / 100 ) * 100;
|
||||
Dosage_One.Value := rndDoseOneVal;
|
||||
|
||||
doseTwoVal := (50 * patient_weight);
|
||||
rndDoseTwoVal := int( ( doseTwoVal + 50 ) / 100 ) * 100;
|
||||
Dosage_Two.Value := rndDoseTwoVal;
|
||||
|
||||
doseThreeVal := (100 * patient_weight);
|
||||
rndDoseThreeVal := int( ( doseThreeVal + 50 ) / 100 ) * 100;
|
||||
Dosage_Three.Value := rndDoseThreeVal;
|
||||
else
|
||||
msg := "Please enter a calculation weight for this patient";
|
||||
this_communication.MessageType := "Error";
|
||||
this_communication.Message := msg;
|
||||
this_communication.DisplayMessage := true;
|
||||
endif;
|
||||
|
||||
if ( NOT ( OrderSetName matches pattern "%Extended Therapy%" ) ) then
|
||||
|
||||
currentDateTime := now;
|
||||
//currentDateTime := "2013-08-27 23:10:00" as time;
|
||||
currMinute := ( extract minute currentDateTime ) as number;
|
||||
currHour := ( extract hour currentDateTime ) as number;
|
||||
|
||||
Acetyl_Time_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
Acetyl_Time2_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
Acetyl_Time3_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
|
||||
if (currMinute >= 1 AND currMinute < 30) then
|
||||
b := "30";
|
||||
else
|
||||
currHour := currHour + 1;
|
||||
b := "00";
|
||||
endif;
|
||||
|
||||
if (( currHour ) >= 24 ) then
|
||||
Acetyl_Date_One.Value := "T+1";
|
||||
Acetyl_Date_Two.Value := "T+1";
|
||||
Acetyl_Date_Three.Value := "T+1";
|
||||
elseif (( currHour + 1 ) >= 24 ) then
|
||||
Acetyl_Date_One.Value := currentDateTime;
|
||||
//Need to increment Date2 to T + 1
|
||||
Acetyl_Date_Two.Value := "T+1";
|
||||
Acetyl_Date_Three.value := "T+1";
|
||||
elseif (( currHour + 5) >= 24 ) then
|
||||
Acetyl_Date_One.Value := currentDateTime;
|
||||
Acetyl_Date_Two.Value := currentDateTime;
|
||||
Acetyl_Date_Three.Value := "T+1";
|
||||
else
|
||||
Acetyl_Date_One.Value := currentDateTime;
|
||||
Acetyl_Date_Two.Value := currentDateTime;
|
||||
Acetyl_Date_Three.Value := currentDateTime;
|
||||
endif;
|
||||
|
||||
a := currHour;
|
||||
if ( (length (a as string)) = 1) then
|
||||
a := "0" || a;
|
||||
elseif (a = 24) then
|
||||
a := "00";
|
||||
endif;
|
||||
|
||||
a2 := currHour + 1;
|
||||
if (a2 = 24) then
|
||||
a2 := "00";
|
||||
elseif (a2 > 24) then
|
||||
a2 := (a2 - 24);
|
||||
endif;
|
||||
if ( (length (a2 as string)) = 1) then
|
||||
a2 := "0" || a2;
|
||||
endif;
|
||||
|
||||
a3 := currHour + 5;
|
||||
if (a3 = 24) then
|
||||
a3 := "00";
|
||||
elseif (a3 > 24) then
|
||||
a3 := (a3 - 24);
|
||||
endif;
|
||||
if ( (length (a3 as string)) = 1) then
|
||||
a3 := "0" || a3;
|
||||
endif;
|
||||
|
||||
Acetyl_Time_Value.ReqTimeValue := a || ":" || b;
|
||||
Acetyl_Time2_Value.ReqTimeValue := a2 || ":" || b;
|
||||
Acetyl_Time3_Value.ReqTimeValue := a3 || ":" || b;
|
||||
|
||||
endif;
|
||||
endif;
|
||||
|
||||
elseif (CallingEvent = "FieldChange") then
|
||||
if (CallingField = "CombinedMeasurements|1") then
|
||||
CombinedMeasurements_fld2 := CombinedMeasurements.Value;
|
||||
|
||||
new_patient_weight := CombinedMeasurements_fld2.Weight;
|
||||
|
||||
doseOneVal := (150 * new_patient_weight);
|
||||
rndDoseOneVal := int( ( doseOneVal + 50 ) / 100 ) * 100;
|
||||
Dosage_One.Value := rndDoseOneVal;
|
||||
|
||||
doseTwoVal := (50 * new_patient_weight);
|
||||
rndDoseTwoVal := int( ( doseTwoVal + 50 ) / 100 ) * 100;
|
||||
Dosage_Two.Value := rndDoseTwoVal;
|
||||
|
||||
doseThreeVal := (100 * new_patient_weight);
|
||||
rndDoseThreeVal := int( ( doseThreeVal + 50 ) / 100 ) * 100;
|
||||
Dosage_Three.Value := rndDoseThreeVal;
|
||||
|
||||
elseif ( ( CallingField = "RequestedDate|1" OR CallingField = "RequestedTime|1" )
|
||||
AND ( NOT ( OrderSetName matches pattern "%Extended Therapy%" ) ) ) then
|
||||
|
||||
NewDateVal := Acetyl_Date_One.Value;
|
||||
NewTimeVal := Acetyl_Time_Value.ReqTimeValue as Time;
|
||||
|
||||
newTimeHour := ( extract hour NewTimeVal ) as number;
|
||||
newTimeMin := ( extract minute NewTimeVal ) as number;
|
||||
|
||||
Acetyl_Time_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
Acetyl_Time2_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
Acetyl_Time3_Value.ReqTimeCode := "Scheduled/Start Time";
|
||||
|
||||
if (newTimeMin >= 1 AND newTimeMin < 30) then
|
||||
newB := "30";
|
||||
else
|
||||
newTimeHour := newTimeHour + 1;
|
||||
newB := "00";
|
||||
endif;
|
||||
|
||||
if (newTimeHour >= 24) then
|
||||
Acetyl_Date_One.Value := NewDateVal + 1 day;
|
||||
Acetyl_Date_Two.Value := NewDateVal + 1 day;
|
||||
Acetyl_Date_Three.Value := NewDateVal + 1 day;
|
||||
elseif (( newTimeHour + 1 ) >= 24 ) then
|
||||
Acetyl_Date_One.Value := NewDateVal;
|
||||
Acetyl_Date_Two.Value := NewDateVal + 1 day;
|
||||
Acetyl_Date_Three.Value := NewDateVal + 1 day;
|
||||
elseif (( newTimeHour + 5 ) >= 24 ) then
|
||||
Acetyl_Date_One.Value := NewDateVal;
|
||||
Acetyl_Date_Two.Value := NewDateVal;
|
||||
Acetyl_Date_Three.Value := NewDateVal + 1 day;
|
||||
else
|
||||
Acetyl_Date_One.Value := NewDateVal;
|
||||
Acetyl_Date_Two.Value := NewDateVal;
|
||||
Acetyl_Date_Three.Value := NewDateVal;
|
||||
endif;
|
||||
|
||||
newA := newTimeHour;
|
||||
if (( length ( newA as string ) ) = 1 ) then
|
||||
newA := "0" || newA;
|
||||
elseif ( newA = 24 ) then
|
||||
newA := "00";
|
||||
endif;
|
||||
|
||||
newA2 := newTimeHour + 1;
|
||||
if ( newA2 = 24 ) then
|
||||
newA2 := "00";
|
||||
elseif ( newA2 > 24 ) then
|
||||
newA2 := ( newA2 - 25 );
|
||||
endif;
|
||||
if (( length( newA2 as string ) ) = 1 ) then
|
||||
newA2 := "0" || newA2;
|
||||
endif;
|
||||
|
||||
newA3 := newTimeHour + 5;
|
||||
if ( newA3 = 24 ) then
|
||||
newA3 := "00";
|
||||
elseif ( newA3 > 24 ) then
|
||||
newA3 := ( newA3 - 24 );
|
||||
endif;
|
||||
if (( length ( newA3 as string ) ) = 1 ) then
|
||||
newA3 := "0" || newA3;
|
||||
endif;
|
||||
|
||||
Acetyl_Time_Value.ReqTimeValue := newA || ":" || newB;
|
||||
Acetyl_Time2_Value.ReqTimeValue := newA2 || ":" || newB;
|
||||
Acetyl_Time3_Value.ReqTimeValue := newA3 || ":" || newB;
|
||||
|
||||
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:
|
||||
Reference in New Issue
Block a user