Skip to main content

HS.FHIR.Service

deprecated class HS.FHIR.Service extends Ens.BusinessService, HS.HC.Util.Trace.Helper

THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
FHIR REST Business Service

Property Inventory

Method Inventory

Parameters

parameter SETTINGS = TargetConfigName:Basic:selector?context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},PatientHost:Basic:selector?context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},Timeout:Basic,FHIRVersion:Basic,FormatFHIROutput:Basic,SessionMode:Basic,ParameterModeTimeout:Basic,SessionClass:Basic,SessionStartClass:Basic,SessionEndClass:Basic,-ConformanceOperation:Basic:selector?context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

property ConformanceOperation as Ens.DataType.ConfigName;
Deprecated as of 2018.1, no longer used.
Property methods: ConformanceOperationDisplayToLogical(), ConformanceOperationGet(), ConformanceOperationIsValid(), ConformanceOperationLogicalToDisplay(), ConformanceOperationLogicalToOdbc(), ConformanceOperationNormalize(), ConformanceOperationParseConfigNameSpec(), ConformanceOperationSet()
property FHIRVersion as %String (MAXLEN = 255);
FHIRVersion to be "imprinted" on messages flowing through this service.
Property methods: FHIRVersionDisplayToLogical(), FHIRVersionGet(), FHIRVersionIsValid(), FHIRVersionLogicalToDisplay(), FHIRVersionLogicalToOdbc(), FHIRVersionNormalize(), FHIRVersionSet()
property FormatFHIROutput as %Boolean [ InitialExpression = 0 ];
Value of true for this setting causes any returned FHIR payload to include indentation and line feed characters to enhance readability of the raw content. This setting may be overridden on a per-request basis by including the "_pretty" URL parameter on the RESTful request.

Adding formatting to returned payloads adds significant processing overhead. Therefore it is recommended that this setting be enabled only for testing and demonstration purposes.
Property methods: FormatFHIROutputDisplayToLogical(), FormatFHIROutputGet(), FormatFHIROutputIsValid(), FormatFHIROutputLogicalToDisplay(), FormatFHIROutputNormalize(), FormatFHIROutputSet()
property ParameterModeTimeout as %Integer [ InitialExpression = 300 ];
This setting is effective only when SessionMode is set to Parameter. This is the maximum number of seconds between requests on this business service before a Parameter-based session is considered timed out.

Parameter mode has this specialized timeout setting because the other modes each have an existing basis for their timeout:
- OAuth session mode timeout is based on the life of the access token.
Property methods: ParameterModeTimeoutDisplayToLogical(), ParameterModeTimeoutGet(), ParameterModeTimeoutIsValid(), ParameterModeTimeoutLogicalToDisplay(), ParameterModeTimeoutNormalize(), ParameterModeTimeoutSet()
property PatientHost as Ens.DataType.ConfigName;
Configuration item to which to route FHIR search interactions on the Patient resource type. If no value is specified for this setting, then at run-time the value from Target Config Name is used for this setting.

For the purposes of this setting, FHIR Patient search is defined as a search specifically on the Patient resource type (e.g., GET [baseUrl]/Patient[?parameters]).

It does not include Patient compartment-based search (e.g., GET [baseUrl]/Patient/123/Observation) and does not include chained search on Patient (e.g., GET [baseUrl]/DiagnosticReport?subject:Patient.name=peter).
Property methods: PatientHostDisplayToLogical(), PatientHostGet(), PatientHostIsValid(), PatientHostLogicalToDisplay(), PatientHostLogicalToOdbc(), PatientHostNormalize(), PatientHostParseConfigNameSpec(), PatientHostSet()
property SessionClass as %String (MAXLEN = 256) [ InitialExpression = "HS.FHIR.SessionData.FHIRSession" ];
Class to use for the user session management object. Default is HS.FHIR.SessionData.FHIRSession. If an alternate class is specified, it must extend class HS.FHIR.SessionData.FHIRSession, either directly or indirectly.
Property methods: SessionClassDisplayToLogical(), SessionClassGet(), SessionClassIsValid(), SessionClassLogicalToDisplay(), SessionClassLogicalToOdbc(), SessionClassNormalize(), SessionClassSet()
property SessionEndClass as %String (MAXLEN = 256);
Class to use for supplementary processing upon user session end. This class must implement a class method named "SessionEnd", which takes as its only input parameter a user session object. It is called before this business service deletes the user session object.
Property methods: SessionEndClassDisplayToLogical(), SessionEndClassGet(), SessionEndClassIsValid(), SessionEndClassLogicalToDisplay(), SessionEndClassLogicalToOdbc(), SessionEndClassNormalize(), SessionEndClassSet()
property SessionMode as %String (VALUELIST = ",NoSession,Parameter,OAuth") [ InitialExpression = "NoSession" ];
NoSession mode means sessions are not being handled. FHIR requests are intended to interact with the resource repository as a regular FHIR resource server.

Parameter mode requires that each request be accompanied by a server-generated session id, passed in as a parameter on the request URL. This option is an alternative to requiring the client to accept and return browser cookies. The REST client must explicitly "start a user session" by invoking the $parameter-session-start FHIR operation. $parameter-session-start returns a session id that the REST client may then use for the duration of the user session. An explicit "end user session" action is available via the $parameter-session-end FHIR operation. The REST client should invoke $parameter-session-end upon ending the application or browser session, if possible.

