class %Library.EnsembleMgr
parameter CREATEENSLIBNAMESPACE = 0;
Create the ENSLIB namespace during upgrades/installs.
parameter CREATELEGACYPORTAL = 0;
Flag to control whether the legacy CSP portal should be created.
parameter DEFAULTCSPAUTHMETHODS = 32;
Default CSP authentication methods
parameter DEFAULTDBRESOURCE = "%DB_%DEFAULT";
Default database resource name
parameter ENSLIB = "ENSLIB";
Default ENSLIB
parameter HSLIB = "HSLIB";
Default HSLIB
parameter PORTALHOMEPAGE = "%25CSP.Portal.Home.zen";
Portal homepage for this version of Ensemble
parameter REMOVEEENSLIBNAMESPACE = 1;
Remove ENSLIB namespace if it already exists AND doesn't reference
any data or routines mapped from other databases.
parameter REMOVELEGACYPORTAL = 1;
Flag to control whether old CSP pages and files should be removed.
parameter VIEWERLIB = "VIEWERLIB";
where the viewer will get installed
classmethod AddDelegated()
For HealthShare, this is called to enable delegated authentication for all CSP apps
classmethod ApplySettings(pTargetNS As %String, pProductionName As %String, ByRef pSettings)
as %Status
classmethod CreateEnsembleAuditingEvents()
as %Status
Create the auditing events used by Ensemble.
classmethod CreateEnsembleResources(ByRef pVars, pLogLevel As %Integer, pInstaller As %Installer.Installer)
as %Status
classmethod CreateEnsembleRoles(ByRef pVars, pLogLevel As %Integer, pInstaller As %Installer.Installer)
as %Status
classmethod CreateFoundationResources(ByRef pVars, pLogLevel As %Integer, pInstaller As %Installer.Installer)
as %Status
classmethod DetermineMgmtURLForNamespace(pNamespace As %String = $namespace, pAppendHomePage As %Boolean = 1)
as %String
Returns the "path" portion of the Ensemble management URL for a given namespace. If the namespace
is *not* Ensemble enabled, then it will return empty string or the default CSP app for the namespace.
If pAppendHomePage is false, it will only return the CSP application path.
classmethod DisableNamespace(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
This method is called after a namespace is deleted for Ensemble and HealthShare
classmethod EnableFoundationNamespace(pTargetNS As %String, pVerbose As %Boolean = 0, ByRef pIsPrimary As %Boolean = 1, pFromEnableEnsemble As %Boolean = 0)
as %Status
Create Foundation namespace
classmethod EnableNamespace(pTargetNS As %String, pVerbose As %Boolean = 0, ByRef pIsPrimary As %Boolean = 1, pFromInstall=0)
as %Status
pFromInstall indicates it is enabling all the existing ensemble namespaces
items like HSLIB are ensemble but we don't want it to be foundation
don't automatically upgrade a previously ensemble enabled namespace to be healthshare foundation
classmethod GetENSLIB(pImplicit As %Boolean = 0, pNormalized As %Boolean = 1)
as %String
Get the directory or implicit namespace for the ENSLIB database.
pImplicit indicates whether the full implicit namespace should be returned,
and pNormalized indicates whether the directory should be normalized.
classmethod GetHealthShareNamespaceType(pNamespace=$namespace)
as %String
Returns Hub, EdgeGateway, etc., or null if the namespace is not a HealthShare component namespace
classmethod InitializeEnsemble(pVerbose As %Boolean = 0, ByRef pIsPrimary As %Boolean = 1)
as %Status
classmethod InitializeHealthShare(pVerbose As %Boolean = 0, pHSLib As %String = ..#HSLIB, ByRef pIsPrimary As %Boolean = 1)
as %Status
Initialize HealthShare
classmethod Install(pUpgrade As %Boolean = 0, pProduct As %String = "", pSrcDir As %String = "")
as %Status
classmethod InstallEnsembleSecurity(pIsPrimary As %Boolean = 1, pVerbose As %Boolean = 0)
as %Status
Method to create Ensemble Resources and Roles, in addition to
upgrading existing users with access to the legacy portal through the
%Admin_Manage resource so that they retain full access to the new portal
after the installation completes.
classmethod InstallFoundationSecurity(pIsPrimary As %Boolean = 1, pVerbose As %Boolean = 0)
as %Status
Method to create Foundation Resources
classmethod IsDICOMInstalled()
as %Boolean
Checks if DICOM is installed
classmethod IsEnsembleInstalled()
as %Boolean
Checks for Ensemble installation
classmethod IsEnsembleNamespace()
as %Boolean
Checks if current namespace is Ensemble-enabled
classmethod IsFoundationInstalled()
as %Boolean
classmethod IsHealthShareInstalled()
as %Boolean
Checks for HealthShare installation
classmethod IsHealthShareNamespace(pNamespace=$namespace)
as %Boolean
Checks if current namespace is HealthShare-enabled
classmethod IsViewerInstalled()
as %Boolean
classmethod MultiEnsembleInstalled()
as %Boolean
classmethod OnSystemShutdown(Output pConsoleLog As %String, Output pCancelShutdown As %Boolean)
as %Boolean
classmethod OnSystemStartup(Output pConsoleLog As %String, pIsStartup As %Boolean = 0)
as %Boolean
classmethod RemoveLegacyPortal(pTargetNS As %String = "", pPortalDir As %String = "", pPortalApp As %String = "", pFiles As %Boolean = 1, pClasses As %Boolean = 0, pVerbose As %Boolean = 0)
as %Status
classmethod SetAutoStart(pTargetNS As %String, pProductionName As %String)
as %Status
classmethod SetCredential(pTargetNS As %String, pName As %String, pUsername As %String, pPassword As %String, pOverwrite As %Boolean = 0)
as %Status
classmethod UpdateAndReloadCPF(pVerbose, pTargetNS)
as %Status
classmethod Upgrade(pVerbose As %Boolean = 0, ByRef pIsPrimary As %Boolean = 1)
as %Status
classmethod UpgradeNamespace(pNS As %String, pVerbose As %Boolean = 0, ByRef pIsPrimary As %Boolean = 1)
as %Status
classmethod ValidateEnsemble(pEnsLib As %String = ..#ENSLIB, pVerbose As %Boolean = 0)
as %Status
Validate an Ensemble installation in ENSLIB
classmethod ValidateHealthShare(pHSLib As %String = ..#HSLIB, pVerbose As %Boolean = 0)
as %Status
Validate a HealthShare installation in ENSLIB
classmethod cleanupOldNamespace(pNS As %String, pVerbose As %Boolean = 0)
as %Status
classmethod configureEnsembleAutoStart(pValue As %Boolean = 1)
as %Status
classmethod convertCSPXSearches(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
Convert searches saved as instances of CSPX.EnsMsgFilterForm to instances of EnsPortal.MsgFilter.SavedSearch.
classmethod createMappings(pTargetNS As %String, pEnsLib As %String = ..#ENSLIB, pVerbose As %Boolean = 0)
as %Status
Private helper method to create Ensemble mappings for a particular namespace
classmethod createPortalApp(pPortal As %String, pNS As %String, pPortalDir As %String, pDescription As %String, pResource As %String = "", pRecursive As %Boolean = 1, pLoginPage As %String = "", pGrant As %String = "", pCookiePath As %String = "", pAuthMethods As %String = "", pLockCSPName As %Boolean = 1, pVerbose As %Boolean = 0, pGroupById As %String = "", pCspZenEnabled As %Boolean = 1, pInboundWebServicesEnabled As %Boolean = 1, pTwoFactorEnabled As %Boolean = 0, pIsNameSpaceDefault As %Boolean = 0, pPermittedClasses As %String = "")
as %Status
Helper to create a CSP portal application
classmethod defineAuditViewMessageContents()
as %String
The defineAudit* methods below return literals with the names for the Ensemble auditing events
with the format of a single string containing Source/Type/Name.
They return the values to be used when creating the audit events at installation/upgrade time by this class,
and also to define macros by routine EnsConstants.inc in ENSLIB.
classmethod deleteMappings(pTargetNS As %String, pEnsLib As %String = ..#ENSLIB, pVerbose As %Boolean = 0)
as %Status
Private helper method to create Ensemble mappings for a particular namespace
classmethod deploySearchTables(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
Classmethod to ensure SearchTable classes are correctly deployed to each Ensemble namespace.
classmethod getVersion()
as %List
classmethod indexNeedsRepair(pIndexGlobal As %String = "", pCount As %Integer = 1000)
as %Boolean
Helper method that uses a simple heuristic to loop over the index global supplied
in pIndexGlobal and check whether any entries include trailing zeroes.
By default, we only look at a thousand nodes, as the probability of encountering such a timestamp
is 10%, so 1000 should be more than enough entries to check.
classmethod map2enslib(pTargetNS As %String = $ZU(5), pVerbose As %Boolean = 0)
as %Status
classmethod map2hslib(pTargetNS As %String = $namespace, pVerbose As %Boolean = 0)
as %Status
This method must both write the changes to the CPF and activate the changes for them to take effect.
classmethod moveHSSiteDefaultFiles(pDirectory=$system.Util.InstallDirectory())
as %Status
Site Default XSLT files for SDA to CCD and back - pDirectory allows providing the source control directory
classmethod setDBattributes(dir As %String, mode As %String, rnam As %String)
classmethod unmap2enslib(pTargetNS As %String = $ZU(5), pVerbose As %Boolean = 0)
as %Status
classmethod unmaphslib(pTargetNS As %String = $ZU(5), pVerbose As %Boolean = 0)
as %Status
classmethod upgradeDocClassMap(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
Ensure that the ^Ens.DocClassMap global has valid data during upgrades from versions where
the DocClassMap wasn't used.
classmethod upgradeRules(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
Remove all rule cache routines and recompile all business rules.
classmethod upgradeSearchTables(pTargetNS As %String, pVerbose As %Boolean = 0)
as %Status
Classmethod to upgrade SearchTable metadata which was mapped to ENSLIB in versions prior to 2010.2.
classmethod upgradeUTCIndices(pTargetNS As %String, pVerbose As %Boolean = 1)
Ensure that timestamps of type Ens.DataType.UTC are correctly stored in various classes.
If pInteractive is true, the code assumes that the user is running the code from
a terminal, but will only output data if pVerbose is true.
classmethod validateNamespace(ByRef pTargetNS As %String, pIsEnabled As %Boolean = 0, ByRef pSC As %Status)
as %Boolean