Introduction
Smile CDR has native support for the HL7 v2.x (aka "Version 2") protocol. This support includes a set of standard transformations between the data model of the HL7 v2.x protocol and the FHIR data model.
This support includes both Inbound support (receiving HL7 v2.x messages from an external system and converting them to FHIR) as well as Outbound support (automatically generating HL7 v2.x messages based on content that is stored in the repository and transmitting these messages to a remote system).
The following diagram shows the processing path for Inbound HL7 v2.x Support.
See HL7 v2.x Support: Inbound for information on how to set this up.
The following diagram shows the processing path for Outbound HL7 v2.x Support.
See Outbound HL7 v2.x for information on how to set this up.
Smile CDR uses version 2.5.1 of HL7 v2.x in its native FHIR converters. This does not mean that other versions are not supported however; HL7 v2.x uses an encoding scheme that is both forwards- and backwards-compatible. Essentially, in older versions of the specification fields may be deprecated or withdrawn from use, but they are never removed and Smile CDR will still parse these old fields. In newer versions of the specification fields will be appended to the end of segments in a way that still allows Smile CDR to parse them.
As a part of implementing any version of HL7 v2.x for any system there is always a gap analysis and data mapping process. Hospital users (i.e. the traditional heavy users of the HL7 v2.x standard) are often very familiar with this process and will have done it many times as a routine part of integrating systems. Organizations who have not worked with HL7 v2.x before may need a bit of knowledge transfer to become comfortable with this process.
The Transactions, Structure Definitions, and Segment Definitions pages document what is supported by Smile CDR's built-in HL7 v2.x processors. For example, only those elements explicitly documented are actually evaluated and converted to FHIR by the HL7 v2.x Listening Endpoint module's v2-to-FHIR mapper. Any valid elements in the HL7 v2.x specification not documented here will simply be ignored.
As stated above, Smile CDR uses version 2.5.1 of HL7 v2.x. This is presently achieved with use of the HAPI HL7v2 libraries. This means unsupported elements remain incidentally accessible to implementers in pre/post JavaScript conversion scripts and Java interceptors; however, this is not guaranteed to always be the case (e.g. Smile may deprecate use of the HAPI HL7v2 libraries in some future release, although the likelihood of this occurring is very low). This provides implementers with a temporary workaround when faced with unsupported elements. For example, a post-conversion script could be used to map an unsupported segment to FHIR.
If there are additional HL7 v2.x transactions, structure definitions, and segment definitions you would like to see supported, please let us know!