maintenance: maintenance: title: Current Order Retrieval for CPOE Pain Medication Order Set;; filename: FORM_SET_CPOE_Pain_Medication;; arden: version 2.5;; version: 15.10;; institution: Eclipsys, System MLM;; author: Teresa Spicuzza;; specialist: Teresa Spicuzza;; date: 2015-10-05;; validation: testing;; library: purpose: This MLM retrieves medication by therapeutic class display on order set. ;; explanation: This MLM retrieves medication by therapeutic class for display on order set.. History: 04.27.2016 TMS CSR 33484: Created to retrieve all current analgesic medications into a text box for review within the order set. ;; keywords: Called MLMs, Form fields, Therapeutic Duplication ;; knowledge: type: data-driven;; data: // 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; CallingEvent := this_communication.CallingEvent; CallingField := this_communication.CallingFieldName; comm_obj := this_communication.primaryobj; /***************************************************************************************/ // Assigns fields passed in the Form object to the Field object field_list:= this_form.fields; Grid_Med1 := last of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 1); Grid_Med1_List :=Grid_Med1.value ; InfoBox := last of (field_list where field_list.DataItemName = "PRX_CurrentOrders" and field_List.Control_MultiFieldOccNum = 1); client_guid := this_communication.ClientGUID; visit_guid := this_communication.ClientVisitGUID; SP := " "; CR := 13 formatted with "%c"; LF := 10 formatted with "%c"; CRLF:= CR||LF; TAB := 9 formatted with "%c"; If (CallingEvent = "FormOpen") then therapeuticID := 58; ordername := (); ordersummary := (); If therapeuticID is not null then (ordername, ordersummary) := read { " select o.name, Replace (o.summaryline, CHAR(13) + CHAR(10), {{{SINGLE-QUOTE}}}{{{SINGLE-QUOTE}}})" || " from CV3Order o with (nolock) " || " join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGuid " || " where ocmi.TherapeuticCategoryID = " || TherapeuticID || " and o.clientvisitguid = " || SQL(Visit_guid) || " and o.clientguid = " || SQL(Client_guid) || " and o.OrderStatusLevelNum < 69 " || }; endif; druglist := ""; countdrugs := count ordername; if countdrugs > 0 then for ss in (1 seqto countdrugs) do if ss = 1 then druglist := ordername [ss] || " " || ordersummary [ss]; else druglist := druglist || CRLF || ordername [ss] || " " || ordersummary [ss]; endif; enddo; Infobox.value := druglist; endif; endif; // callingevent = "FormOpen" ;; 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: