Initial Checking with all 820 MLMs

This commit is contained in:
2020-02-02 00:54:01 -05:00
parent c59dc6de2e
commit 840d0432f4
828 changed files with 239162 additions and 0 deletions

View File

@@ -0,0 +1,212 @@
maintenance:
title: SCH_Dialog_Operations;;
mlmname: SCH_Dialog_Operations;;
arden: version 2.5;;
version: 6.10;;
institution: SCH ;;
author: Shivprasad Jadhav(Allscripts);;
specialist: ;;
date: 2015-05-12;;
validation: testing;;
library:
purpose: To Launch Different Dialogbox.
Argument Required ::
1) Client visit GUID
2) Operations ( Pass anyone from below three value based on performing operation )
A. SignatureManager
B. ExitCare
C. OrderReconciliationManager
D. HealthIssueManager
E. OrderEntry
Sample Argument ::
MLM_Name := MLM {{{SINGLE-QUOTE}}}GMS_Dialog_Operations{{{SINGLE-QUOTE}}}; // MLM name
1) SignatureManager
Status := call MLM_Name with ClientVisitGUID,"SignatureManager";
2) ExitCare
Status := call MLM_Name with ClientVisitGUID,"ExitCare";
3) OrderReconciliationManager
Status := call MLM_Name with ClientVisitGUID,"OrderReconciliationManager";
4) HealthIssueManager
Status := call MLM_Name with ClientVisitGUID,"HealthIssueManager";
5) OrderEntry
Status := call MLM_Name with ClientVisitGUID,"OrderEntry";
Return Type ::
MLM wil return Success if operation performs Successfully.
MLM wil return error_message if any error generate while performing operation Insert/Discontinue/Delete.
;;
explanation:
;;
keywords: ObjectsPlus, Orders
;;
knowledge:
type: data-driven;;
data:
//Set to true if a decision.log is needed.
log_execution_info:= FALSE; //Set to FALSE for Production
(ClientVisitGUID,Dialog_Name // ClientVisit ObjectsPlus object
):= argument;
// Specify which .NET assemblies need to be loaded for ObjectsPlus
standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
include standard_libs;
using "ObjectsPlusXA.SCM.Common";
using namespace "ObjectsPlusXA.SunriseClinicalManager.Common";
using namespace "ObjectsPlusXA.SCM.Forms";
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
using "SXA.Framework" ;
using "SCMLib";
using namespace "SCMLib.Dialogs";
using namespace "SCMLib.Context";
using namespace "Eclipsys.SunriseXA.Framework.SCMSXAInterop";
If Not Called_By_Editor Then
mlm_name := "GMS_Dialog_Operations";
error_occurred := false;
error_destination := destination { Alert } with [
alert_type := "Warning",
short_message := "ObjectsPlus Error from MLM",
priority := "low",
scope := "chart",
Rule_group := "ObjectsPlus Error from MLM",
Rule_number := 1001,
Rule_subgroup := "",
Send_with_order := "",
Alert_dialog_settings := "",
Display_alert := true ];
try
client_visit_obj := call {{{SINGLE-QUOTE}}}ClientVisit{{{SINGLE-QUOTE}}}.FindByPrimaryKey
with ((ClientVisitGUID as number) as {{{SINGLE-QUOTE}}}Int64{{{SINGLE-QUOTE}}});
if Dialog_Name = "SignatureManager" then
sxaDialog := new NET_OBJECT {{{SINGLE-QUOTE}}}SXADialog{{{SINGLE-QUOTE}}};
void := call sxaDialog.ShowSXADialog with "SXADialogType_SignatureManager" as {{{SINGLE-QUOTE}}}SXADialogType{{{SINGLE-QUOTE}}};
endif;
if Dialog_Name = "ExitCare" then
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}}}.GetConnectionString;
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;
endif;
if Dialog_Name = "OrderReconciliationManager" then
try
// Create the Order Reconciliation Manager object
order_rec_mgr_obj:= new NET_OBJECT {{{SINGLE-QUOTE}}}OrderReconciliationManager{{{SINGLE-QUOTE}}};
order_rec_mgr_obj.ClientVisitPrimaryKey := ((ClientVisitGUID 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;
endif;
if Dialog_Name = "HealthIssueManager" then
try
// Create the Order Reconciliation Manager object
order_rec_mgr_obj:= new NET_OBJECT {{{SINGLE-QUOTE}}}HealthIssueManager{{{SINGLE-QUOTE}}};
order_rec_mgr_obj.ClientVisitPrimaryKey := ((ClientVisitGUID 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;
endif;
if Dialog_Name = "OrderEntry" then
try
using "OpenDialogBoxManager";
using namespace "OpenDialogBoxManager";
DialogBox_obj:= new NET_OBJECT {{{SINGLE-QUOTE}}}OpenDialogBoxManager.OpenDialogBoxManager{{{SINGLE-QUOTE}}} With 1 as {{{SINGLE-QUOTE}}}System.Int64{{{SINGLE-QUOTE}}};
endtry;
catch exception ex
if ( DialogBox_obj is NOT NULL ) then
void:= call DialogBox_obj.Dispose;
DialogBox_obj := NULL;
endif;
endcatch;
endif;
endtry;
catch exception ex
error_occurred := true;
error_message := error_message ||
"{{+R}} Dialog Box {{-R}}\n" ||
ex.Message || "\n\n";
if ex.InnerException is not null net_object then
error_message := error_message ||
"Inner Exception: " || ex.InnerException.Message || "\n\n";
endif;
endcatch;
endif;
;;
priority: 50
;;
evoke:
;;
logic:
conclude true;
;;
action:
if Error_occurred then
write "An error has occured in the MLM "
|| "{{+B}}" || mlm_name || "{{-B}} "
||"Please notify your System Administrators that an error message has "
||"occurred for this patient. They will review the following error "
||"message: \n" at error_destination;
write error_message at error_destination;
endif;
if Error_occurred then
return error_message;
else
return "Success";
endif;
;;
Urgency: 50;;
end: