Upload HL7 Messages
Drag files here, paste text below, or click to select
Supports .hl7, .hl7v2, .txt files (max 5MB per file, 10 files max)
Examples
Processing HL7 messages...
Drag files here, paste text below, or click to select
Supports .hl7, .hl7v2, .txt files (max 5MB per file, 10 files max)
Processing HL7 messages...
Paste an HL7 v2.x message or upload a .hl7 file.
Explore parsed segments and fields with their names and decoded values.
Optionally paste a second message to compare the two side by side.
Parses all standard HL7 v2.x message types with field names, data types, and descriptions.
Diff two HL7 messages side by side, highlighting added, removed, and changed fields.
Message parsing happens entirely in your browser — no PHI is transmitted to any server.
Every message you paste or upload is parsed entirely in your browser. Patient identifiers, visit numbers, and clinical results never leave your device. This eliminates the compliance risk of pasting real HL7 messages into cloud-based tools, giving integration analysts confidence that they can troubleshoot production messages safely.
The viewer runs directly in your browser — there is nothing to install, no Java runtime to configure, and no license file to manage. Integration analysts on tight deadlines can open the tool and begin parsing within seconds, whether they are at the office, at a client site, or working remotely on a personal laptop.
The interface is built around the workflows integration analysts perform daily: inspecting segment structures, verifying field mappings, and comparing message pairs. Field names, data types, and table values are decoded automatically so you spend less time cross-referencing the HL7 specification and more time solving interface problems.
Because parsing is entirely local, your organization retains complete custody of the message content. There is no server-side logging, no temporary storage, and no analytics pipeline that could inadvertently capture PHI. This supports HIPAA compliance and satisfies institutional data-governance requirements without additional vendor agreements.
Health Level Seven version 2 (HL7 v2.x) is the most widely deployed healthcare messaging standard in the world. It defines a pipe-delimited text format for exchanging clinical, administrative, and financial data between hospital information systems. Despite the emergence of newer standards like FHIR, HL7 v2.x remains the backbone of real-time interfaces in virtually every hospital, handling ADT notifications, lab results, orders, scheduling, and more.
An HL7 v2.x message is composed of segments, each on its own line and identified by a three-character code. The most common segments include:
Within each segment, fields are separated by the pipe character (|). Fields can contain components separated by the caret (^) and sub-components separated by the ampersand (&). Repeating fields use the tilde (~) as a separator. These delimiters are declared in MSH-1 and MSH-2, allowing non-standard encoding when needed.
Each field has a defined data type — for example, XPN for extended person name, CWE for coded with exceptions, or TS for timestamp. Understanding data types is essential for correct parsing and mapping during interface development.
HL7 v2.x interfaces are managed by integration engines such as Mirth Connect, Rhapsody, Cloverleaf, and Epic Bridges. These engines route messages between systems, apply transformations, and handle acknowledgments. When troubleshooting, analysts often need to inspect raw messages at various points in the routing path. A browser-based viewer that can parse and compare messages on demand — without installing additional software — streamlines this workflow significantly.
HL7 v2.x uses ACK (acknowledgment) messages to confirm receipt and processing of inbound messages. An ACK contains an MSA segment with an acknowledgment code — AA (Application Accept), AE (Application Error), or AR (Application Reject) — along with the original message control ID for correlation. When interfaces fail silently, inspecting the ACK response is often the first debugging step. The viewer parses ACK messages just like any other message type, letting you examine the MSA fields and any ERR segments that describe the specific error condition. Understanding ACK patterns is critical for diagnosing dropped messages, duplicate processing, and timeout issues in production HL7 interfaces.
While FHIR (Fast Healthcare Interoperability Resources) has gained significant adoption for RESTful APIs and modern interoperability use cases, HL7 v2.x remains dominant for real-time, point-to-point interfaces within hospitals. Most EHR systems — including Epic, Cerner (Oracle Health), and MEDITECH — continue to produce HL7 v2.x messages for ADT feeds, lab results, and order communications. FHIR excels at patient-facing applications, population health queries, and cross-organizational data exchange. In practice, many healthcare organizations run both standards simultaneously, using v2.x for internal interfaces and FHIR for external interoperability. Integration analysts therefore need tooling for both formats.
HL7 messages frequently contain highly sensitive PHI: patient names, Social Security numbers, diagnoses, lab results, and insurance details. Pasting these messages into cloud-based tools creates a transmission risk that may violate HIPAA. Our tool eliminates this risk by performing all parsing locally. No message content is ever sent to a server, cached, or logged.
For radiology and laboratory interfaces, the viewer is especially useful when analysts need to trace how a clinical event propagated across multiple systems. An ADT update can explain why an ORU result failed to attach to the right encounter; an ORM order can explain why a modality worklist entry looks incomplete; an ACK can reveal whether the receiving system rejected the message outright or accepted it with downstream business errors. Seeing those structures decoded in one place shortens the time between alert and root cause.
Another practical benefit is preserving a clean separation between message inspection and message transformation. Before teams write or adjust interface engine mappings, they need to confirm what the source system actually sent: repetitions, missing trailing pipes, unexpected encoding characters, local Z-segments, and version-specific field usage. A viewer that exposes the original structure without modifying it gives analysts a trustworthy baseline before they move into scripting, transformation, or vendor escalation work.
The tool parses all HL7 messages locally in your browser. No message content, patient data, or PHI is transmitted to any server. Because data never leaves your device, the tool is HIPAA-compatible (all processing in your browser) and supports compliant workflows without requiring a Business Associate Agreement with a third party.
The viewer supports HL7 v2.x messages from version 2.1 through 2.8, including the widely used v2.3, v2.5, and v2.5.1 variants. It parses the version from the MSH-12 field and applies the correct field definitions for that version.
Yes. Paste or upload two messages and the viewer displays them in a side-by-side layout. Segments and fields are aligned by position, with differences highlighted. This is useful for verifying interface engine transformations or validating messages before and after system upgrades.
The viewer handles all standard HL7 v2.x message types including ADT (admit/discharge/transfer), ORM (orders), ORU (results), SIU (scheduling), MDM (documents), DFT (financial transactions), and more. It decodes segment names, field names, and data types automatically.
Yes. Each field is labeled with its standard name, position number, and data type. For example, PID-5 is shown as Patient Name with data type XPN. This eliminates the need to manually count pipes or reference the HL7 specification document.
Yes. You can either paste a message into the text area or upload a .hl7 file from your file system. The viewer detects the segment delimiter and encoding characters automatically, handling both standard and non-standard delimiters.
The viewer reads the encoding characters from MSH-1 and MSH-2 to correctly split fields, components, sub-components, and repetitions. It handles escape sequences for special characters like line breaks, field separators, and hexadecimal-encoded values.
There is no hard limit. The viewer runs in your browser, so performance depends on your device. Messages with hundreds of segments parse quickly on modern hardware. For extremely large batch files, consider splitting them into individual messages first.
Yes. Since all processing happens in the browser, no data leaves the local machine. The tool works on hospital networks, Citrix sessions, and VPN-connected devices without requiring additional firewall rules or software approvals.
This tool is specifically designed for HL7 v2.x pipe-delimited messages. It does not parse FHIR (JSON/XML) resources. If you work with both standards, you can use this viewer for v2.x messages and a separate FHIR tool for FHIR bundles.
A practical intro to FHIR for healthcare IT: what resources are, how R4 works, how it compares to HL7 v2, and how to validate resources before sending.
Read more →What HL7 ACK codes AA, AE, and AR mean in MSA-1, how they differ from CA/CE/CR, and how a receiver decides which acknowledgment to send. With examples.
Read more →Learn how to turn HL7 ORM orders into reliable radiology worklist entries with field mappings, status handling, validation steps, and troubleshooting guidance.
Read more →Compare DICOM Modality Worklist and HL7 ORM messages in radiology workflows, including scheduling, order entry, and scanner integration.
Read more →Learn how to map HL7 ADT messages to FHIR Patient and Encounter resources with field-level guidance for PID, PV1, identifiers, locations, status, and testing.
Read more →Practical guide to HL7 conformance profiles and site validation: formalize local rules, combine baseline checks with profile review, and cut risk.
Read more →Map HL7 ORU result messages to FHIR DiagnosticReport and Observation resources with guidance for OBR, OBX, value types, status handling, and validation.
Read more →Learn how to map HL7 PID and PV1 segments to JSON without losing identifiers, visit context, repetitions, or null semantics in ADT pipelines.
Read more →Learn how to convert HL7 v2.x messages to JSON with simplified or HAPI-style output, covering field mapping, escape sequences, and integration patterns.
Read more →Learn how to generate valid HL7 v2.x test messages for ADT, ORU, ORM and other trigger events — safely, without PHI, and without hand-crafting pipes.
Read more →Complete guide to generating HL7 ADT trigger events A01, A03, A04, A08, and A11 for interface testing, covering segment structure and validation.
Read more →How to map HL7 v2.x ADT, ORU, and ORM messages to FHIR R4 resources. Covers Patient, Encounter, Observation, and ServiceRequest mapping with real examples.
Read more →How HL7 v2.x ORM and ORU messages drive radiology workflows from order entry to result delivery, covering worklist integration and PACS routing.
Read more →Diagnose and resolve HL7 ACK failures: ACK timeouts, MSA-2 mismatches, MSH mirroring errors, and AR responses, with worked Mirth and Rhapsody examples.
Read more →Complete guide to HL7 v2.x acknowledgment messages: AA, AE, and AR codes, MSH mirroring rules, the MSA segment, and how ACKs drive interface reliability.
Read more →Practical guide to troubleshooting HL7 interface problems including MLLP connection errors, character encoding, delimiter conflicts, and ACK failures.
Read more →Complete guide to HL7 v2.x message structure: segments, fields, delimiters, message types, trigger events, and encoding rules for healthcare IT.
Read more →