HL7 Module Overview
  • 23 Mar 2024
  • 4 Minutes to read
  • Dark
    Light

HL7 Module Overview

  • Dark
    Light

Article Summary

Overview

The HL7 Module adds functionality to Decisions for users to send, receive, transform, and manage HL7 messages. HL7 is a specification for allowing medical software and hardware systems to communicate with one another. The module provides users an interface that includes Receivers, Emitters, and Processing.  

For more information on the HL7 standard, the origin, and more, see http:///www.hl7.org.
Prerequisites
  • Installation of the HL7 module in Decisions. For more information on how to install modules in Decisions, Installing Modules.

HL7 Interface 

After the module is installed, a new folder will appear in System > Applications called HL7 Interfaces. The folder contains a folder action called ADD HL7 INTERFACE. Once the user inputs the Name, select OK to save the new Interface. 


Configuration OptionDescription
Output VersionThe HL7 message output version that will be used for the Interface
Message ParsingHL7 messages can be parsed via Strict Parsing, Generic, or only for specific message types
AdvancedA category that contains settings involved with the storage mode for both sending and receiving messages


Understanding the Interface Components

The interface in Decisions is comprised of three essential parts:

Interface ComponentDescription
ReceiversGet HL7 messages from a defined source (TCP/IP, File System, Flow) 
ProcessingApplies Rules, data transformations, assign tasks and workflows using the data that was sent. With every interface created, an automatic Designer Project is created where users can build workflows and Rules. These workflows allow users to process messages and make use of the data within the messages. This is where business logic is applied to the HL7 data stream. The process Flows are found under LIST. (Pre Process Flow, Process Flow, Post Process Flow)
EmittersSend HL7 message out to another system that is waiting to receive messages (TCP/IP, File System, Redirect to HL7 Interface)
A Flow receiver can use any of the Flow steps and external system integration capabilities to get data. This allows the user to use a Flow receiver to receive messages from different types of sources like databases, networks, web services, email, and more. If choosing a Flow receiver, there will not be a Flow emitter to choose from. This is because a user can do anything with the message in the main processing Flow and work can also be concluded with the message.


Editing HL7 Interfaces

After creating an Interface, a user can go back and edit it to make further changes. Right click on an Interface and select Settings.


SettingDescription
EnabledDetermines whether the emitter is functioning or not.
Emit after ProcessingAvailable in v8.19+ this setting will enable or disable the emitter for the interface sending a message back if a message is received.
Max Thread Job QueuesSet the number of thread job queues dedicated to this interface. Too many could cause performance issues and too few could cause a back up in message for the emitter. Test thoroughly to find the best outcome.
Generic Parsing ModeIf enabled, all messages will be parsed regardless of order.
Strict Parsing ModeIf enabled, messages will be parsed only using strict HL7 guidelines.
Only Allow Specific Message TypesIf enabled, selects which message types are allowed to be received and processed in the Flow. The list of possible messages is below.
Receiving Message Storage ModeThis setting configures how messages are stored when being received by Decisions. There are currently four options, None, Header, Full, FullBatched.
Sending Message Storage ModeThis setting configures how messages are stored when being sent by Decisions. There are currently four options, None, Header, Full, FullBatched.

What Message Types are Supported?

