Adapter - Health Level Seven (HL7)
This page describes version 2.0.12 of the adapter.
Overview
This external adapter can be used in Medical markets to connect to HL7 systems using the HL7 v2 protocol (also known as ER7 or Pipehat) and it can be used to:
- process the events generated by the HL7 system when patients are admitted, discharged, or when the patient data is updated.
- send specific HL7 commands (such as Admit Patient, Discharge Patient, Update Patient etc.) to the HL7 system.
Installation
The HL7 adapter is an adapter that can only run as an external adapter installed on an Adapterhub due to the need for opening and using listening ports for event triggers. Reference documentation for installing an adapter on an adapterhub for more information.
Refer to HL7 Messages, events and commands for details about HL7 messages, event types and operation types. Refer to Patient Properties for details about patient properties.
HL7 Messages, events and commands
There is an 1:1:1 relation between a HL7 message, an event type and a command type:
- A HL7 message that is received by the adapter can be translated into one and only one event type. For example, an ADT_A03 message is always translated into a PatientDischarge event type. There is no situation where it could be translated otherwise.
- Similarly, a command with a certain command type can be translated into one and only one HL7 message type. For example, an UpdatePatientInformation command type is always translated into an ADT_A08 message. There is no situation where it could be translated otherwise.
The table below provides a complete list of how the HL7 messages / event types / command types are mapped.
HL7 Message Type | Event or Operation Type |
---|---|
ADT_A01 | AdmitPatient |
ADT_A02 | TransferPatient |
ADT_A03 | DischargePatient |
ADT_A04 | RegisterPatient |
ADT_A05 | PreAdmitPatient |
ADT_A06 | ChangeOutpatientToInpatient |
ADT_A07 | ChangeInpatientToOutpatient |
ADT_A08 | UpdatePatientInformation |
ADT_A09 | PatientDepartingTracking |
ADT_A10 | PatientArrivingTracking |
ADT_A11 | CancelAdmit |
ADT_A12 | CancelTransfer |
ADT_A13 | CancelDischarge |
ADT_A14 | PendingAdmit |
ADT_A15 | PendingTransfer |
ADT_A16 | PendingDischarge |
ADT_A17 | SwapPatients |
ADT_A18 | MergePatientInformation |
ADT_A19 | PatientQuery |
ADT_A20 | BedStatusUpdate |
ADT_A21 | PatientGoesonLeaveOfAbsence |
ADT_A22 | PatientReturnsFromLeaveOfAbsence |
ADT_A23 | DeletePatientRecord |
ADT_A24 | LinkPatientInformation |
ADT_A25 | CancelPendingDischarge |
ADT_A26 | CancelPendingTransfer |
ADT_A27 | CancelPendingAdmit |
ADT_A28 | AddPersonorPatientInformation |
ADT_A29 | DeletePersonInformation |
ADT_A30 | MergePersonInformation |
ADT_A31 | UpdatePersonInformation |
ADT_A32 | CancelPatientArrivingTracking |
ADT_A33 | CancelPatientDepartingTracking |
ADT_A34 | MergePatientDataPatientIDOnly |
ADT_A35 | MergePatientDataAccountNumberOnly |
ADT_A36 | MergePatientDataPatientIDAndAccount |
ADT_A37 | UnlinkPatientInformation |
ADT_A38 | CancelPreAdmit |
ADT_A39 | MergePersonPatientID |
ADT_A40 | MergePatientPatientIdentifierList |
ADT_A41 | MergeAccountPatientAccountNumber |
ADT_A42 | MergeVisitVisitNumber |
ADT_A43 | MovePatientDataPatientIdentifierList |
ADT_A44 | MoveAccountDataPatientAccountNumber |
ADT_A45 | MoveVisitDataVisitNumber |
ADT_A46 | ChangePatientID |
ADT_A47 | ChangePatientIdentifierList |
ADT_A48 | ChangeAlternatePatientID |
ADT_A49 | ChangePatientAccountNumber |
ADT_A50 | ChangeVisitNumber |
ADT_A51 | ChangeAlternateVisitID |
ADT_A52 | CancelLeaveofAbsenceforPatient |
ADT_A53 | CancelPatientReturnsfromLeaveofAbsence |
ADT_A54 | ChangeAttendingDoctor |
ADT_A55 | CancelChangeAttendingDoctor |
Patient Properties
All patient properties are of type string.
Some of them need to be specified in a certain format or to meet certain constraints.
PID-xyz, PV1-xyz, ZBX-xyz refer to the respective HL7 message segments as defined in the HL7 v2 protocol standard.
Name | Description | Format/constraints | Is Required |
---|---|---|---|
FirstName | Patient's first name (Given name) as found in PID-05 | ||
MiddleName | Patient's middle name as found in PID-05 | ||
LastName | Patient's last name (Surname / Family name) as found in PID-05 | YES | |
BirthDate | Patient's birth date as found in PID-07 | ||
Gender | Patient's gender as found in PID-08 | Typical values are M/F | |
StreetAddress | Street address as found in PID-11-01 | ||
City | City name as found in PID-11-03 | ||
County | State or Province name as found in PID-11-04 | ||
ZipCode | ZIP or Postal Code as found in PID-11-05 | ||
HomePhone | Home phone number as found in PID-13 | ||
WorkPhone | Work phone number as found in PID-14 | ||
PatientNumber | Patient internal ID as found in PID-03 | ||
Account | Patient visit account as found in PID-18 | ||
AdmitDate | Patient admit date/time as found in PV1-44 | Date/time must be specified in one of these formats: |
YES |
DischargeDate | Patient discharge date as found in PV1-45 | Date/time must be specified in one of these formats: |
|
AssignedLocation | Patient location as found in PV1-03 | ||
PatientVisitID | Patient Visit ID as defined by ZBX-1 | ||
Confidentiality | Patient confidentiality flag as defined by ZBX-2 | ||
Visitors | Allow visitors flag as defined by ZBX-3 | ||
PhoneService | Phone Service data as defined in ZBX-4 | Can have values Y/N or 1-15 | |
DIDNumber | DID phone number as defined in ZBX-5 |
How to use the input property fields in a workflow
The Patient Fields input property is a configurable list of name-value pairs with the Patient Field Name corresponding to one of the listed patient field properties and the Patient Field Value corresponding with the data value being sent for that particular patient field property. AdmitDate and LastName are the minimal required patient field properties that must be defined in order for the HL7 Patient Operation command to work. In a real world configuration the Patient Field Value will most likely be enclosed in curly brackets {} to indicate a variable of that name containing the associated piece of patient data sent to the workflow from an upstream process that is needing to send patient information to the HL7 system.
The Operation Type Input is also a required field and will need to be defined as one of the Operation Types listed above in order for the command to communicate with the HL7 system as intended.
Release History
Version | Type | Description | Tracking # | Date |
---|---|---|---|---|
2.0.1 | Initial | First release in the Adapter Type store. | ||
2.0.11 | Maintenance | Updated third-party components and improved maintainability. | NAP-11518 | |
2.0.12 | Maintenance | Updated third-party components and improved maintainability. | NAP-23945 | 2022-11-29 |