This bundle provides visibility into the health of your HL7 interface environment. On the ExtraHop appliance, Interfaces are automatically discovered and classified as either sending or receiving interfaces. Additional information is extracted from the MSH segment of the HL7 message to identify the applications and facilities responsible for the message transactions.
In addition to operational intelligence around interface and network health, admission and registration messages are also examined to provide insights about the patient demographics for your health care system.
- (1) Custom Group
- HL7 Interfaces
- (4) Triggers
- HL7 - Overview
- HL7 - ADT
- HL7 - ORU ORM message Metrics
- HL7 - OBR and OBX Records
- (7) Dashboards
- HL7: ADT
- HL7: General
- HL7: Failures HL7: Duplicate Messages
- HL7: Overview
- HL7: Timing
- HL7: Orders and Observations
- (4) Record Formats
- HL7 - Messages
- HL7 - Observations
- HL7 - Orders
- HL7 - ADT
- ExtraHop firmware version 7.5 or later.
- Download the bundle on this page.
- Log into the ExtraHop Web UI and complete the following procedures, which are available in the ExtraHop Web UI Guide.
- Log into the ExtraHop Admin UI and complete the following procedure, which is available in the ExtraHop Admin UI Guide.
- Set the HL7 Protocol Classification in the Admin UI.
- In the Configuration section, select Capture.
- Click Protocol Classification.
- Click Add Protocol.
- From the drop-down list for Name, select HL7.
- In the Destination field, type "0" (zero).
- Click Add followed by Restart Capture.
- (Optional) Edit the Running Config file to monitor round trip time metrics (RTT).
Note: HL7 often communicates on long lived TCP connections. Due to the small packet size of HL7 messages, RTT metrics are not accounted for. If you want to monitor RTT metrics for HL7, complete the following steps.
- Log into the ExtraHop Administration UI.
- In the System Configuration section, click Running Config.
- Search for "tcp_rtt_suppress_delayed_acks": and ensure that the value is set to true. (The default value is set to false.)
- Set triggers to generate records that will be sent to the Explore appliance.
- In the HL7 - Overview and HL7 - ADT triggers, set the createRecords variable to true.
- Ensure that the HL7 - OBR and OBX Records trigger is enabled.
Due to the variation of HL7 messages, you might need to modify the included triggers to extract the correct data. The following sections list the dashboard widgets that will most likely require trigger modifications to properly display metrics.
Dashboard: HL7: Failures Widget: Error String
The ERR (error) segment adds error comments to acknowledgement messages. This type of segment is typically only populated for AR or AE type acknowledgements. If the Error String is not present, log into the ExtraHop Web UI and complete the following steps 1. Open the HL7 - Overview Trigger and click the Editor tab. * This trigger extracts the error string from the ERR segment. 2. Set the printERR variable to true. * This setting prints the error string in acknowledgement messages. 3. Click the Runtime Log tab. * After an ERR segment is encountered, the error string will output in the log. * The output will be in the following format: Error Segment: ERR|||Invalid bed name * In this case the field containing the error string, Invalid bed name, is in the 2 field location. Therefore errorField should be set to "2". * The output will be in the following format: Error Segment: ERR|||Invalid bed name,where ERR is the segment name, followed by three location fields (0, 1, 2). Because the error string ('Invalid bed name') is in the second location, set errorField to '2'.
Dashboard: HL7: ADT
Widgets: Admits by Patient Gender; Admits by Patient City; Average Patient Age
The data for these widgets is in the PID segment. The PID segment is most commonly found within the Admit (ADT^A01) and Registration (ADT^A04) messages. If these widgets are blank, you should first determine if the PID segment is present in the type of message being examined. By default, the trigger examines the PID segment within Admit messages. To verify the PID segment, log into the ExtraHop Web UI, and complete the following steps. : 1. Open the HL7 - ADT Trigger and click the Editor tab. 2. Set the printFullMessage to true. 3. Click the Runtime Log tab and observe the output. The full message is printed here. If you do not see a PID segment, or if the PID segment is present but the fields are empty, we recommend that you change the type of message being examined to Registration through the following steps: * Click back to the Editor tab. * Set the msgTypeToTrack variable to Register. 4. If the PID segment is present, and appears to have data, the PID segment might not be following standards. To examine the PID segment, complete the following steps: * In the Editor tab ensure the printFullMessage variable is set to false. * Set the printPID variable to true. This step prints out the PID segment. * The trigger is broken up into sections based on the type of value being examined. Scroll through the trigger to find the specific sections (such as Patient Age, Patient Gender, and City). * In the Runtime Log, examine the PID segment to determine that the field for the value you are looking for exists and update the trigger code with that field. * Note that the segment fields begin at location '0'.
Dashboard: HL7: ADT Widgets: Patients Insurer
The data for these widgets is in the IN1 segment. The In segment contains the patient's insurance information is most commonly found within the Admit (ADT^A01) and Registration (ADT^A04) messages. If these widgets are blank, you should first determine if the IN1 segment is present in the type of message being examined. By default, the trigger examines the IN1 segment within Admit messages. To verify the IN1 segment, log into the ExtraHop Web UI, and complete the following steps. : 1. Log into the ExraHop Web UI. 2. Open the HL7 - ADT Trigger and click the Editor tab. 3. Set the printInsurer variable to true. 4. Open the Runtime Log tab and observe the output. The IN1 (insurance) segment will be printed if it is available. If this segment is observed and printed out, complete the following steps: * Identify which field the insurer information is in. * Open the Editor tab and scroll down to find the Insurer Information section of code. * Update the trigger code to the field that contained the insurer information. 5. If the IN1 segment is not observed, the segment might not be present in this message type. You can examine other types of messages by completing the following steps: * Set the printFullMessage to true. * Change the msgTypeToTrack to either Admit or Register. * Note that this change can impact other ADT metrics, such as Patient Age, Patient Gender, and Patient City).