HS.FHIRServer.API.InteractionsStrategy

abstract class HS.FHIRServer.API.InteractionsStrategy extends %Library.RegisteredObject

Property Inventory

Method Inventory

Parameters

parameter StrategyDesc;
parameter StrategyKey;

Properties

property InstanceKey as %String [ Calculated ];
Property methods: InstanceKeyDisplayToLogical(), InstanceKeyGet(), InstanceKeyIsValid(), InstanceKeyLogicalToDisplay(), InstanceKeyLogicalToOdbc(), InstanceKeyNormalize()
property RepoInstance as HS.FHIRServer.RepoInstance [ Calculated ];
Property methods: RepoInstanceGet()
property RepoManager as HS.FHIRServer.API.RepoManager [ Calculated ];
Property methods: RepoManagerGet()
property schema as HS.FHIRServer.Schema [ Calculated ];
Property methods: schemaGet()

Methods

method Create(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 Decommission(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).
method Delete(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.
final method GetDefaultStrategyConfig() as %DynamicObject [ Language = objectscript ]
@API Returns a default strategy configuration.
classmethod GetEndpointInfo(pStrategyKey As %String = "") as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@API Get the endpoint URLs for a specific strategy/metadata combination
method GetGlobalRoot() as %String [ Language = objectscript ]
@API Returns the name of a Global node that is the root of any global-based data for this instance
method GetGlobalTempRoot() as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@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.
classmethod GetOneEndpointInfo(pUrl As %String) as %List [ Language = objectscript ]
@API Returns a list of information for an endpoint in this Namespace The list is a $List( strategyKey, metadataSetKey, enabled )
method GetResourceClass(resourceType As %String) as %String [ Language = objectscript ]
@API Returns the classname of the persistent object used store resources for the specified type
method GetResourceClassesPackage() as %String [ Language = objectscript ]
@API Returns a package name reserved for generated resource classes in this instance
method GetResourceTable(resourceType As %String, shortName As %Boolean = 0) as %String [ Language = objectscript ]
@API Returns the table name that stores resources for the specified type
method GetResourceVersionClass(resourceType As %String) as %String [ Language = objectscript ]
@API Returns the classname of the persistent object used store older resource versions for the specified type
method GetResourceVersionTable(resourceType As %String = "", shortName As %Boolean = 0) as %String [ Language = objectscript ]
@API Returns the SQL Table name for older resource versions for the specified type
method GetSearchClass(resourceType 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
method GetSearchClassesPackage() as %String [ Language = objectscript ]
@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 [ Language = objectscript ]
@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 [ Language = objectscript ]
Returns the FHIRService ConfigData object for this endpoint
classmethod GetServiceConfigDataForEndpoint(pUrl As %String) as HS.FHIRServer.API.ConfigData [ Language = objectscript ]
classmethod GetStrategyConfigInfo() as %DynamicObject [ Language = objectscript ]
@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 }, ... } 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" } }
classmethod GetStrategyForEndpoint(pBaseUrl As %String) as HS.FHIRServer.API.InteractionsStrategy [ Language = objectscript ]
@API Returns an instance of an InteractionsStrategy that manages the specified endpoint base URL.
classmethod GetStrategyList(Output pListOfClasses) [ Language = objectscript ]
@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.
method InstanceKeyGet() as %String [ Language = objectscript ]
deprecated abstract method MigrateFromPre2020(ByRef options) [ Language = objectscript ]
@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 [ Language = objectscript ]
@API Creates an instance of the Interactions handler object
method OnBeforeSaveStrategyConfigData(configData As %DynamicObject) [ Language = objectscript ]
@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 [ Language = objectscript ]
method RepoInstanceGet() as HS.FHIRServer.ServiceInstance [ Language = objectscript ]
method RepoManagerGet() [ Language = objectscript ]
method SaveServiceConfigData(configData As HS.FHIRServer.API.ConfigData) [ Language = objectscript ]
Update the FHIRService ConfigData object for this endpoint
classmethod SetEnabled(pAppKey As %String, enabled As %Boolean) [ Language = objectscript ]
method Update(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 getInstance(serviceOrKey As %String, repoManager As HS.FHIRServer.API.RepoManager = "") as HS.FHIRServer.API.InteractionsStrategy [ Language = objectscript ]
@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'
method schemaGet() [ Language = objectscript ]

Inherited Members

Inherited Methods

Subclasses

Feedback