maintenance: title: Call Med Rec;; filename: Doc_Call_Med_Rec;; arden: version 2;; version: 1.00;; institution: Eclipsys Corp;; author: Eclipsys Corp;; specialist: ;; date: 2008-11-18;; validation: testing;; library: purpose: This mlm open Orders Reconciliation Manager from a document ;; explanation: 05.31.2019 JML 18.4 Upgrade modification; Launch ORM radio button not unchecking if observation exists in more than one section on structured note ;; keywords: ;; 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; /****** Place all your reading and updating here **********/ // Include MLM to reference assemblies needed for this MLM. // This MLM specifically uses the assemblies mscorlib and // ObjectsPlusXA.SCM.Forms standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; using "ObjectsPlusXA.SCM.Forms"; using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms"; // Extract interesting parts of the object model (thisStructuredNoteDoc) := this_documentCommunication.DocumentConfigurationObj; (thisParameters) := thisStructuredNoteDoc.ParametersList; (thisObservations) := thisStructuredNoteDoc.ChartedObservationsList; // Create prototypes for the object types we{{{SINGLE-QUOTE}}}ll need to instantiate ObservationType := OBJECT [ObservationGUID, ClientDocumentGUID, ParameterGUID, DataType, ValueObj]; FreeTextValueType := OBJECT [Value]; DateValueType := OBJECT [Value]; ListValueType := OBJECT [ListGuid,ListItemsList, SuggestedTextValue]; ListValueListItemType := OBJECT [ListItemGUID, Value, IsSelected]; // SCH_DI OrdRec Launch launchordrec := false; theParameterx := ( thisParameters where thisParameters.Name = "SCH_DI Launch Ord Rec" ); if ( exists theParameterx ) then //Determine if Obs exists more than once on Note for i IN 1 seqto count theParameterx do //this_parametername := first of (thisParameters where thisParameters.Name = "SCH_DI Launch Ord Rec"); this_parametername := theParameterx[i]; this_currentObj := NEW ObservationType; this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID; this_currentObj.ParameterGUID := this_parametername.ParameterGUID; this_currentObj.DataType := "ListValue"; this_currentObj.ValueObj := New ListValueType; this_currentObj.ValueObj.ListGUID:= this_parametername.ConfigurationObj.ListGUID; listItems := (); FOR item IN this_parametername.ConfigurationObj.ListItemsList DO selectedItem := NEW ListValueListItemType; selectedItem.ListItemGUID := item.ListItemGUID; selectedItem.Value := item.Value; selectedItem.IsSelected := false; listItems := (listItems, selectedItem); ENDDO; this_currentobj.ValueObj.ListItemsList := listItems; thisStructuredNoteDoc.ChartedObservationsList := (thisStructuredNoteDoc.ChartedObservationsList, this_currentObj); enddo; endif; visit_guid := this_documentCommunication.ClientVisitGUID; try // Create the Order Reconciliation Manager object order_rec_mgr_obj := new NET_OBJECT {{{SINGLE-QUOTE}}}OrderReconciliationManager{{{SINGLE-QUOTE}}}; order_rec_mgr_obj.ClientVisitPrimaryKey := (( visit_guid as number) as {{{SINGLE-QUOTE}}}Int64{{{SINGLE-QUOTE}}}); void := call order_rec_mgr_obj.ShowDialog; endtry; catch exception ex if ( order_rec_mgr_obj is NOT NULL ) then void:= call order_rec_mgr_obj.Dispose; order_rec_mgr_obj:= NULL; endif; endcatch; ;; evoke: // No evoke statement ;; logic: conclude true; // always concludes TRUE ;; action: return this_documentCommunication; ;; end: