Configuring a Vocera HL7 Adapter |
Message specifications define the layout of the HL7 records that Vocera Platform expects to receive from an HIS at a customer site.
Health Level Seven (HL7) and its members provide a framework (and related standards) for the exchange, integration, sharing, and retrieval of electronic health information. These standards define how information is packaged and communicated from one party to another, setting the language, structure and data types required for seamless integration between systems. HL7 standards support clinical practice and the management, delivery, and evaluation of health services, and are recognized as the most commonly used in the world. Source: HL7.org
This implementation guide is based on the HL7 version 2.X Standard for HL7 message types such as ADT (Admit, Discharge, Transfer), ORM (Order), ORU (Observation) and RAS (Treatment Administration) which are to be sent to the Vocera Platform application by a Health Information System (HIS). This specification contains the minimum requirements for these commonly used HL7 trigger events within the Vocera Platform application. This list is not exhaustive; should a site utilize an HL7 message type not listed here, refer to this external source for trigger event construct guidance: HL7-Definitions-Caristix.com
The following message specifications define the layout of the HL7 records that Vocera Platform expects to receive from an HIS. A sender will create an HL7 version 2.X trigger event message. The sender will send the HL7 trigger event message to the Vocera Platform application at the provided IP address and port (6661 by default) in accordance to the Minimum Lower Layer Protocol (MLLP). The library that Vocera Platform uses to recognize HL7 messages is based on version 2.6, allowing recognition of most inbound HL7 messages.
Outbound messages can be optionally customized and enabled upon request. Vocera Platform creates these outbound messages to the sender using HL7 version 2.3 by default; if a different HL7 version is required for outbound HL7 messages from Vocera Platform to a customer source, the appropriate version can be specified in the interface property. Configure the "hl7.outbound.version" field in the interface.properties file with the HL7 version needed to implement the appropriate sending HL7 version used.
The following trigger events are supported by Vocera Platform.
ADT-A01 | Admit / Visit Notification |
ADT-A02 | Transfer A Patient |
ADT-A03 | Discharge/End Visit |
ADT-A04 | Register A Patient |
ADT-A05 | Pre-admit A Patient |
ADT-A06 | Change An Outpatient To An Inpatient |
ADT-A07 | Change An Inpatient To An Outpatient |
ADT-A08 | Update Patient Information |
ADT-A09 | Patient Departing - Tracking |
ADT-A11 | Cancel Admit / Visit Notification |
ADT-A12 | Cancel Transfer |
ADT-A13 | Cancel Discharge/ End Visit |
ORM-O01 | Order Message |
ORU-R01 | Unsolicited Transmission Of An Observation Message |
RAS-O17 | Pharmacy/treatment Administration Message |
ADT messages are sent to Vocera Platform including the demographic, status, and location information of a patient. Vocera Platform aggregates this data and uses it to provide context to the various alerts and/or other events generated.
Segment | Field | Component | Description | Field Type | Required |
---|---|---|---|---|---|
MSH | 1 | 1 | Field Separator | String | Y |
2 | 4 | Encoding Characters | String | Y | |
3 | 180 | Sending Application | String | Y | |
4 | 180 | Sending Facility | String | Y | |
5 | 180 | Receiving Application | String | Y | |
6 | 180 | Receiving Facility | String | N | |
7 | 26 | Date/Time of Message | Date/Time (YYYYMMDDTTTT) | Y | |
8 | 40 | Security | String | N | |
9 | 7 | Message Type | String | Y | |
10 | 20 | Message Control ID | String | Y | |
11 | 3 | Processing ID | String | N | |
12 | 8 | Version ID | String | Y | |
13 | 15 | Sequence Number | String | N | |
14 | 180 | Continuation Pointer | String | N | |
15 | 2 | Accept Acknowledgement Type | String | N | |
16 | 2 | Application Acknowledgement Type | String | N | |
17 | 2 | Country Code | String | N | |
18 | 6 | Character Set | String | N | |
19 | 3 | Principal Language of Message | String | N |
Segment | Field | Component | Attribute | Description | Field Type | Required |
---|---|---|---|---|---|---|
PID | 3 | 1 | mrn | Unique Patient ID | String | Y |
5 | 1 | last name | Patient Last Name | String | Y | |
5 | 2 | first name | Patient First Name | String | Y | |
5 | 3 | middle name | Patient Middle Name | String | N | |
5 | 4 | suffix | Patient Name Suffix | String | N | |
5 | 5 | prefix | Patient Name Prefix | String | N | |
7 | 1 | dob | Patient Date of Birth | Date (YYYYMMDD) | N | |
8 | 1 | sex | Patient Sex | String | N | |
PV1 | 3 | 1 | bed.room.unit.name | Assigned Unit Name | String | Y |
3 | 2 | bed.room.room_number | Assigned Room Number | String | Y | |
3 | 3 | bed.bed_number | Assigned Bed Number | Integer | Y | |
17 | 1 | provider.cell_phone_number | Admitting Provider Cell Phone Number | String (NNNNNNNNNN) | N | |
17 | 2 | provider.last_name | Admitting Provider Last Name | String | Y | |
17 | 3 | provider.first_name | Admitting Provider First Name | String | Y | |
17 | 4 | provider.middle_name | Admitting Provider Middle Name | String | N | |
17 | 5 | provider.suffix | Admitting Provider Suffix | String | N | |
17 | 6 | provider.title | Admitting Provider Title | String | N | |
17 | 6 | provider.title | Admitting Provider Title | String | N | |
17 | 7 | provider.degree | Admitting Provider Degree | String | N | |
17 | 9 | provider.npi | Admitting Provider NPI or Unique Identifier | String | Y | |
39 | 1 | facility_name | Facility Name | String | N | |
41 | 1 | status | Patient Status | String | N | |
44 | 1 | admit_date | Admit Date | Date/Time (YYYYMMDDTTTT) | Y | |
45 | 1 | discharge_date | Discharge Date | Date/Time (YYYYMMDDTTTT) | N | |
PV2 | 3 | 1 | reason | Admit Reason | String | N |
The ROL segment contains the data necessary to add, update, correct, and delete from the record persons involved, as well as their functional involvement with the activity being transmitted. For Vocera Platform deployments utilizing the ROL segment, additional datasets and rules will need to be custom-built by the Vocera Platform Implementation Engineer. Columns in the table below are incomplete because the segment data will be custom-built.
Segment | Field | Component | Attribute | Description | Field Type | Required |
---|---|---|---|---|---|---|
ROL | 1 | Role Instance ID | N | |||
2 | Action Code | N | ||||
3 | Role-ROL | Y | ||||
4 | Role Person | Y | ||||
5 | Role Begin Date/Time | N | ||||
6 | Role End Date/Time | N | ||||
7 | Role Duration | N | ||||
8 | Role Action Reason | N | ||||
9 | Provider Type | N | ||||
10 | Organization Unit Type | N | ||||
11 | Office/Home Address/Birthplace | N | ||||
12 | Phone | N |
ORU messages contain lab result information that is used to deliver critical lab result notifications. Vocera Platform only receives ORU messages that are intended to trigger an alert to the appropriate recipient.
Segment | Field | Component | Description | Field Type | Required |
---|---|---|---|---|---|
MSH | 1 | 1 | Field Separator | String | Y |
2 | 4 | Encoding Characters | String | Y | |
3 | 180 | Sending Application | String | Y | |
4 | 180 | Sending Facility | String | Y | |
5 | 180 | Receiving Application | String | Y | |
6 | 180 | Receiving Facility | String | N | |
7 | 26 | Date/Time of Message | Date/Time (YYYYMMDDTTTT) | Y | |
8 | 40 | Security | String | N | |
9 | 7 | Message Type | String | Y | |
10 | 20 | Message Control Id | String | Y | |
11 | 3 | Processing Id | String | N | |
12 | 8 | Version Id | String | Y | |
13 | 15 | Sequence Number | String | N | |
14 | 180 | Continuation Pointer | String | N | |
15 | 2 | Accept Acknowledgement Type | String | N | |
16 | 2 | Application Acknowledgement Type | String | N | |
17 | 2 | Country Code | String | N | |
18 | 6 | Character Set | String | N | |
19 | 3 | Principal Language of Message | String | N |
Segment | Field | Component | Attribute | Description | Field Type | Required |
---|---|---|---|---|---|---|
PID | 3 | 1 | patient.mrn | Patient ID | Mapped ID | Y |
5 | 1 | patient.last_name | Patient Name | String | Y | |
5 | 2 | patient.first_name | Patient Name | String | Y | |
5 | 3 | patient.middle_name | Patient Name | String | N | |
5 | 4 | patient.suffix | Patient Suffix | String | N | |
5 | 5 | patient.prefix | Patient Prefix | String | N | |
7 | 1 | patient.dob | Patient Date of Birth | Date (YYYYMMDD) | N | |
8 | 1 | patient.sex | Patient Sex | String | N | |
OBR | 4 | 1 | abbreviation | Test Name Abbreviation | String | Y |
4 | 2 | name | Test Name | String | Y | |
7 | 1 | order_time | Observation Date/Time | Date/Time (YYYYMMDDTTTT) | Y | |
16 | 2 | provider.last_name | Ordering Provider Last Name | String | Y | |
16 | 3 | provider.first_name | Ordering Provider First Name | String | Y | |
16 | 4 | provider.middle_name | Ordering Provider Middle Name | String | N | |
16 | 5 | provider.suffix | Ordering Provider Suffix | String | N | |
16 | 6 | provider.title | Ordering Provider Title | String | N | |
16 | 7 | provider.degree | Ordering Provider Degree | String | N | |
16 | 9 | provider.npi | Ordering Provider NPI or Unique ID | String | Y | |
17 | 1 | provider.cell_phone_number | Order Callback Telephone Number | String | N | |
OBX | 3 | 1 | results.abbreviation | Result Name Abbreviation | String | Y |
3 | 2 | results.name | Result Name | String | Y | |
5 | 1 | results.value | Result Value | String | Y | |
7 | 1 | results.range | Result Reference Range | String | N | |
7 | 2 | results.units | Result Units | String | Y | |
7 | 4 | results.note | Result Notes | String | N | |
8 | 1 | results.flag | Result Flag | String | N | |
11 | 1 | results.status | Result Status | String | N | |
14 | 1 | results.time | Result Time | Date/Time (YYYYMMDDTTTT) | Y | |
PV1 | 3 | 1 | patient.bed.room.unit.name | Assigned Patient Location | String | Y |
3 | 2 | patient.bed.room.room_number | Assigned Patient Location | Integer | Y | |
3 | 3 | patient.bed.bed_number | Assigned Patient Location | Integer | Y | |
39 | 1 | patient.facility_name | Facility Name | String | N | |
41 | 1 | patient.status | Status | String | N | |
44 | 1 | patient.admit_date | Admit Date | Date/Time (YYYYMMDDTTTT) | Y | |
45 | 1 | patient.discharge_date | Discharge Date | Date/Time (YYYYMMDDTTTT) | N |
ORM messages include details of an Order that was placed in the health information system (HIS). ORM messages will trigger an order notification such as STAT or NOW and deliver the relevant information to the appropriate recipient.
Segment | Field | Component | Description | Field Type | Required |
---|---|---|---|---|---|
MSH | 1 | 1 | Field Separator | String | Y |
2 | 4 | Encoding Characters | String | Y | |
3 | 180 | Sending Application | String | Y | |
4 | 180 | Sending Facility | String | Y | |
5 | 180 | Receiving Application | String | Y | |
6 | 180 | Receiving Facility | String | N | |
7 | 26 | Date/Time of Message | Date/Time (YYYYMMDDTTTT) | Y | |
8 | 40 | Security | String | N | |
9 | 7 | Message Type | String | Y | |
10 | 20 | Message Control Id | String | Y | |
11 | 3 | Processing Id | String | N | |
12 | 8 | Version Id | String | Y | |
13 | 15 | Sequence Number | String | N | |
14 | 180 | Continuation Pointer | String | N | |
15 | 2 | Accept Acknowledgement Type | String | N | |
16 | 2 | Application Acknowledgement Type | String | N | |
17 | 2 | Country Code | String | N | |
18 | 6 | Character Set | String | N | |
19 | 3 | Principal Language of Message | String | N |
Segment | Field | Component | Attribute | Description | Field Type | Required |
---|---|---|---|---|---|---|
PID | 3 | 1 | patient.mrn | Patient ID | Mapped ID | Y |
5 | 1 | patient.last_name | Patient Name | String | Y | |
5 | 2 | patient.first_name | Patient Name | String | Y | |
5 | 3 | patient.middle_name | Patient Name | String | N | |
5 | 4 | patient.suffix | Patient Name | String | N | |
5 | 5 | patient.prefix | Patient Name | String | N | |
7 | 1 | patient.dob | Patient Date of Birth | Date (YYYYMMDD) | N | |
8 | 1 | patient.sex | Patient Sex | String | N | |
PV1 | 3 | 1 | patient.bed.room.unit.name | Assigned Patient Location | String | Y |
3 | 2 | patient.bed.room.room_number | Assigned Patient Location | Integer | Y | |
3 | 3 | patient.bed.bed_number | Assigned Patient Location | Integer | Y | |
ORC | 5 | 1 | status | Order Status | String | Y |
9 | 1 | order_time | Ordered Time | Date/Time (YYYYMMDDTTTT) | Y | |
OBR | 4 | 1 | order_code | Order Code | String | Y |
4 | 2 | description | Order Description | String | Y | |
16 | 2 | provider.last_name | Ordering Provider Last Name | String | Y | |
16 | 3 | provider.first_name | Ordering Provider First Name | String | Y | |
16 | 4 | provider.middle_name | Ordering Provider Middle Name | String | N | |
16 | 5 | provider.suffix | Ordering Provider Suffix | String | N | |
16 | 6 | provider.title | Ordering Provider Title | String | N | |
16 | 7 | provider.degree | Ordering Provider Degree | String | N | |
16 | 9 | provider.npi | Ordering Provider NPI or Unique ID | String | Y | |
17 | 1 | provider.cell_phone_number | Order Callback Telephone Number | String | N |
RAS messages include details of an pharmacy/treatment that was placed in the health information system (HIS). RAS messages will trigger an pharmacy/treatment notification and deliver the relevant information to the appropriate recipient.
Segment | Field | Component | Description | Field Type | Required |
---|---|---|---|---|---|
MSH | 1 | 1 | Field Separator | String | Y |
2 | 4 | Encoding Characters | String | Y | |
3 | 180 | Sending Application | String | Y | |
4 | 180 | Sending Facility | String | Y | |
5 | 180 | Receiving Application | String | Y | |
6 | 180 | Receiving Facility | String | N | |
7 | 26 | Date/Time of Message | Date/Time (YYYYMMDDTTTT) | Y | |
8 | 40 | Security | String | N | |
9 | 7 | Message Type | String | Y | |
10 | 20 | Message Control Id | String | Y | |
11 | 3 | Processing Id | String | N | |
12 | 8 | Version Id | String | Y | |
13 | 15 | Sequence Number | String | N | |
14 | 180 | Continuation Pointer | String | N | |
15 | 2 | Accept Acknowledgement Type | String | N | |
16 | 2 | Application Acknowledgement Type | String | N | |
17 | 2 | Country Code | String | N | |
18 | 6 | Character Set | String | N | |
19 | 3 | Principal Language of Message | String | N |
Segment | Field | Component | Attribute | Description | Field Type | Required |
---|---|---|---|---|---|---|
PID | 3 | 1 | patient.mrn | Patient ID | Mapped ID | Y |
PV1 | 3 | 1 | patient.bed.room.unit.name | Assigned Patient Location | String | Y |
3 | 2 | patient.bed.room.room_number | Assigned Patient Location | Integer | Y | |
3 | 3 | patient.bed.bed_number | Assigned Patient Location | Integer | Y | |
ORC | 2 | 1 | order_code | Entity Identifier | String | |
5 | 1 | status | Order Status | String | Y | |
7 | 1 | dosage | Quantity | Composite Quantity with Units | ||
7 | 2 | frequency | Interval | Repeat Interval | ||
7 | 3 | description | Duration | String | ||
9 | 1 | order_time | Ordered Time | Date/Time (YYYYMMDDTTTT) | Y | |
10 | 1 | provider.npi | ID Number | String | ||
10 | 2 | provider.last_name | Provider Family Name | FN (Family Name) | ||
10 | 3 | provider.first_name | Provider Given Name | String |