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: