Files
St.Clair/MLMStripper/bin/Debug/SYS/SYS_LIB_SESSION.mlm

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: