HS.FHIRServer.Storage.JsonAdvSQL.InteractionsStrategy
class HS.FHIRServer.Storage.JsonAdvSQL.InteractionsStrategy extends HS.FHIRServer.API.InteractionsStrategy
Method Inventory
- %OnNew()
- GetCapabilityConfig()
- GetCapabilityTemplate()
- GetFieldMetdata()
- GetMetadataResource()
- GetStrategyConfigInfo()
- NewInteractionsInstance()
- buildSecurity()
- isBitmap()
Parameters
parameter DecimalPrecision = 1;
Controls decimal handling in FHIRPath API.
1 = return decimals as string to preserve leading/trailing zeros
0 = return decimals as iris number format
parameter InteractionsClass = HS.FHIRServer.Storage.JsonAdvSQL.Interactions;
Class name to use when creating a new instance of the Interactions class for this strategy
parameter ResourceSuperclass = HS.FHIRServer.Storage.JsonAdvSQL.Resource;
Super class used for generated Resource table to inherit from
parameter ResourceVersionSuperclass = HS.FHIRServer.Storage.JsonAdvSQL.ResourceVer;
Super class for generated Version table to inherit from
parameter SearchSuperclass = HS.FHIRServer.Storage.JsonAdvSQL.SearchTable;
Super class for generated Search tables to inherit from
parameter StrategyDesc = All Resources stored in a single table as Json text; Advanced SQL;
parameter StrategyKey = JsonAdvSQL;
Methods
final method %OnNew(serviceInstance As HS.FHIRServer.ServiceInstance, repoManager As HS.FHIRServer.API.RepoManager) as %Status
Inherited description: This callback method is invoked by the %New() method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.
method GetCapabilityConfig() as %DynamicObject
@API - subclasses may override
Capability configuration object that will be passed to ##class(HS.FHIRServer.Tools.CapabilityStatementBuilder).Build()
Allows for customization of which capabilities will be displayed in the FHIRServer /metadata endpoint
method GetCapabilityTemplate() as %DynamicObject
@API - Subclasses may override.
CapabilityStatement template object that will be passed to ##class(HS.FHIRServer.Tools.CapabilityStatementBuilder).Build()
method GetFieldMetdata(pSearchParam As HS.FHIRServer.SearchParam) as %CacheString
@API
Returns field metadata for a field corresponding to a search parameter, returns $listbuild(fieldName, isCollection,...)
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.
classmethod GetStrategyConfigInfo() as %DynamicObject
Inherited description: @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"]
}
}
method NewInteractionsInstance() as HS.FHIRServer.API.Interactions
@API Creates an instance of the Interactions handler object
method buildSecurity() as %DynamicObject
@API.Overrideable
buildSecurity builds a CapabilityStatement security object. Input to this method is available only via the class parameters and properties of the current InteractionsStrategy object instance.
buildSecurity builds a CapabilityStatement security object. Input to this method is available only via the class parameters and properties of the current InteractionsStrategy object instance.
method isBitmap(pSearchParam As HS.FHIRServer.SearchParam)
Logic to determine when a Search column should get indexed as a Bitmap index rather than standard
Inherited Members
Inherited Properties
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()
- Create()
- Decommission()
- Delete()
- GetDefaultStrategyConfig()
- GetEndpointInfo()
- GetEndpointURL()
- GetGlobalRoot()
- GetGlobalTempRoot()
- GetOneEndpointInfo()
- GetResourceClass()
- GetResourceClassesPackage()
- GetResourceTable()
- GetResourceVersionClass()
- GetResourceVersionTable()
- GetSearchClass()
- GetSearchClassesPackage()
- GetSearchTable()
- GetServiceConfigData()
- GetServiceConfigDataForEndpoint()
- GetStrategyForEndpoint()
- GetStrategyList()
- InstanceKeyGet()
- MigrateFromPre2020()
- OnBeforeSaveStrategyConfigData()
- RepoGet()
- RepoInstanceGet()
- RepoManagerGet()
- SaveServiceConfigData()
- SetEnabled()
- Update()
- getInstance()
- schemaGet()