OAuth mode is intended to use an OAuth 2.0 access token as the basis for a session id. This option requires that the FHIR namespace has the required setup and handling of OAuth 2.0.
Property methods: SessionModeDisplayToLogical(), SessionModeGet(), SessionModeIsValid(), SessionModeLogicalToDisplay(), SessionModeLogicalToOdbc(), SessionModeNormalize(), SessionModeSet()
property SessionStartClass as %String (MAXLEN = 256);
Class to use for supplementary processing upon user session start. This class must implement a class method named "SessionStart", which takes as its input parameters a user session object and a FHIR version (e.g., "DSTU2", "STU3"). It is called after this business service creates the user session object.
Property methods: SessionStartClassDisplayToLogical(), SessionStartClassGet(), SessionStartClassIsValid(), SessionStartClassLogicalToDisplay(), SessionStartClassLogicalToOdbc(), SessionStartClassNormalize(), SessionStartClassSet()
property TargetConfigName as Ens.DataType.ConfigName;
Configuration item to which to send inbound messages.

This setting is superseded by the PatientHost setting when the FHIR request is a Patient search request or Patient read request.
Property methods: TargetConfigNameDisplayToLogical(), TargetConfigNameGet(), TargetConfigNameIsValid(), TargetConfigNameLogicalToDisplay(), TargetConfigNameLogicalToOdbc(), TargetConfigNameNormalize(), TargetConfigNameParseConfigNameSpec(), TargetConfigNameSet()
property Timeout as %Integer [ InitialExpression = 25 ];
Timeout for dispatch (so we don't hold up the HTTP service too long or hang up a production shutdown).
Property methods: TimeoutDisplayToLogical(), TimeoutGet(), TimeoutIsValid(), TimeoutLogicalToDisplay(), TimeoutNormalize(), TimeoutSet()

Methods

deprecated method EndParameterSession(pSessionClass As %String, pSessionEndClass As %String, pApplication As %String, pSessionId As %String, pSessionObjID As %String = "", pReason As %String = "(Reason not stated)") as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
End or Expire a Parameter mode session. Even if the session was explicitly ended via $parameter-session-end, add it to the ExpiredSessions list so that the id does not get re-used before the next instance restart.
deprecated method GetSessionApplication(pFHIRRequest As HS.Message.FHIR.Request, pSessionMode As %String, ByRef pSessionApplication As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated method GetSessionId(pFHIRRequest As HS.Message.FHIR.Request, pSessionMode As %String, ByRef pSessionId As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated method GetSessionIdentifiers(pFHIRRequest As HS.Message.FHIR.Request, pSessionMode As %String, ByRef pSessionApplication As %String, ByRef pSessionId As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated classmethod MakeSessionId() as %String
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated method OnProcessInput(pInput As HS.Message.FHIR.Request, Output pOutput As HS.Message.FHIR.Response, ByRef pHint As %String) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Process an incoming message into the production; dispatch it to the configured target.
deprecated method PostProcessResponse(pFHIRRequest As HS.Message.FHIR.Request, pSessionMode As %String, ByRef pFHIRResponse As HS.Message.FHIR.Response) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated classmethod ProcessInteraction(pRequest As HS.Message.FHIR.Request, ByRef pResponse As HS.Message.FHIR.Response, pConfigName As Ens.DataType.ConfigName = ..%ClassName(1)) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Dispatch the FHIR request to a business service
deprecated method ProcessLocationHeader(pMetadata As HS.FHIR.InteractionMetadata, pResponse As HS.Message.FHIR.Response, pDefaultUrl As %String) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Process message injecting Location and/or Content-Location headers as needed
deprecated method ValidateOAuthSession(pFHIRRequest As HS.Message.FHIR.Request, pSessionClass As %String, pSessionStartClass As %String, pSessionEndClass As %String, pApplication As %String, pSessionId As %String, pSessionExists As %String, pSessionObjID As %String, ByRef pFHIRResponse As HS.Message.FHIR.Response) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated method ValidateParameterSession(pFHIRRequest As HS.Message.FHIR.Request, pSessionClass, pSessionStartClass As %String, pSessionEndClass As %String, pApplication As %String, pSessionId As %String, pSessionExists As %String, pSessionObjID As %String, ByRef pFHIRResponse As HS.Message.FHIR.Response) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated method ValidateSession(pFHIRRequest As HS.Message.FHIR.Request, pSessionMode As %String, pSessionClass As %String, pSessionStartClass As %String, pSessionEndClass As %String, ByRef pFHIRResponse As HS.Message.FHIR.Response) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
ValidateSession verifies that there is a valid session object for the specified application name and session id, and determines whether to create a session object for the session if none exists. Base behavior is to create the session object if it does not exist. Override this method to use alternate logic for valid session.
deprecated method dispatchToProduction(pTargetConfigName As %String, pRequest As HS.Message.FHIR.Request, Output pResponse As HS.Message.FHIR.Response, pTimeout As %Integer) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Dispatch an incoming message into the production; dispatch it to the configured target.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab