maintenance: title: Doc_Func_Launch_ExitCare;; mlmname: Doc_Func_Launch_ExitCare;; arden: version 2.5;; version: 5.05;; institution: St.Clair Hospital;; author: Peggy Karish;; specialist: Don Warnick ;; date: 2013-03-12;; validation: testing;; library: purpose: Standardize the document mlm responsible for initiation. ;; explanation: none Change history 03.12.2013 DJW CSR# 31118 Created from a sample MLM shared by Dr. Mansour 07.15.2019 STH CSR# 37676 18.4 Upgrade requires changing "getconnectionstring" to "getsecureconnectionstring". ;; keywords: RTF, Document Called MLM , list ;; knowledge: type: data-driven;; data: (this_documentCommunication) := argument; /*******************Make Changes To Spelling And Flags In This Section******************/ /* Set to true if a decision.log is needed.*/ log_execution_info := false; /* Create variable for tab*/ TAB := 9 formatted with "%c" ; /***************************************************************************************/ //*** Variable Declaration ***// (this_structuredNoteDoc) := this_documentCommunication.DocumentConfigurationObj; (this_parameters) := this_structuredNoteDoc.ParametersList; (this_chartedObservationsList) := this_structuredNoteDoc.ChartedObservationsList; (this_authoredDateTime) := this_structuredNoteDoc.AuthoredDateTime ; (this_authoredByGuid) := this_structuredNoteDoc.AuthoredByGuid ; (this_Doc_IsNew) := this_structuredNoteDoc.IsNew ; (this_Doc_IsIncomplete) := this_structuredNoteDoc.IsIncomplete ; (this_Doc_IsResultsPending) := this_structuredNoteDoc.IsResultsPending ; (this_Doc_IsPriority) := this_structuredNoteDoc.IsPriority ; (this_event) := this_documentCommunication.EventType ; (this_currentObj) := this_documentCommunication.CurrentObservationObj ; (client_guid) := this_documentCommunication.ClientGUID; (client_chart_guid) := this_documentCommunication.ChartGUID; (client_visit_guid) := this_documentCommunication.ClientVisitGUID; (client_document_guid) := this_documentCommunication.DocumentConfigurationObj.ClientDocumentGUID ; (this_document_name) := this_documentCommunication.DocumentName ; (this_parameters_display_name) := this_parameters.DisplayName ; IF this_event = "ChartObservation" THEN // could be "DocumentOpening", "ChartObservation", OR "DocumentClosing" current_parameter := FIRST OF (this_Parameters WHERE this_parameters.ParameterGUID = this_CurrentObj.ParameterGUID); current_parameter_name := current_parameter.name ; current_parameter_guid := current_parameter.ParameterGuid ; current_parameter_DataType := current_parameter.DataType ; IF current_parameter_DataType IS IN("FreeTextValue","NumericValue","DateValue") THEN current_value := this_currentObj.ValueObj.value; ELSEIF current_parameter_DataType = "ListValue" THEN selectedItems := (this_currentObj.ValueObj.ListItemsList WHERE this_currentObj.ValueObj.ListItemsList.IsSelected = true); currentObj_selectedItems := selectedItems.value ; countOf_selectedItems := count of currentObj_selectedItems ; current_value := FIRST OF currentObj_selectedItems ; ENDIF; ENDIF; standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; Debug:=FALSE; try using "SCMLib"; using namespace "SCMLib.HVCLogon"; using "SXA.ED.DischargeInstructions"; using namespace "SXA.ED.DischargeInstructions"; using "SXA.Framework" ; using Namespace "Eclipsys.SunriseXA.Framework.WinClient" ; shellinterface := new NET_OBJECT {{{SINGLE-QUOTE}}}XAShellInterface{{{SINGLE-QUOTE}}} ; shellinterface := new NET_OBJECT {{{SINGLE-QUOTE}}}XAShellInterface{{{SINGLE-QUOTE}}} ; connstring := call {{{SINGLE-QUOTE}}}HVCLogonObj{{{SINGLE-QUOTE}}}.GetSecureConnectionString; dis_instr := new NET_OBJECT {{{SINGLE-QUOTE}}}DischargeInstructions{{{SINGLE-QUOTE}}} ; Exit_Care_Diaglog := call dis_instr.LaunchDischargeInstructions with (shellinterface, true) ; endtry; catch Exception ex error_occurred := true; error_message := "{{+R}}Cannot start ExitCare Application: {{-R}}\n" || ex.Message || "\n\n"; msg := error_message || msg; if ( dis_instr is NOT NULL ) then void:= call dis_instr.Dispose; dis_instr:= null; endif; endcatch; If Debug = TRUE THEN this_documentCommunication.DisplayMessage := FALSE; this_documentCommunication.Message := sMessage ; ENDIF; ;; evoke: ;; logic: conclude true; ;; action: return this_documentCommunication; ;; Urgency: 50;; end: