Home > Class Reference > HSLIB namespace > HS.FHIR.ToSDA.DTL.Process


persistent class HS.FHIR.ToSDA.DTL.Process extends Ens.BusinessProcess, HS.HC.Util.Trace.Helper

SQL Table Name: HS_FHIR_ToSDA_DTL.Process

HS.FHIR.ToSDA.DTL.Process takes FHIR resource or Bundle as input, converts the FHIR data into an SDA Container, forwards the Container to a specified business host, receives the response from the business host, and returns a FHIR response based the return from the business host.

Property Inventory

Method Inventory


parameter HSDEPLOY = 1;
parameter OutputToQuickStream = 0;
parameter SETTINGS = CustomDTLPackage,TargetConfigName: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


property CustomDTLPackage as %String (MAXLEN = 128);
Specifies the DTL class package that has the custom versions of the DTLs that are called by this business process. If this setting has a value, and a custom version of a DTL is found in the package, then the DTL from that package is used instead of the standard version.
Property methods: CustomDTLPackageDisplayToLogical(), CustomDTLPackageGet(), CustomDTLPackageGetStored(), CustomDTLPackageIsValid(), CustomDTLPackageLogicalToDisplay(), CustomDTLPackageLogicalToOdbc(), CustomDTLPackageNormalize(), CustomDTLPackageSet()
property TargetConfigName as Ens.DataType.ConfigName;
Specifies the business host to which to forward the HS.Message.XMLMessage message (which includes the SDA Container) after it is built by the DTL transformation.
Property methods: TargetConfigNameDisplayToLogical(), TargetConfigNameGet(), TargetConfigNameGetStored(), TargetConfigNameIsValid(), TargetConfigNameLogicalToDisplay(), TargetConfigNameLogicalToOdbc(), TargetConfigNameNormalize(), TargetConfigNameParseConfigNameSpec(), TargetConfigNameSet()


method ExecuteDTL(pDTLClass As %String, pFHIRResource As HS.FHIR.vDSTU2.Model.Base.DomainResource, pSDAContainer As HS.SDA3.Container, ByRef pNoDTLClass As %String, ByRef pAux As %String) as %Status [ Language = objectscript ]
ExecuteDTL executes the specified DTL and adds the output SDA entry to the SDA Container that is being constructed from the FHIR request.
method GetDTLPackageAndClass(pDTLClass As %String) as %String [ Language = objectscript ]
GetDTLPackageAndClass searches the Custom package (if any) first for the specified DTL class, and if not found there then searches the standard package for the specified DTL class.
method GetOrderTypeMapping(ByRef pOrderType As %String) as %Status [ Language = objectscript ]
method GetSendingFacilityCode(pHSFHIRObj As HS.FHIR.vDSTU2.Model.Resource.Patient, ByRef pSendingFacilityCode As %String) as %Status [ Language = objectscript ]
GetSendingFacilityCode derives a SendingFacilityCode from a FHIR Patient resource.
method MoveResourceToContained(pBundle As HS.FHIR.vDSTU2.Model.Resource.Bundle, pReferenceValue As %String, pTargetEntryNumber As %String, pSourceEntryNumber As %String, ByRef pBundleEntriesToSkip As %String, ByRef pContainedResourceIndex As %Integer) as %Status [ Language = objectscript ]
Copy the resource in Bundle entry pSourceEntryNumber into a contained resource within the resource in Bundle entry pTargetEntryNumber. When looping through all the Bundle entries for main DTL processing, the Bundle entry at pSourceEntryNumber will be skipped.
method OnRequest(pRequest As %Library.Persistent, Output pResponse As %Library.Persistent) as %Status [ Language = objectscript ]
Inherited description: Handle a 'Request'
method ProcessFHIRRequest(pFHIRRequest As HS.Message.FHIR.Request, Output pFHIRResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method ProcessSDAResponse(pFHIRRequest As HS.Message.FHIR.Request, pSDAXMLResponse As HS.Message.XMLMessage, pSC As %Status, ByRef pFHIRResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
ProcessSDAResponse evaluates the SDA response message and formulates a FHIR response message.
method UpdateInputBundle(ByRef pBundle As HS.FHIR.vDSTU2.Model.Resource.Bundle, ByRef pBundleEntriesToSkip As %String, ByRef pEncounters As %String) as %Status [ Language = objectscript ]
UpdateInputBundle modifies the FHIR Bundle that was sent as input, and gathers data needed for the data transformations.
- For Bundle entry resources that are referred to by other Bundle entry resources, copies those resources into contained resources within the resources that refer to them.
- Makes a note (array pBundleEntiesToSkip) of the Bundle entry resources that were copied into contained resources, so that those Bundle entry resources are skipped during DTL processing. Their data will be transformed when the containing resource is transformed.
- Makes a note of Encounter resources and creates a cross-reference (array pEncounterNumbers) of Encounter resource ids and EncounterNumbers.

Inherited Members

Inherited Properties

Inherited Methods


Gray indicates storage defined by superclasses.

Storage Model: Storage (Ens.BusinessProcess)


Storage Model: Storage (Ens.BusinessProcess)


Storage Model: Storage (Ens.BusinessProcess)


Storage Model: Storage (Ens.BusinessProcess)


Storage Model: Storage (HS.FHIR.ToSDA.DTL.Process)

FeedbackOpens in a new window