HS.FHIRServer.Service

class HS.FHIRServer.Service extends %Library.RegisteredObject, HS.FHIRServer.API.Service, HS.FHIRServer.Util.Bundle, HS.HC.Util.Trace.Helper

Property Inventory

Method Inventory

Parameters

parameter INVOCATION = Queue;
parameter QUERYIDPARAM = queryId;
parameter QUERYPAGEPARAM = page;

Properties

property ConfigData as HS.FHIRServer.API.ConfigData [ Calculated ];
Inherited description: The Configuration Data controlling this service
Property methods: ConfigDataGet()
property ErrorToHttp [ MultiDimensional , Transient ];
Property methods: ErrorToHttpDisplayToLogical(), ErrorToHttpGet(), ErrorToHttpIsValid(), ErrorToHttpLogicalToDisplay(), ErrorToHttpLogicalToOdbc(), ErrorToHttpNormalize(), ErrorToHttpSet()
property MetadataResource as %DynamicObject [ Transient ];
The MetadataResource being enforced by this instance
Property methods: MetadataResourceGet(), MetadataResourceGetObject(), MetadataResourceGetObjectId(), MetadataResourceGetSwizzled(), MetadataResourceIsValid(), MetadataResourceNewObject(), MetadataResourceSet(), MetadataResourceSetObject(), MetadataResourceSetObjectId(), MetadataResourceUnSwizzle()
property RestResourceMap as %DynamicObject [ Transient ];
Property methods: RestResourceMapGet(), RestResourceMapGetObject(), RestResourceMapGetObjectId(), RestResourceMapGetSwizzled(), RestResourceMapIsValid(), RestResourceMapNewObject(), RestResourceMapSet(), RestResourceMapSetObject(), RestResourceMapSetObjectId(), RestResourceMapUnSwizzle()
property RestServerMeta as %DynamicObject [ Transient ];
The Rest object that has mode='server'
Property methods: RestServerMetaGet(), RestServerMetaGetObject(), RestServerMetaGetObjectId(), RestServerMetaGetSwizzled(), RestServerMetaIsValid(), RestServerMetaNewObject(), RestServerMetaSet(), RestServerMetaSetObject(), RestServerMetaSetObjectId(), RestServerMetaUnSwizzle()
property RestUrlMap [ MultiDimensional , Transient ];
Property methods: RestUrlMapDisplayToLogical(), RestUrlMapGet(), RestUrlMapIsValid(), RestUrlMapLogicalToDisplay(), RestUrlMapLogicalToOdbc(), RestUrlMapNormalize(), RestUrlMapSet()
property Schema as HS.FHIRServer.Schema [ Calculated ];
The 'schema' node of the SchemaMetadata
Property methods: SchemaGet()
property interactions as HS.FHIRServer.API.Interactions [ Calculated ];
Inherited description: The 'interactions' implementation for the service.
Property methods: interactionsGet()
property resourceValidator [ Transient ];
Property methods: resourceValidatorDisplayToLogical(), resourceValidatorGet(), resourceValidatorIsValid(), resourceValidatorLogicalToDisplay(), resourceValidatorLogicalToOdbc(), resourceValidatorNormalize(), resourceValidatorSet()
property strategy as HS.FHIRServer.API.InteractionsStrategy [ Calculated ];
Inherited description: The 'StorageStrategy' implementation for the service.
Property methods: strategyGet()

Methods

method Batch(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
Batch processes a FHIR batch or transaction interaction. The payload of a batch or transaction interaction is a FHIR Bundle (with type = "bundle" or "tranaction" respectively.
method ConditionalPatch(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
method ConditionalUpdate(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
method ConfigDataGet() as HS.FHIRServer.API.ConfigData [ Language = objectscript ]
method Configure(serviceInstance As HS.FHIRServer.ServiceInstance) [ Language = objectscript ]
@API Called after the service is created to set the configuration. TODO: This could be a constructor parameter, if that works with Unit Testing and Mocking
method Create(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
method Delete(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
method DispatchRequest(pRequest As HS.FHIRServer.API.Data.Request, Output pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
@API This is the main dispatcher for FHIR Requests.
classmethod ETagValue(pVersionId As %String) as %String [ Language = objectscript ]
method GetCapabilityStatus(pResourceType As %String, pCapabilityItem As %String) as %String [ Language = objectscript ]
classmethod GetFullRequestURL(pRequest As HS.FHIRServer.API.Data.Request) [ Language = objectscript ]
classmethod GetPreferHeader(pRequest As HS.FHIRServer.API.Data.Request, pPreferenceType As %String) as %String [ Language = objectscript ]
classmethod GetPrivFromRequest(pRequest As HS.FHIRServer.API.Data.Request) as %String [ Language = objectscript ]
classmethod GetRequestURLNoQuery(pRequest As HS.FHIRServer.API.Data.Request) [ Language = objectscript ]
method History(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
method IsCapabilitySupported(pResourceType As %String, pCapabilityItem As %String, pDefault As %Boolean) as %Boolean [ Language = objectscript ]
API GetResourceCapabilityItem examines the specified Conformance/CapabilityStatement for the the specified resource type and returns the value for the specified "capability item".

Input:
  • pResourceType : (required) FHIR resource type.
  • pCapabilityItem : (required) Resource type capability item (examples: "conditionalCreate", "readHistory").
  • pDefault : (required) Value to return if the specification is not present
  • method IsPreferStrictHandling(pRequest As HS.FHIRServer.API.Data.Request) as %Boolean [ Language = objectscript ]
    classmethod IsRequestAuthenticated() [ Language = objectscript ]
    method Metadata(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
    method Operation(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
    method Patch(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response, isConditional As %Boolean = 0) [ Language = objectscript ]
    method Read(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response) [ Language = objectscript ]
    Note that both the "read" and "vread" interactions are handled by this method. The only difference between the requests is that vread specifies a version, whereas read does not and is understood to be requesting the current version.
    method RequireAllowedResourceInteraction(pResourceType As %String, pInteraction As %String, pInteractionLevel2 As %String = "") [ Language = objectscript ]
    RequireAllowedResourceInteraction validates that the specified interaction is permitted by the Conformance/CapabilityStatement server definition.
    From FHIR Spec: In general, if an instance fails the constraints documented in the CapabilityStatement then the response should be a 400
    Input:
  • pInteraction : (required) FHIR RESTful interaction.
  • pInteraction2 : (required) A more specific interaction (e.g. history, history-instance). Return: void, but throws if interaction is not allowed
  • method RequireAllowedSystemInteraction(pInteraction As %String) as %Boolean [ Language = objectscript ]
    RequireAllowedSystemInteraction validates that the specified interaction is permitted by the Conformance/CapabilityStatement server definition.
    From FHIR Spec: In general, if an instance fails the constraints documented in the CapabilityStatement then the response should be a 400

    Input:
  • pInteraction : (required) FHIR RESTful interaction. Return: void, but throws if interaction is not allowed
  • method RequirePayload(pRequest As HS.FHIRServer.API.Data.Request) as %DynamicObject [ Language = objectscript ]
    classmethod RequireValidId(pId) as %String [ Language = objectscript ]
    method SchemaGet() as HS.FHIRServer.Schema [ Language = objectscript ]
    method SetStatusResponse(pResponse As HS.FHIRServer.API.Data.Response, tStatus As %Status) [ Language = objectscript ]
    method StreamToJSON(pStream As %Stream.Object, pContentCode As %String) as %DynamicObject [ Language = objectscript ]
    @API StreamToJSON is a helper method intended for use by callers of the service to convert an input stream to a JSON object.
    method Update(pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response, isConditional As %Boolean = 0) [ Language = objectscript ]
    classmethod findItemByProperty(array As %DynamicArray, propName As %String, propValue) [ Language = objectscript ]
    method initRestUrlMap() [ Language = objectscript ]
    Map From (verb, pattern) pattern key: h:_history, s:_search, v:_validate, m:metadata, *:*, +:, -:, $: To: (operationName, targetFields, handlerMethod) targetFields key: c:Container, t:Type, i:Id, *:Type, -:
    method interactionsGet() as HS.FHIRServer.API.Interactions [ Language = objectscript ]
    method strategyGet() as HS.FHIRServer.API.InteractionsStrategy [ Language = objectscript ]

    Inherited Members

    Inherited Properties

    Inherited Methods

    Feedback