abstract class HS.FHIRServer.ServiceUpgrade
parameter CVGLOBAL = ^HS.FHIRServer("admin", "ConfigVersion");
parameter ConfigVersion = 7;
parameter INSTGLOBAL = ^HS.FHIRServer("admin", "instance");
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)
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 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.
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 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)