HS.FHIRServer.API.InteractionsStrategy
abstract class HS.FHIRServer.API.InteractionsStrategy extends %Library.RegisteredObject
Property Inventory
Method Inventory
- Create()
- Decommission()
- Delete()
- GetDefaultStrategyConfig()
- GetEndpointInfo()
- GetEndpointURL()
- GetGlobalRoot()
- GetGlobalTempRoot()
- GetMetadataResource()
- GetOneEndpointInfo()
- GetResourceClass()
- GetResourceClassesPackage()
- GetResourceTable()
- GetResourceVersionClass()
- GetResourceVersionTable()
- GetSearchClass()
- GetSearchClassesPackage()
- GetSearchTable()
- GetServiceConfigData()
- GetServiceConfigDataForEndpoint()
- GetStrategyConfigInfo()
- GetStrategyForEndpoint()
- GetStrategyList()
- InstanceKeyGet()
- MigrateFromPre2020()
- NewInteractionsInstance()
- OnBeforeSaveStrategyConfigData()
- RepoGet()
- RepoInstanceGet()
- RepoManagerGet()
- SaveServiceConfigData()
- SetEnabled()
- Update()
- getInstance()
- schemaGet()
Parameters
parameter StrategyDesc;
parameter StrategyKey;
Properties
property InstanceKey as %String [ Calculated ];
Property methods: InstanceKeyDisplayToLogical(), InstanceKeyIsValid(), InstanceKeyLogicalToDisplay(), InstanceKeyLogicalToOdbc(), InstanceKeyNormalize()
property RepoInstance as HS.FHIRServer.RepoInstance [ Calculated ];
property RepoManager as HS.FHIRServer.API.RepoManager [ Calculated ];
property schema as HS.FHIRServer.Schema [ Calculated ];
Methods
method Create(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 Decommission(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).
method Delete(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.
final method GetDefaultStrategyConfig() as %DynamicObject
@API
Returns a default strategy configuration.
@API
Returns a list of information for endpoints in this Namespace, optionally filtered by strategyKey
Each entry in the list is a $List( appKey, strategyKey, metadataSetKey, enabled, instanceKey )
deprecated classmethod GetEndpointURL(pStrategyKey As %String, pMetadataSetKey As %String) as %String
@API
Get the endpoint URLs for a specific strategy/metadata combination
method GetGlobalRoot() as %String
@API
Returns the name of a Global node that is the root of any global-based data for this instance
method GetGlobalTempRoot() as %String
@API
Returns the name of a Global node that is the root of any temporary global-based data for this instance
abstract method GetMetadataResource() as %DynamicObject
@API
Return a CapabilityStatement metadata resource. The returned content is derived from a strategy-specific means of formulating a CapabilityStatement. An example use of the output might be to store the CapabilityStatement for a given Service.
This method should not be confused with the Interactions class LoadMetadata() method, which retrieves the stored CapabilityStatement for the current Service.
Return a CapabilityStatement metadata resource. The returned content is derived from a strategy-specific means of formulating a CapabilityStatement. An example use of the output might be to store the CapabilityStatement for a given Service.
This method should not be confused with the Interactions class LoadMetadata() method, which retrieves the stored CapabilityStatement for the current Service.
@API
Returns a list of information for an endpoint in this Namespace
The list is a $List( strategyKey, metadataSetKey, enabled )
@API
Returns the classname of the persistent object used store resources for the specified type
method GetResourceClassesPackage() as %String
@API
Returns a package name reserved for generated resource classes in this instance
@API
Returns the table name that stores resources for the specified type
@API
Returns the classname of the persistent object used store older resource versions for the specified type
@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
method GetSearchClassesPackage() as %String
@API
Returns a package name reserved for generated search classes in this instance
method GetSearchTable(resourceType 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
method GetServiceConfigData() as HS.FHIRServer.API.ConfigData
Returns the FHIRService ConfigData object for this endpoint
classmethod GetServiceConfigDataForEndpoint(pUrl As %String) as HS.FHIRServer.API.ConfigData
classmethod GetStrategyConfigInfo() as %DynamicObject
@API.Overrideable
Returns a JSON object which defines InteractionsStrategy specific
settings. This object allows settings to be modified through the FHIR
configuration UI, and will also be used to set default values when
a new endpoint is created. Note that additional properties can
be saved in an endpoint's strategy configuration, but only settings
defined here will appear in the UI and will be given a default value.
The object must match the following interface:
{
prop_name: { # Name of the setting
type: "string" | "number" | "boolean", # Datatype of the setting. Must be one of these supported JSON types
default: string | number | boolean, # Default value for the property. All endpoints will use this value until changed
display_name: string # (optional) Label text used to identify the setting in the config UI
description: string # (optional) Description of the property. Will appear as a tooltip in the config UI
valueset: array # (optional) Indicates to use a drop-down menu and what options to display. Only applies to number and string 'type'.
},
...
}
eg.
{
"read_write": {
"type": "boolean",
"default": true,
"display_name": "Allow write access",
"description": "If checked, this endpoint will support POSTing and PUTing resources. Otherwise, it will be read-only"
},
"consent_processor": {
"type": "string",
"default": "MyCustom.ConsentProcessor"
"display_name": "Consent processor class",
"valueset": ["MyCustom.ConsentProcessor", "Default.ConsentProcessor"]
}
}
classmethod GetStrategyForEndpoint(pBaseUrl As %String) as HS.FHIRServer.API.InteractionsStrategy
@API Returns an instance of an InteractionsStrategy that manages the specified endpoint base URL.
classmethod GetStrategyList(Output pListOfClasses)
@Deprecated
Change your code to call ##class(HS.FHIRServer.API.RepoManager).GetStrategyList instead. This method is just a passthrough and will be removed in the future.
Change your code to call ##class(HS.FHIRServer.API.RepoManager).GetStrategyList instead. This method is just a passthrough and will be removed in the future.
method InstanceKeyGet() as %String
deprecated abstract method MigrateFromPre2020(ByRef options)
@API This method migrates existing FHIR data from a previous installation of FHIR
from pre-HealthConnect 2020.1
abstract method NewInteractionsInstance() as HS.FHIRServer.API.Interactions
@API Creates an instance of the Interactions handler object
method OnBeforeSaveStrategyConfigData(configData As %DynamicObject)
@API.Overrideable
If modifications to the strategy configuration has side effects,
those should be implemented by overriding this method.
method RepoGet() as HS.FHIRServer.Repo
method RepoInstanceGet() as HS.FHIRServer.ServiceInstance
method RepoManagerGet()
method SaveServiceConfigData(configData As HS.FHIRServer.API.ConfigData)
Update the FHIRService ConfigData object for this endpoint
method Update(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(serviceOrKey As %String, repoManager As HS.FHIRServer.API.RepoManager = "") as HS.FHIRServer.API.InteractionsStrategy
@API
Factory method to create an instance of the InteractionsStrategy class associated with the
specified service.
@Input serviceOrKey The Service Key or Service instance for the InteractionsStrategy to manage
@Input repoManager (optional) If present, this RepoManager instance will be assigned as the RepoManager property of the returned strategy. If not present, a new RepoManger will be created.
@Return An instance of an InteractionsStrategy object to manage the service
@Throws: APIContractViolation if the serviceOrKey does not resolve to a service in the Repo managed by the specified 'repoManager'
@Input serviceOrKey The Service Key or Service instance for the InteractionsStrategy to manage
@Input repoManager (optional) If present, this RepoManager instance will be assigned as the RepoManager property of the returned strategy. If not present, a new RepoManger will be created.
@Return An instance of an InteractionsStrategy object to manage the service
@Throws: APIContractViolation if the serviceOrKey does not resolve to a service in the Repo managed by the specified 'repoManager'
method schemaGet()
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()