HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3
class HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3 extends %Library.RegisteredObject
Property Inventory
Method Inventory
- GetDTL()
- GetIdentifier()
- GetIdentifierFromList()
- HandleSubtransformError()
- Reset()
- Transform()
- TransformObject()
- TransformStream()
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
method GetDTL(source As HS.FHIR.DTL.vR4.Model.Base.Resource, DTL As %Dictionary.Classname = "") as %Dictionary.Classname
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.
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
method Transform(source As %DynamicObject) as HS.FHIR.DTL.Util.API.Transform.FHIRToSDA3
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
@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"
@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"
@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
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()