maintenance: title: FORM_SET_ADMISSION_ORDERS_CHF;; mlmname: FORM_SET_ADMISSION_ORDERS_CHF;; arden: version 2.5;; version: 5.50;; institution: St Clair Hospital;; author: Juliet M. Law, Allscripts ;; specialist: Dean Miklavic, Allscripts;; date: 2013-12-02;; validation: testing;; library: purpose: Forces user to select beta blocker or decline beta blocker order. ;; explanation: Called from the Admission Orders - CHF order set. Forces user to select an ACEI/ARB or the Decline ACEI/ARB order from the appropriate grids. Change history 2013.12.02 JML CSR 31709: Created 2016.04.26 TMS CSR 33465: Add call on Form Close to Medication Order Management MLM 2019.10.02 TMS CSR 38755: Updated to alert user that they must select a (Beta Blocker or Decline Beta Blocker) and an (ACEI or ARB or Decline ACEI/ARB order) before procedding to submit the order set. ;; keywords: Called MLMs, Cardiac, Outpatient ;; 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; stop := 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; //Retrieve fields //Ace / Arb Grid Beta_Blocker_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 67); Beta_Block_List := Beta_Blocker_fld.Value; // Added By Shivprasad Jadhav On 10-Jun-2015 for CSR-33352 Ace_Arb_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 68); Ace_Arb_List := Ace_Arb_fld.Value; //No Ace / Arb Grid // No_Ace_Arb_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderGrid" // AND field_list.Control_MultiFieldOccNum = 69); // No_Ace_Arb_List := No_Ace_Arb_fld.Value; if (CallingEvent = "FormClose") then /* if ((not (true IN Ace_Arb_List.IsSelected)) AND (not (true IN No_Ace_Arb_List.IsSelected)) AND (not (true IN Beta_Block_List.IsSelected)) // Added By Shivprasad Jadhav On 10-Jun-2015 for CSR-33352 ) then //No_Ace_Arb_List.IsSelected := (true); //Display mandatory message //StopMsg := "You have not selected any ACEI or ARB medications for this patient. Therefore, you must" // || " select the {{{SINGLE-QUOTE}}}Decline ACEI or ARB{{{SINGLE-QUOTE}}} order with a mandatory {{{SINGLE-QUOTE}}}Reason{{{SINGLE-QUOTE}}}."; StopMsg := "You have not selected any Beta Blocker or ACEI or ARB medications for this patient. Therefore, you must" || " select the {{{SINGLE-QUOTE}}}Decline ACEI or ARB or Decline Beta Blocker{{{SINGLE-QUOTE}}} order with a mandatory {{{SINGLE-QUOTE}}}Reason{{{SINGLE-QUOTE}}}."; // Added By Shivprasad Jadhav On 10-Jun-2015 for CSR-33352 this_communication.DispayForm := "Yes"; this_communication.MessageType := "Error"; this_communication.Message := StopMsg; endif; */ if ((not (true IN Ace_Arb_List.IsSelected)) AND (not (true IN Beta_Block_List.IsSelected)) ) then StopMsg := "You have not selected any Beta Blocker or ACEI or ARB medications for this patient. Therefore, you must" || " select the {{{SINGLE-QUOTE}}}Decline ACEI or ARB or Decline Beta Blocker{{{SINGLE-QUOTE}}} order with a mandatory {{{SINGLE-QUOTE}}}Reason{{{SINGLE-QUOTE}}}."; // Added By Shivprasad Jadhav On 10-Jun-2015 for CSR-33352 this_communication.DispayForm := "Yes"; this_communication.MessageType := "Error"; this_communication.Message := StopMsg; elseif ((not (true IN Ace_Arb_List.IsSelected)) AND (true IN Beta_Block_List.IsSelected) ) then StopMsg := "You have not selected any ACEI or ARB medications for this patient. Therefore, you must" || " select the {{{SINGLE-QUOTE}}}Decline ACEI or ARB order with a mandatory {{{SINGLE-QUOTE}}}Reason{{{SINGLE-QUOTE}}}."; this_communication.DispayForm := "Yes"; this_communication.MessageType := "Error"; this_communication.Message := StopMsg; elseif ((true IN Ace_Arb_List.IsSelected) AND (not (true IN Beta_Block_List.IsSelected)) ) then StopMsg := "You have not selected any Beta Blocker medications for this patient. Therefore, you must" || " select the {{{SINGLE-QUOTE}}}Decline Beta Blocker{{{SINGLE-QUOTE}}} order with a mandatory {{{SINGLE-QUOTE}}}Reason{{{SINGLE-QUOTE}}}."; this_communication.DispayForm := "Yes"; this_communication.MessageType := "Error"; this_communication.Message := StopMsg; endif; MedicalImaging_Indications_MLM := mlm {{{SINGLE-QUOTE}}}FORM_MEDICAL_IMAGING_INDICATIONS_FOR_OS{{{SINGLE-QUOTE}}}; (this_communication, this_form) := call MedicalImaging_Indications_MLM WITH this_communication, this_form, client_info_obj; Med_Order_Mgt := mlm {{{SINGLE-QUOTE}}}FORM_SET_Rx_Medication_Order_Mgt{{{SINGLE-QUOTE}}}; (this_communication, this_form) := call Med_Order_Mgt with this_communication, this_form, client_info_obj; 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: