HS.FHIRServer.API.RepoManager
abstract class HS.FHIRServer.API.RepoManager extends %Library.RegisteredObject
This is the primary API for managing a repository and its service(s) and endpoint(s)Property Inventory
Method Inventory
- AddService()
- CreateRepo()
- CreateService()
- CreateStrategy()
- DecommissionService()
- DeleteService()
- GetGlobalRoot()
- GetGlobalTempRoot()
- GetIndexType()
- GetQuantityStorageGlobalPrefix()
- GetResourceClassName()
- GetResourceTableName()
- GetResourceVersionClassName()
- GetResourceVersionTableName()
- GetSearchClassName()
- GetSearchColumnName()
- GetSearchTableName()
- GetStorageGlobalPrefix()
- GetStrategyList()
- MakeStoragePackageDefinition()
- UpdateService()
- getInstance()
- repoGet()
Parameters
parameter IsSingleServiceStrategy = 1;
True if the Repo Strategy is limited to only 1 service per repo
parameter MaxGlobalPrefixLength = 31;
Maximum length for GlobalPrefix definition in generated PackageDefinition classes.
parameter StrategyClass;
parameter StrategyKey;
Properties
property repo as HS.FHIRServer.Repo [ Calculated ];
Methods
method AddService(pMetadataSetKey As %String, pAppKey As %String = "") as HS.FHIRServer.RepoInstance
@API
Adds a new service to this Repo that uses the specified MetadataSet and returns the ID for the new service. The Id may be passed to the CreateStrategy method to obtain a InteractionsStrategy and Interactions objects for the new service.
@Input pMetadataSetKey Comma-separated string listing the FHIR Metadata packages for the RepoInstance.
@Input pAppKey URL of the CSP application serving this FHIR Server RepoInstance.
@Return The RepoInstance of the new service.
Adds a new service to this Repo that uses the specified MetadataSet and returns the ID for the new service. The Id may be passed to the CreateStrategy method to obtain a InteractionsStrategy and Interactions objects for the new service.
@Input pMetadataSetKey Comma-separated string listing the FHIR Metadata packages for the RepoInstance.
@Input pAppKey URL of the CSP application serving this FHIR Server RepoInstance.
@Return The RepoInstance of the new service.
classmethod CreateRepo(strategyKey As %String, createDatabases=0, resourcePath As %String = "", versionPath As %String = "") as HS.FHIRServer.Repo
@API
Factory method to create a Repo Instance for the specified Strategy.
@Input strategyKey The key for the strategy to be used by the new Repo
@Returns the Id for the new Repo
@Input strategyKey The key for the strategy to be used by the new Repo
@Returns the Id for the new Repo
abstract method CreateService(serviceId As %String, ByRef options)
@API Create the service. This method initializes a service for an endpoint
including generating any classes or schemas required and registering the configuration for
later modification or deletion
method CreateStrategy(serviceOrKey As %String) as HS.FHIRServer.API.InteractionsStrategy
@API
Factory method to create an instance of an HS.FHIRServer.API.InteractionsStrategy
for a specified ServiceInstance
@Input serviceOrKey The Service Key or Service instance for the InteractionsStrategy to manage
@Throws: APIContractViolation if the serviceOrKey does not resolve to a service for this Repo.
@Input serviceOrKey The Service Key or Service instance for the InteractionsStrategy to manage
@Throws: APIContractViolation if the serviceOrKey does not resolve to a service for this Repo.
abstract method DecommissionService(serviceId As %String, ByRef options)
@API Decommission the service. This method detaches a service from any REST endpoints, making it inaccessiable for
client operations. The Service may remove all of its data, or it may preserves data to support retention policies. A decommissioned
service cannot be deleted until all data in the service have been deleted (via retention policies).
abstract method DeleteService(serviceId As %String, ByRef options)
@API Delete the service. This method removes a service. This includes and FHIR data and
associated schema classes as well as registration data. A decommissioned service cannot be removed.
@API Returns a $Name for a Global Root node that can be used by the
specified service instance
@API Returns a $Name for a Temporary Global Root node that can be used by the
specified service instance
@API
Returns the index type for the specified resource type and parameter code
classmethod GetQuantityStorageGlobalPrefix(pRepo As HS.FHIRServer.Repo, pResourceType As %String)
@API
Formulate and return a GlobalPrefix value to use for the StorageDefinition
globals for the quantity index storage class for the specified resource
type in the specified HS.FHIRServer.Repo.
@API
Returns the classname of the persistent object used store resources for the specified type
abstract method GetResourceTableName(serviceId As %String, pResourceType As %String, shortName As %Boolean = 0) as %String
@API
Returns the table name that stores resources for the specified type
abstract method GetResourceVersionClassName(serviceId As %String, pResourceType As %String) as %String
@API
Returns the classname of the persistent object used store older resource versions for the specified type
abstract method GetResourceVersionTableName(serviceId As %String, pResourceType As %String, shortName As %Boolean = 0) as %String
@API
Returns the SQL Table name for older resource versions for the specified type
@API
Returns the classname of the persistent object used to index the specified type. Note, it may be the
same as the ResourceClass
abstract method GetSearchColumnName(serviceId As %String, pResourceType As %String, paramCode As %String) as %String
@API
Returns the classname of the persistent object used to index the specified type. Note, it may be the
same as the ResourceClass
abstract method GetSearchTableName(serviceId As %String, pResourceType As %String, pChildName As %String, shortName As %Boolean = 0) as %String
@API
Returns the table name used to index the specified type. Note, it may be the
same as the ResourceTable
classmethod GetStorageGlobalPrefix(pRepo As HS.FHIRServer.Repo, pTableType As %String) as %String
@API
Formulate and return a GlobalPrefix value to use for the StorageDefinition
globals for the specified HS.FHIRServer.Repo table class type.
classmethod GetStrategyList(Output pListOfClasses)
@API Return a multi-dimensional array of information nodes, using the
StrategyKey as the key.
indexed by StrategyKey.
Output:
pListOfClasses(n): the name of the n-th available InteractionsStrategy class
pListOfClasses(n, "repoManager"): the name of the n-th available RepoManager class
pListOfClasses(n, "desc"): the description of the n-th available strategy
classmethod MakeStoragePackageDefinition(pPackageName As %String, pGlobalPrefix As %String, ByRef pUpdated As %Boolean)
@API
Create and Save a PackageDefinition class for the specified storage class
package name. Set the GlobalPrefix property to the specified value. If
the class already exists, or there are already classes within the specified
package, then the PackageDefinition is not created or updated, and is not
considered an error. This method Throws upon actual error.
@Input pPackageName Class package name.
@Input pGlobalPrefix Global prefix value for PackageDefinition.
@Output pUpdated Create/update status: 1 = Created PackageDefinition, -1 = Exists, not updated, -2 Did not exist, not created.
@Input pPackageName Class package name.
@Input pGlobalPrefix Global prefix value for PackageDefinition.
@Output pUpdated Create/update status: 1 = Created PackageDefinition, -1 = Exists, not updated, -2 Did not exist, not created.
abstract method UpdateService(serviceId As %String, ByRef options)
@API Update the schema. This method applies changes to an already configured schema (if possible)
For example, to add a search parameter including ensuring that the new field is indexed.
Handle changes to the schema structure
classmethod getInstance(repoOrId) as HS.FHIRServer.API.RepoManager
@API
Factory method to return a instance of a RepoManager.
The input parameter, repoOrId, may be the ID value of a Repo, or an
instantiated HS.FHIRServer.Repo object.
method repoGet() as HS.FHIRServer.Repo
Inherited Members
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()