Initial Checking with all 820 MLMs

This commit is contained in:
2020-02-02 00:54:01 -05:00
parent c59dc6de2e
commit 840d0432f4
828 changed files with 239162 additions and 0 deletions

View 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: