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

Parameters

parameter IsSingleServiceStrategy = 1;
True if the Repo Strategy is limited to only 1 service per repo
parameter StrategyClass;
parameter StrategyKey;

Properties

property repo as HS.FHIRServer.Repo [ Calculated ];
Property methods: repoGet()

Methods

method AddService(pMetadataSetKey As %String) as HS.FHIRServer.ServiceInstance [ Language = objectscript ]
@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.
@Return The ServiceInstance of the new service.
classmethod CreateRepo(strategyKey As %String, createDatabases=0, resourcePath As %String = "", versionPath As %String = "") as HS.FHIRServer.Repo [ Language = objectscript ]
@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
abstract method CreateService(serviceId As %String, ByRef options) [ Language = objectscript ]
@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 [ Language = objectscript ]
@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.
abstract method DecommissionService(serviceId As %String, ByRef options) [ Language = objectscript ]
@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) [ Language = objectscript ]
@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.
abstract method GetGlobalRoot(serviceId As %String) as %String [ Language = objectscript ]
@API Returns a $Name for a Global Root node that can be used by the specified service instance
abstract method GetGlobalTempRoot(serviceId As %String) as %String [ Language = objectscript ]
@API Returns a $Name for a Temporary Global Root node that can be used by the specified service instance
abstract method GetIndexType(resourceType As %String, paramCode As %String) as %Integer [ Language = objectscript ]
@API Returns the index type for the specified resource type and parameter code
abstract method GetResourceClassName(serviceId As %String, pResourceType As %String) as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@API Returns the table name that stores resources for the specified type
abstract method GetResourceVersionClassName(serviceId As %String, pResourceType As %String) as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@API Returns the SQL Table name for older resource versions for the specified type
abstract method GetSearchClassName(serviceId As %String, pResourceType As %String) as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@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 [ Language = objectscript ]
@API Returns the table name used to index the specified type. Note, it may be the same as the ResourceTable
classmethod GetStrategyList(Output pListOfClasses) [ Language = objectscript ]
@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
abstract method UpdateService(serviceId As %String, ByRef options) [ Language = objectscript ]
@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 createFHIRDatabase(dbName As %String, path As %String, mapGlobalList As %String, sqlProceduresList As %List) [ Language = objectscript ]
classmethod getInstance(repoOrId) as HS.FHIRServer.API.RepoManager [ Language = objectscript ]
@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 [ Language = objectscript ]

Inherited Members

Inherited Methods

Subclasses

Feedback