Data Transformations in InterSystems Healthcare Products
InterSystems’ healthcare products have the built-in ability to transform healthcare data from one format to another. These InterSystems healthcare products use three different mechanisms to transform data:
DTLs, which are InterSystems data transformations
XSL transformations (XLSTs)
All three mechanisms for transforming data (DTLs, XSLTs, and API methods) can be extended and customized as needed.
SDA: The Intermediary Format
InterSystems healthcare products use their own data format, SDA, as an intermediary format for transforming data from one standard format to another. For example, to convert patient data from C-CDA v2.1 to FHIR® STU3, the InterSystems healthcare products use pre-built XSLTs to convert the data from CDA to SDA, then use pre-built DTLs to convert the data from SDA to FHIR STU3. The intermediary format saves you the expense of creating custom data transformations between two formats. The SDA format can be extended and customized as needed, and the mechanism for converting to or from SDA can be customized to work with these modifications. For more information about SDA, see SDA: InterSystems Clinical Data Format.
Using SDA as the intermediary format lets you take advantage of ready-made XSLTs, DTLs, and API methods provided with InterSystems healthcare products. In certain use cases, especially when you only need to convert small pieces of a data representation, directly mapping from one format to another might make more sense. In these cases, you can build your own DTLs to directly map data from one format to another without using SDA as the intermediary format. For example, mapping data from an HL7 schema version to a different HL7 schema version can be done directly with a custom DTL. Custom DTLs can be used to transform any format to another, but the complexity of the transformation might make using the pre-packaged XSLTs, DTLs, or API methods a better choice.
Transforming To and From SDA
The following summarizes the mechanisms used to transform different formats to and from SDA.
FHIR — Uses DTLs or API methods. For details, see FHIR Support in InterSystems Products.
HL7 v2 — Uses DTLs or API methods. The DTL templates that are provided must be customized before transforming data to and from SDA. Transformations from HL7 v2 to SDA can also use an API method.
CDA/C-CDA — Uses XSLTs. For details, see CDA Interoperability with SDA.
In some cases, you can choose whether to use DTLs or API methods. DTLs are easier to use and customize, while API methods are faster but require ObjectScript coding.
About DTL Data Transformations
DTLs are InterSystems data transformations that convert healthcare data from one format to another. These DTLs are created and customized in a visual DTL Editor, which allows non-technical users to take advantage of these powerful data transformations without writing custom code. You can use the DTL Editor to customize pre-built DTLs that are provided by InterSystems to transform data to and from SDA. In cases where using SDA as an intermediary format does not fit your use case, you can create custom DTLs that directly transform healthcare data from one standard format to another. For example, you can create a DTL that converts C-CDA v2 to HL7 directly without using pre-packaged XSLTs and DTLs.
The visual representations of DTLs are saved internally in the InterSystems Data Transformation Language, an XML-based language. Advanced users can directly edit DTL code rather than using the DTL Editor.
For a simple, hands-on tutorial of the DTL Editor in non-healthcare settings, see First Look: Data Transformations. For complete details about creating DTL transformations, see Developing DTL Transformations.
About XSLT Data Transformations
An XSLT (Extensible Stylesheet Language Transformation) transforms XML documents into other XML documents. InterSystems healthcare products use XSLTs to:
Transform CDA to SDA and SDA to CDA. For details, see CDA Interoperability with SDA.
Transform InterSystems production messages into IHE messages and vice versa.
Construct IHE messages from other IHE messages.
For more information about IHE, see IHE Use Cases.
About API Methods
For customers with technical expertise, API methods can be invoked directly to transform certain data formats into SDA. These API methods are called in ObjectScript. Calling API methods directly usually improves performance, but requires the ability to custom code the data transformation.
For details about SDA-FHIR STU3 API methods, see one of the following:
For InterSystems IRIS for Health, see “Using the SDA-FHIR STU3 Transformation API ” in FHIR Support in InterSystems IRIS for Health.
For Health Connect, see “Using the SDA-FHIR STU3 Transformation API ” in FHIR Support in Health Connect.
For conversions from HL7 v2 to SDA, you can use the class method HS.Gateway.HL7.HL7ToSDA3.GetSDA() to programmatically convert the HL7 message to SDA. There is no method for programmatically converting from SDA to HL7 v2.