Skip to main content

HS.FHIRServer.ServiceUpgrade

abstract class HS.FHIRServer.ServiceUpgrade

Method Inventory

Parameters

parameter CVGLOBAL = ^HS.FHIRServer("admin", "ConfigVersion");
parameter ConfigVersion = 7;
parameter INSTGLOBAL = ^HS.FHIRServer("admin", "instance");

Methods

classmethod AddRolesToCSPApp(ByRef pLogFile As %File, pCSPApp As %String, pRolesToAdd As %List, pMatchRole As %String = "")
classmethod AddRolesToCSPAppsV4(ByRef pLogFile As %File)
Add %HS_ImpersonateUser to all FHIR endpoint CSP apps in Foundation namespaces, to allow for changing FHIR request Username and Roles based on access token contents. ODS does not need to be able to change these items, due to how ODS processes FHIR requests with access tokens.
classmethod CSPAppExists(pCSPApp, ByRef pAppObj, ByRef pSC) as %Boolean
classmethod CompleteV3Upgrade(ByRef pLogFile As %File, repoMgr As HS.FHIRServer.API.RepoManager, instance As HS.FHIRServer.ServiceInstance, mdsKey As %String)
classmethod FindPropDef(classDef As %Dictionary.ClassDefinition, fieldName As %String)
classmethod FlagBySearchColumnQuery(ByRef pLogFile As %File, pCondition As %String) as %List
Upgrade helper method which identifies search columns that meet a specified criteria and calls the API which flags them to be reindexed. Will search across all active repositories unless otherwise specified. @Arguments pLogFile (optional) Installer log file to write to pCondition Valid SQL expression to restrict a search on HS_FHIRServer_Storage_Json.SearchColumn Eg. "Datatype = 'HumanName' or DataType = 'Address"
classmethod InitializeNamespaceConfig()
classmethod MDSKeyToPackageList(ByRef pLogFile As %File, mdsKey As %String) as %List
classmethod ModifyArchitectureSubclasses(pStrategyClass As %String)
For upgrading from version >= 2020.1 and version < 2020.4 of the FHIR Server Notes from the documentation we are automating as part of upgrade: Do one of the following in your endpoint’s namespace: -If the InteractionsStrategy of your endpoint extends HS.FHIRServer.Storage.Json.InteractionsStrategy create a subclass of HS.FHIRServer.Storage.Json.RepoManager. -If the InteractionsStrategy of your endpoint subclassed HS.FHIRServer.API.InteractionsStrategy directly, create a subclass of the HS.FHIRServer.API.RepoManager. Add the following parameters to your subclass of the Repo Manager: -StrategyClass — Specifies the subclass of your InteractionsStrategy. -StrategyKey — Specifies the unique identifier of the InteractionsStrategy. This must match the value of the StrategyKey parameter in the InteractionsStrategy subclass.
classmethod RebuildCapabilityStatements()
Rebuild the CapabilityStatement for all non-Decomissioned endpoints. A fail of any rebuild should not fail all of UpgradeNamespace().
classmethod RecompileRsrcV4(ByRef pLogFile As %File)
classmethod ReindexPeriodV6(ByRef pLogFile As %File)
Many index values for Period properties were improperly derived by simply adding a trailing "Z" on partial values that had been filled out to a timestamp, rather than applying ConvertToUTC() on the filled out value. The relevant logic in IndexPeriod() is now corrected. Period properties therefore need to be re-indexed.
classmethod ReindexRsrcBySuper(ByRef pLogFile As %File, pRsrcSuperClass As %String = "", pIndicesList As %List)
[Re]build specified indices in FHIRServer resource table classes that extend the specified resource table super class.
classmethod ReindexRsrcV4(ByRef pBackgroundItem As HS.HC.Util.Installer.Upgrade.BackgroundItem, ByRef pLogFile As %File)
classmethod ReindexSingletonIdentifiersV6(ByRef pLogFile As %File)
Singleton identifiers were improperly projected as a string (rather than "list of string"), even though we need to store multiple values in each entry. Updating the existing search table property will cause compatibility problems on search/update for any pre-existing data (IRIS will expect it as a list, but it was stored as a string). Instead, create a new property where these singleton identifiers can be expressed as lists. The columns will be marked as needing re-indexing, and that's when the values will be populated.
classmethod ReindexV4(ByRef pLogFile As %File)
classmethod ReindexV5(ByRef pLogFile As %File)
classmethod UpgradeNamespace(ByRef pLogFile As %File) as %Status
FeedbackOpens in a new tab