Files
St.Clair/MLMStripper/bin/Debug/FORM/FORM_VANCOMYCIN_PEAK_PLASMA_CONDITIONAL.mlm

110 lines
3.4 KiB
Plaintext

maintenance:
title: FORM_VANCOMYCIN_PEAK_PLASMA_CONDITIONAL ;;
mlmname: FORM_VANCOMYCIN_PEAK_PLASMA_CONDITIONAL ;;
arden: version 2.5;;
version: 5.50;;
institution: St Clair Hospital;;
author: Shivprasad Jadhav, Allscripts ;;
specialist: Shivprasad Jadhav, Allscripts;;
date: 2015-03-24;;
validation: testing;;
library:
purpose: 24-03-2015 csr:32240 - Created
;;
explanation: MLM is attached to Conditional Order Check to Manipulate Mandatory property of Priority/Scheduled Time.
;;
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";
HoldOrder_RequestedTime := mlm {{{SINGLE-QUOTE}}}FORM_HOLDORDER_REQUESTEDTIME{{{SINGLE-QUOTE}}};
// 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;
comm_obj := this_communication.primaryobj;
called_by := this_communication.CallingEvent;
call_field := this_communication.CallingFieldName;
/* Set to true if a decision.log is needed.*/
log_execution_info := FALSE;
// Assigns fields passed in the Form object to the Field object
field_list:= this_form.fields;
(this_parameters) := this_communication.ParametersList;
CallingEvent := this_communication.CallingEvent;
CallingField := this_communication.CallingFieldName;
FormName := this_form.Name;
Prm_Conditional := First of (field_list where field_list.DataItemName = "ConditionalOrder" );
Prm_PriorityTime_New := First of (field_list where field_list.DataItemName = "LAB_Order Priorities" );
Prm_PriorityTime := First of (field_list where field_list.DataItemName = "RequestedTime" );
// Prm_Conditional.Value.Reason := "2 hr Post Transfusion, Post Transfusion, Following Heparin Rate Change, Following Medication Administration" ;
// Prm_Conditional.Value.Number := 1 ;
If this_form.Name ="LAB Chemistry Peak" Then
if comm_obj.Name in ( "Vancomycin Peak Plasma/Serum" ,"Tobramycin Peak Plasma/Serum","Gentamicin Peak Plasma/Serum" ) Then //comm_obj.Modifier = -Conditional order
If Prm_Conditional.Value.IsConditional = True Then
If comm_obj.Modifier = "-RN to Schedule" Then
Prm_PriorityTime.Control_Mandatory := False;
Prm_PriorityTime_New.Control_Mandatory := False;
Prm_Conditional.Value.Number := 2 ;
Endif;
Prm_Conditional.Value.Reason := "Recommended Collection Protocol: Peak- Collect 30 Minutes Post IV or 60 Minutes Post IM Injection" ;
//Prm_Conditional.Value.Number := ;
Else
If comm_obj.Modifier = "-RN to Schedule" Then
Prm_PriorityTime.Control_Mandatory := True; //Prm_PriorityTime.Control_Mandatory
Prm_PriorityTime_New.Control_Mandatory := True ;
Endif;
Prm_Conditional.Value.Reason := "Recommended Collection Protocol: Peak- Collect 30 Minutes Post IV or 60 Minutes Post IM Injection";
//Prm_Conditional.Value.Number := 1 ;
EndIf;
EndIf;
EndIf;
;;
evoke: // No evoke statement
;;
logic:
conclude true;
;;
action:
return this_communication, this_form;
;;
end: