Skip to main content

HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3

class HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3 extends %Library.RegisteredObject

Property Inventory

Method Inventory

Properties

property container as HS.SDA3.Container [ Calculated ];
All SDA objects this transformer instance creates will be stored here, unless Reset() is called.
property fhirVersion as %String [ Calculated ];
Property methods: fhirVersionDisplayToLogical(), fhirVersionIsValid(), fhirVersionLogicalToDisplay(), fhirVersionLogicalToOdbc(), fhirVersionNormalize()
property object as HS.SDA3.SuperClass [ Calculated ];
The most recent SDA object this transformer instance created will be stored here, unless Reset() is called.

Methods

This method is a CALLBACK from the DTL requesting another DTL for DTL class to use for a given FHIR object. A preferred DTL will be specified in subtransformations, but will not be specified for top level transformations. Default logic for top level transformations can be viewed in the FHIR annotations, under the Bundle:entry mappings. This can be overriden if different logic is desired. @API.Overrideable
method GetIdentifier(resourceType As %String, id As %String, sourceProperty As %String = "value") as %String
This method is a CALLBACK from the DTL. Its purpose is to extract a unique, source-defined, identifier from a FHIR Resource (as defined by a resource type and id. There may be multiple identifiers for a resource. (e.g. a patient may have an MRN, an MPIID, a Drivers Licence, etc). In SDA, there is no equivalent of a FHIR resource id. Where one SDA object refers to another, it typically refers to the 'ExternalId' property of the other resource (except for Encounters where the unique id is stored in 'EncounterNumber'. In order to differentiate among multiple FHIR Identifier entries ('identifier' is an array property), two optional arguments may be provided to this method:
  • code, if specified will define the 'value' (and optionally 'system') associated with the desired identifier. This may be a a simple value string (e.g. "ThisEncounterId"), or be preceded by the system URL and a '|' (e.g. "https://www.cloverhealth.com/encounteridentifiers|ThisEncounterId")
    • use, if specified, is a preference ordered comma separated list of 'use' values that are acceptable.
    @API.Overrideable
method GetIdentifierFromList(identifiers As %DynamicArray, use As %String = "official,usual,secondary", sourceProperty As %String = "value") as %String
method HandleSubtransformError(status As %Status)
Overrideable method that allows custom handling of errors in a subtransform DTL. The default behavior is to throw an exception and exit current transformation. @API.Overrideable
method Reset()
Resets this transformer object to its initial state. @API.Method
Transforms a FHIR resource into SDA. The FHIR resource can be either a Bundle or a Patient specific resource, but references will only be able to be honored when transforming a Bundle. Returns an instance of this class which has an "object" property containing the result of the most recent Transform and a "container" property containing the result of all Transforms using this transformer.
@API.Method @Argument source %DynamicObject containing a FHIR resource
classmethod TransformObject(source As %DynamicObject, fhirVersion As %String) as HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3
ClassMethod which transforms a FHIR resource into SDA. The FHIR resource can be either a Bundle or a Patient specific resource, but references will only be able to be honored when transforming a Bundle. Returns an instance of this class which has an "object" property containing the result of the Transform.
@API.Method @Argument source %DynamicObject containing a FHIR resource @Argument fhirVersion Version of FHIR used by the resource, eg. "STU3", "R4"
classmethod TransformStream(stream As %Stream.Object, fhirVersion As %String, fhirFormat As %String) as HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3
ClassMethod which transforms a FHIR resource stream into SDA. The FHIR resource can be either a Bundle or a Patient specific resource, but references will only be able to be honored when transforming a Bundle. Returns an instance of this class which has an "object" property containing the result of the Transform.
@API.Method @Argument stream %Stream representation of a FHIR resource @Argument fhirVersion Version of FHIR used by the resource, eg. "STU3", "R4"

Inherited Members

Inherited Methods

FeedbackOpens in a new tab