Skip to main content

HS.FHIRServer.Storage.Util

class HS.FHIRServer.Storage.Util

Method Inventory

Parameters

parameter SupportedStrategies = Json,ODS;
Comma-delimited list of FHIRServer strategy keys supported by this utility.

Methods

classmethod CheckForHashOverlap()
CheckForHashOverlap analyzes hashed storage global names across the active FHIRServer repositories in the current namespace, and displays information regarding whether there are hashed names that start with the same text in multiple repositories. This utility method helps to verify the safety of using a simple set of shorter-named global mappings for a group of hashed global names.
classmethod CheckSrchMapping(pEndpointURL As %String) as %DynamicObject
CheckSrchMapping parses all storage global definitions for the specified FHIRServer endpoint and displays information about issues related to the mapping of the globals when an alternate Resource database is in use.
classmethod GetDBInfoByUrl(pEndpointURL As %String, Output pDBInfo As %DynamicObject) as %Status
@API
Return a %DynamicObject of information about the default and FHIRServer-specific databases for the specified FHIRServer endpoint.

Sample output:
{

"default_db_name":"FHIRSERVER",
"default_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVER/",
"fhir_resource_db_name":"FHIRSERVERX0002R",
"fhir_resource_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002R/",
"fhir_version_db_name":"FHIRSERVERX0002V",
"fhir_version_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/"

}
classmethod RsrcStorageInfo(pEndpointURL As %String, Output pRsrcInfo As %DynamicArray) as %Status
@API
Return a %DynamicObject of information about the resource table storage for the specified FHIRServer endpoint.

Sample Output:
{

"fhir_endpoint_url":"/csp/healthshare/fhirserver/fhir/r4",
"db_info":{

"default_db_name":"FHIRSERVER",
"default_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVER/",
"fhir_resource_db_name":"FHIRSERVERX0002R",
"fhir_resource_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002R/",
"fhir_version_db_name":"FHIRSERVERX0002V",
"fhir_version_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/"

},
"global_info":[

// NOTE: "db_location" and "db_resource" can be determined only when
// the global is populated with data (i.e., "has_data" = true).
{
"class_name":"HSFHIR.X0002.R.Rsrc",
"global_name":"^HSFHIR.X0002.R.RsrcD"
"location_type":[ "DataLocation", "IdLocation" ],
"has_data":true,
"db_location":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/",
"db_resource":"%DB_FHIRSERVERX0002V"
},
{
"class_name":"HSFHIR.X0002.R.Rsrc",
"global_name":"^HSFHIR.X0002.R.RsrcI",
"location_type":[ "IndexLocation" ],
"has_data":false
},
{
"class_name":"HSFHIR.X0002.R.Rsrc",
"global_name":"^HSFHIR.X0002.R.RsrcS",
"location_type":[ "StreamLocation" ],
"has_data":false
}

]

}
classmethod SrchStorageInfo(pEndpointURL As %String, pResourceType As %String = "", Output pSrchInfo As %DynamicObject) as %Status
@API
Return a %DynamicObject of information about the search table storage for the specified FHIRServer endpoint.

Sample Output:
{

"fhir_endpoint_url":"/csp/healthshare/fhirserver/fhir/r4",
"db_info":{

"default_db_name":"FHIRSERVER",
"default_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVER/",
"fhir_resource_db_name":"FHIRSERVERX0002R",
"fhir_resource_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002R/",
"fhir_version_db_name":"FHIRSERVERX0002V",
"fhir_version_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/"

},
"global_info":[

// NOTE: "db_location" and "db_resource" can be determined only when
// the global is populated with data (i.e., "has_data" = true).
{
"class_name":"HSFHIR.X0002.S.DiagnosticReport",
"global_name":"^HSFHIR.X002220.DiagnosticR9BA8D",
"location_type":[ "DataLocation", "IdLocation" ],
"has_data":true,
"db_location":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002R/",
"db_resource":"%DB_FHIRSERVERX0002R",
"resource_type":"DiagnosticReport"
},
{
"class_name":"HSFHIR.X0002.S.DiagnosticReport",
"global_name":"^HSFHIR.X002220.DiagnosticR9BA8I",
"location_type":[ "IndexLocation" ],
"has_data":false,
"resource_type":"DiagnosticReport"
},
{
"class_name":"HSFHIR.X0002.S.DiagnosticReport",
"global_name":"^HSFHIR.X002220.DiagnosticR9BA8S",
"location_type":[ "StreamLocation" ],
"has_data":false,
"resource_type":"DiagnosticReport"
}

]

}
classmethod UsesAltRsrcDB(pEndpointURL As %String) as %Boolean
@API
Return a Boolean value indicating whether the specified FHIRServer endpoint uses the productized alternate resource database.
classmethod UsesAltVerDB(pEndpointURL As %String) as %Boolean
@API
Return a Boolean value indicating whether the specified FHIRServer endpoint uses the productized alternate version database.
classmethod VerStorageInfo(pEndpointURL As %String, Output pVerInfo As %DynamicArray) as %Status
@API
Returns a %DynamicObject of information about the version table storage for a specified FHIRServer endpoint.

Sample Output:
{

"fhir_endpoint_url":"/csp/healthshare/fhirserver/fhir/r4",
"db_info":{

"default_db_name":"FHIRSERVER",
"default_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVER/",
"fhir_resource_db_name":"FHIRSERVERX0002R",
"fhir_resource_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002R/",
"fhir_version_db_name":"FHIRSERVERX0002V",
"fhir_version_db_dir":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/"

},
"global_info":[

// NOTE: "db_location" and "db_resource" can be determined only when
// the global is populated with data (i.e., "has_data" = true).
{
"class_name":"HSFHIR.X0002.V.RsrcVer",
"global_name":"^HSFHIR.X0002.V.RsrcVerD",
"location_type":[ "DataLocation", "IdLocation" ],
"has_data":true,
"db_location":"/InterSystems/irisinstance/mgr/FHIRSERVERX0002V/",
"db_resource":"%DB_FHIRSERVERX0002V"
},
{
"class_name":"HSFHIR.X0002.V.RsrcVer",
"global_name":"^HSFHIR.X0002.V.RsrcVerI",
"location_type":[ "IndexLocation" ],
"has_data":false
},
{
"class_name":"HSFHIR.X0002.V.RsrcVer",
"global_name":"^HSFHIR.X0002.V.RsrcVerS",
"location_type":[ "StreamLocation" ],
"has_data":false
}

]

}
FeedbackOpens in a new tab