110 lines
3.4 KiB
Plaintext
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:
|