94 lines
3.3 KiB
Plaintext
94 lines
3.3 KiB
Plaintext
maintenance:
|
|
|
|
title: CDS Session Definition;;
|
|
filename: SYS_LIB_SESSION;;
|
|
arden: version 2.5;;
|
|
version: 18.4;;
|
|
institution: Allscripts, System MLM;;
|
|
author: Allscripts Healthcare Solutions, Inc.;;
|
|
specialist: ;;
|
|
date: 2018-10-26;;
|
|
validation: testing;;
|
|
|
|
/* P r o p r i e t a r y N o t i c e */
|
|
/* Unpublished (c) 2013 - 2018 Allscripts Healthcare, LLC. and/or its affiliates. All Rights Reserved.
|
|
|
|
P r o p r i e t a r y N o t i c e: This software has been provided pursuant to a License Agreement, with
|
|
Allscripts Healthcare, LLC. and/or its affiliates, containing restrictions on its use. This software contains
|
|
valuable trade secrets and proprietary information of Allscripts Healthcare, LLC. and/or its affiliates and is
|
|
protected by trade secret and copyright law. This software may not be copied or distributed in any form or medium,
|
|
disclosed to any third parties, or used in any manner not provided for in said License Agreement except with prior
|
|
written authorization from Allscripts Healthcare, LLC. and/or its affiliates. Notice to U.S. Government Users:
|
|
This software is {{{SINGLE-QUOTE}}}Commercial Computer Software{{{SINGLE-QUOTE}}}.
|
|
|
|
All product names are the trademarks or registered trademarks of Allscripts Healthcare, LLC. and/or its affiliates.
|
|
*/
|
|
/* P r o p r i e t a r y N o t i c e */
|
|
|
|
library:
|
|
purpose:
|
|
This MLM defines the top level session object,
|
|
stored in the Arden variable CDS_SESSION.
|
|
;;
|
|
explanation: Facilities should NOT modify this MLM.
|
|
If a facility wishes to add session variables,
|
|
they should be added to the MLM named SYS_LOCAL_SESSION.
|
|
From Arden, this can be referenced like this:
|
|
local_session := CDS_SESSION.local;
|
|
|
|
To add global session variables (these are only cleared when a user
|
|
logs off) modify the SYS_GLOBAL_SESSION.MLM.
|
|
From Arden, this can be referenced like this:
|
|
global_session := CDS_SESSION.global;
|
|
|
|
Note: this MLM is called by the system both to define and to return
|
|
a new session object. It must not refer to CDS_SESSION or else a circular
|
|
reference may occur where the MLM will call itself again and again.
|
|
|
|
This MLM should ONLY be modified by Eclipsys.
|
|
|
|
;;
|
|
keywords: SESSION; CDS_SESSION
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
// Declare the MLM that will be called
|
|
local_session_mlm := MLM {{{SINGLE-QUOTE}}}SYS_LOCAL_SESSION{{{SINGLE-QUOTE}}};
|
|
global_session_mlm := MLM {{{SINGLE-QUOTE}}}SYS_GLOBAL_SESSION{{{SINGLE-QUOTE}}};
|
|
EnvProfile_session_mlm := MLM {{{SINGLE-QUOTE}}}SYS_LIB_CDSENVIRONMENTSETTINGS{{{SINGLE-QUOTE}}};
|
|
|
|
// Declare the TOP LEVEL SESSION Object
|
|
session := object
|
|
[
|
|
global,
|
|
local,
|
|
CDSEnvironmentSettings,
|
|
system_field_1, // Rename these or add additional fields as needed by Allscripts
|
|
system_field_2
|
|
];
|
|
;;
|
|
evoke: // Called internally by the system as necessary
|
|
;;
|
|
logic:
|
|
// Create a session and return it
|
|
session_obj := new session;
|
|
|
|
local := call local_session_mlm; // Create the local session
|
|
session_obj.local := local;
|
|
|
|
global := call global_session_mlm; // Create the global session
|
|
session_obj.global := global;
|
|
|
|
// Create the environment profile session object
|
|
CDSEnvironmentSettings_obj := call EnvProfile_session_mlm;
|
|
session_obj.CDSEnvironmentSettings := CDSEnvironmentSettings_obj;
|
|
|
|
conclude true;
|
|
;;
|
|
action:
|
|
return session_obj;
|
|
;;
|
|
|
|
end:
|