The HL7 Module  supports every standard message type defined in the specification:

 ACK
 ADR^A19
 ADT^A01
 ADT^A02
 ADT^A03
 ADT^A04
 ADT^A05
 ADT^A06
 ADT^A07
 ADT^A08
 ADT^A09
 ADT^A10
 ADT^A11
 ADT^A12
 ADT^A13
 ADT^A14
 ADT^A15
 ADT^A16
 ADT^A17
 ADT^A18
 ADT^A20
 ADT^A21
 ADT^A22
 ADT^A23
 ADT^A24
 ADT^A25
 ADT^A26
 ADT^A27
 ADT^A28
 ADT^A29
 ADT^A30
 ADT^A31
 ADT^A32
 ADT^A33
 ADT^A34
 ADT^A35
 ADT^A36
 ADT^A37
 ADT^A38
 ADT^A39
 ADT^A40
 ADT^A41
 ADT^A42
 ADT^A43
 ADT^A44
 ADT^A45
 ADT^A46
 ADT^A47
 ADT^A48
 ADT^A49
 ADT^A50
 ADT^A51
 ADT^A52
 ADT^A54
 ADT^A60
 ADT^A61
 BAR^P01
 BAR^P02
 BAR^P05
 BAR^P06
 BAR^P10
 BAR^P12
 BPS^O29
 BRP^O30
 BRT^O32
 BTS^O31
 CCF^I22
 CCI^I22
 CCM^I21
 CCQ^I19
 CCR^I16
 CCU^I20
 CQU^I19
 CRM^C01
 CRM^C02
 CRM^C03
 CRM^C04
 CRM^C05
 CRM^C06
 CRM^C07
 CRM^C08
 CSU^C09
 CSU^C10
 CSU^C11
 CSU^C12
 DFT^P03
 DFT^P11
 DOC^T12
 DSR^Q01
 DSR^Q02
 DSR^Q03
 EAC^U07
 EAN^U09
 EAR^U08
 EDR^Q01
 EDR^R07
 EHC^E01
 EHC^E02
 EHC^E04
 EHC^E10
 EHC^E12
 EHC^E13
 EHC^E15
 EHC^E20
 EHC^E21
 EHC^E24
 EQQ^Q01
 EQQ^Q04
 ERP^Q01
 ERP^R09
 ESR^U02
 ESU^U01
 INR^U06
 INU^U05
 LSU^U12
 MDM^T01
 MDM^T02
 MDM^T03
 MDM^T04
 MDM^T05
 MDM^T06
 MDM^T07
 MDM^T08
 MDM^T09
 MDM^T10
 MDM^T11
 MFK^M01
 MFK^M02
 MFK^M03
 MFK^M04
 MFK^M05
 MFK^M06
 MFK^M07
 MFN^M01
 MFN^M02
 MFN^M03
 MFN^M04
 MFN^M05
 MFN^M06
 MFN^M07
 MFN^M08
 MFN^M09
 MFN^M10
 MFN^M11
 MFN^M12
 MFN^M13
 MFN^M15
 MFN^M16
 MFN^M17
 MFN^ZNN
 MFQ^M01
 MFR^M01
 MFR^M04
 MFR^M05
 MFR^M06
 MFR^M07
 NMD^N02
 NMQ^N01
 NMR^N01
 OMB^O27
 OMD^O01
 OMD^O03
 OMG^O19
 OMI^O23
 OML^O21
 OML^O33
 OML^O35
 OML^O39
 OMN^O01
 OMN^O07
 OMP^O09
 OMS^O01
 OMS^O05
 OPL^O37
 OPR^O38
 OPU^R25
 ORA^R33
 ORB^O28
 ORD^O02
 ORD^O04
 ORF^R02
 ORF^R04
 ORG^O20
 ORI^O24
 ORL^O22
 ORL^O34
 ORL^O36
 ORL^O40
 ORM^O01
 ORN^O02
 ORN^O08
 ORP^O10
 ORR^O02
 ORS^O02
 ORS^O06
 ORU^R01
 ORU^R30
 OSM^R26
 OSQ^Q06
 OSR^Q06
 OUL^R21
 OUL^R22
 OUL^R23
 OUL^R24
 PEX^P07
 PEX^P08
 PGL^PC6
 PGL^PC7
 PGL^PC8
 PIN^I07
 PMU^B01
 PMU^B03
 PMU^B04
 PMU^B07
 PMU^B08
 PPG^PCG
 PPG^PCH
 PPG^PCJ
 PPP^PCB
 PPP^PCC
 PPP^PCD
 PPR^PC1
 PPR^PC2
 PPR^PC3
 PPT^PCL
 PPV^PCA
 PRR^PC5
 PTR^PCF
 QBP^E03
 QBP^E22
 QBP^K13
 QBP^Q11
 QBP^Q13
 QBP^Q15
 QBP^Q21
 QBP^QNN
 QBP^Z73
 QCK^Q02
 QCN^J01
 QRY
 QRY^A19
 QRY^PC4
 QRY^PC9
 QRY^PCE
 QRY^PCK
 QRY^Q01
 QRY^Q02
 QRY^R02
 QRY^T12
 QSB^Q16
 QVR^Q17
 RAR^RAR
 RAS^O01
 RAS^O02
 RAS^O17
 RCI^I05
 RCL^I06
 RDE^O01
 RDE^O11
 RDO^O01
 RDR^RDR
 RDS^O01
 RDS^O13
 RDY^K15
 REF^I12
 REF^I13
 REF^I14
 REF^I15
 RER^RER
 RGR^RGR
 RGV^O01
 RGV^O15
 ROR^R0R
 ROR^ROR
 RPA^I08
 RPA^I09
 RPA^I10
 RPA^I11
 RPI^I01
 RPI^I04
 RPL^I02
 RPR^I03
 RQA^I08
 RQA^I09
 RQA^I10
 RQA^I11
 RQC^I05
 RQC^I06
 RQI^I01
 RQI^I02
 RQI^I03
 RQP^I04
 RQQ^Q01
 RQQ^Q09
 RRA^O02
 RRA^O18
 RRD^O02
 RRD^O14
 RRE^O01
 RRE^O02
 RRE^O12
 RRG^O02
 RRG^O16
 RRI^I12
 RRI^I13
 RRI^I14
 RRI^I15
 RRO^O02
 RSP^E03
 RSP^E22
 RSP^K11
 RSP^K13
 RSP^K15
 RSP^K21
 RSP^K22
 RSP^K23
 RSP^K24
 RSP^K25
 RSP^K31
 RSP^K32
 RSP^Q11
 RSP^Z82
 RSP^Z86
 RSP^Z88
 RSP^Z90
 RTB^K13
 RTB^KNN
 RTB^Q13
 RTB^Z74
 SDR^S31
 SDR^S32
 SIU^S12
 SIU^S13
 SIU^S14
 SIU^S15
 SIU^S16
 SIU^S17
 SIU^S18
 SIU^S19
 SIU^S20
 SIU^S21
 SIU^S22
 SIU^S23
 SIU^S24
 SIU^S26
 SLR^S28
 SPQ^Q01
 SPQ^Q08
 SQM^S25
 SQR^S25
 SRM^S01
 SRM^S02
 SRM^S03
 SRM^S04
 SRM^S05
 SRM^S06
 SRM^S07
 SRM^S08
 SRM^S09
 SRM^S10
 SRM^S11
 SRR^S01
 SRR^S02
 SRR^S03
 SRR^S04
 SRR^S05
 SRR^S06
 SRR^S07
 SRR^S08
 SRR^S09
 SRR^S10
 SRR^S11
 SSR^U04
 SSU^U03
 STC^S33
 SUR^P09
 TBR^Q01
 TBR^R08
 TCU^U10
 UDM^Q05
 VQQ^Q01
 VQQ^Q07
 VXQ^V01
 VXR^V03
 VXU^V04
 VXX^V02

Feature Change

DescriptionVersionDeveloper Task
Added the Emit After Processing setting.8.19DT-040434
Added the Enable Receiver, Disable Receiver, Enable Emitter, Disable Emitter steps.8.19DT-040377
Added Get Message Content By Status and Update Message Status By Id steps.8.19
DT-040484

Was this article helpful?