User Manual

hl7online.com

The complete guide to parsing, validating, and understanding HL7 v2.x messages in your browser.

Privacy first
AI-powered
150+ validation rules
1

Overview

hl7online.com is a browser-based tool for parsing, validating, and understanding HL7 v2.x messages. Built for healthcare integration specialists, interface analysts, and anyone who works with HL7 messaging.

Privacy First
All parsing happens in your browser

Raw HL7 messages never leave your device. Parsing and validation are entirely client-side JavaScript. Only AI queries (optionally anonymized) are sent to the edge server.

AI-Powered
Ask questions in plain English

Ask natural language questions about any HL7 message and get instant answers with field-level source references so you can verify every claim.

150+ Validation Rules
Comprehensive message checking

Catches structural errors, missing required fields, invalid coded values, date logic issues, cross-segment consistency, and clinical plausibility problems.

2

Getting Started

Open the app and you're ready to go. A sample message is pre-loaded so you can explore immediately.

First Visit

A welcome splash screen greets you. Click Continue (or press Enter) to enter the main application. A sample ORU^R01 lab results message is loaded automatically.

Interface Layout

AreaLocationPurpose
HL7 InputTop-leftPaste or edit your HL7 message
AI ChatBottom-leftAsk questions about the message in plain English
Parsed OutputRight panelView parsed segments and validation results
Navigation BarTopDocs, Examples, About, and account controls
Status BarBottomSegment count, result count, HL7 version, message type
3

Parsing an HL7 Message

Paste any HL7 v2.x message and it parses instantly, right in your browser.

Pasting a Message

  1. Copy an HL7 message from your source system (EHR, interface engine, log file, etc.)
  2. Click into the text area labeled "Paste HL7 Message"
  3. Paste your message (Ctrl+V)
  4. Parsing begins automatically after a brief pause

The message must begin with MSH to be recognized as HL7 v2.x. Leading whitespace or blank lines will cause an error.

Toolbar Actions

Load Sample

Loads a pre-built ORU^R01 Comprehensive Metabolic Panel message with both normal and abnormal results. Great for learning the interface.

Clear

Removes the current message and resets the entire interface to its empty state. The parsed output and AI chat are cleared.

4

Edit and View Modes

Switch between editing the raw message and viewing it with syntax highlighting.

After a message is parsed, a segmented Edit / View toggle appears in the toolbar. The active mode is highlighted in blue so you always know which state you're in.

Edit Mode

Shows the raw HL7 text in an editable textarea. Changes re-parse automatically. Best for modifying or correcting message content.

View Mode

Syntax-highlighted read-only view. Segment IDs in blue, delimiters muted, error fields underlined in red, warning fields in amber. Click to switch back to Edit.

5

Segments Tab

The default view, showing every segment in the message broken down field by field.

Each segment is displayed as a card with:

  • Segment badge — 3-letter ID (e.g., MSH, PID, OBX)
  • Segment name — Human-readable name (e.g., "Message Header", "Patient Identification")
  • Field ID — e.g., MSH.3, PID.5, OBX.5
  • Raw value — Actual content from the message
  • Field name — What the field represents (e.g., "Patient Name")
  • Decoded value — Coded values translated (e.g., "F" → "Female")

OBX segments get special treatment: each card shows the observation name (e.g., "Glucose", "Creatinine") and units in the header for quick scanning of lab results.

6

Validation Tab

Comprehensive message checking with 150+ rules. Click any issue to jump straight to the problem field.

Severity Levels

Error — would likely cause message rejection Warning — may cause issues with some systems Info — best practice recommendation

Click-to-Highlight

Click any validation issue to jump to the problem in the message:

  1. Auto-switches to View mode if you're in Edit mode
  2. The affected line highlights with a blue border
  3. The specific field pulses with an outline ring
  4. The view scrolls to center the highlighted line

What Gets Validated

Structural Checks

Required segments present, field counts within range, proper delimiter usage

Required Fields

Message type (MSH.9), control ID (MSH.10), patient ID (PID.3), observation ID (OBX.3)

Coded Values

Sex (Table 0001), patient class (0004), processing ID (0011), abnormal flags (0078), and more

Date/Time Logic

Valid formats, no future DOBs, admission before discharge, specimen before results

Clinical Plausibility

Numeric values match type, reference ranges valid, flags consistent with actual values

Cross-Segment

Sending/receiving not identical, order-to-result temporal relationships, message type patterns

7

AI Chat

Ask natural language questions about any loaded HL7 message. Get instant answers with field-level source references.

How to Ask

  1. Type your question in the input bar at the bottom of the chat panel
  2. Press Enter or click Ask
  3. The AI responds with an answer and source chips showing which fields it used

Use Shift+Enter to add a new line without submitting.

Example Questions

CategoryTry Asking
Patient info"What's the patient's name and DOB?" / "What's the address?"
Lab results"Are any results abnormal?" / "What tests were ordered?"
Summary"Explain this message in plain English"
Routing"Which facility sent this?" / "Who's the ordering physician?"
Validation"Are there validation issues I should worry about?"

Source References

Every AI response includes source chips (e.g., PID.5, OBX.8) showing exactly which HL7 fields the answer was derived from. This lets you verify every claim against the raw message.

Local Fallback

Even without an AI connection, the app answers basic questions locally: patient name, date of birth, abnormal results, and a basic message summary.

Usage Limits

Logged-in users have a daily AI query quota. A usage meter next to the input bar shows remaining queries (e.g., "7/10"). The limit resets at midnight UTC. Parsing and validation are always unlimited.

8

PHI Anonymization

Mask protected health information before it's sent to the AI.

Enable the Anonymize PHI checkbox below the AI chat area. The AI still receives the message structure and non-PHI content, so it can answer most questions accurately.

Data TypeReplaced With
Patient name[PATIENT]
Medical record number[MRN]
Date of birth[DOB]
Social Security Number[SSN]
Address[ADDRESS]
Phone number[PHONE]
Aliases[ALIAS]
Next of kin names[NOK_NAME]
9

Example Messages

Click Examples in the navigation bar to open a gallery of 8 pre-built HL7 messages. Click Load on any to parse it instantly.

TypeNameDescription
ORU^R01Lab ResultsComprehensive Metabolic Panel with abnormal flags
ADT^A01Patient AdmissionInpatient admission to cardiology unit
ADT^A08Patient UpdateInsurance and contact information update
ORM^O01Lab OrderPhysician order for CBC with differential
ADT^A03Patient DischargeDischarge to home following elective procedure
ORU^R01Microbiology CultureBlood culture with organism ID and sensitivities
SIU^S12New AppointmentScheduling notification for cardiology follow-up
ACKAcknowledgmentApplication acknowledgment accepting a prior message
10

Authentication & Accounts

An account unlocks the full AI chat experience. Parsing and validation always work without an account.

Creating an Account

  1. Click Sign Up in the top navigation
  2. Enter your email address and choose a display name (optional)
  3. Choose a password (minimum 8 characters) and confirm it
  4. Click Create Account
  5. Check your email for a verification link and click it to activate

Signing In

Click Sign In, enter your email and password, and you're in. Your session refreshes automatically in the background.

Forgot Password

Click Sign InForgot Password? → enter your email → check your inbox for a reset link.

11

HL7 Basics Reference

A quick reference for HL7 v2.x message structure, delimiters, segments, and message types.

Message Structure

An HL7 v2.x message is a series of segments, each on its own line. Every message begins with an MSH (Message Header) segment:

MSH|^~\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|DateTime||ORU^R01|MSG00001|P|2.5.1
PID|1||MRN-123^^^Hospital^MR||JOHNSON^EMILY^R||19780923|F
OBX|1|NM|2345-7^Glucose^LN||95|mg/dL|74-106|N

Delimiters

CharacterPurposeExample
|Field separatorSeparates fields within a segment
^Component separatorJOHNSON^EMILY^R (last, first, middle)
~Repetition separatorMultiple values for one field
\Escape characterSpecial character sequences
&Sub-component separatorSub-parts within a component

Common Segment Types

SegmentNamePurpose
MSHMessage HeaderMessage metadata, type, version
PIDPatient IdentificationPatient demographics
PV1Patient VisitVisit/encounter information
ORCCommon OrderOrder control information
OBRObservation RequestTest/procedure order details
OBXObservation ResultIndividual result values
NTENotes and CommentsFree-text notes
NK1Next of KinEmergency contacts
IN1InsuranceInsurance coverage
DG1DiagnosisDiagnosis codes
AL1AllergyPatient allergies
EVNEvent TypeTrigger event details

Common Message Types

TypeTriggerDescription
ORU^R01Unsolicited resultLab results sent from LIS to EHR
ORM^O01Order messageNew lab/radiology order
ADT^A01AdmitPatient admitted to facility
ADT^A03DischargePatient discharged
ADT^A04RegisterOutpatient registration
ADT^A08UpdatePatient information update
ACKAcknowledgmentConfirms receipt of a message
SIU^S12NotificationNew appointment scheduled

Abnormal Flags (OBX.8)

FlagMeaningSeverity
NNormalNormal
HHighAbnormal
LLowAbnormal
HHCritically highCritical
LLCritically lowCritical
AAbnormalAbnormal
AACritically abnormalCritical
12

Keyboard Shortcuts

Quick keys for common actions.

Dismiss splash screen / Submit AI question
Enter
Close any open modal
Esc
New line in AI input (without submitting)
Shift+Enter
Paste HL7 message
Ctrl+V
13

Troubleshooting

Common issues and how to fix them.

"This doesn't look like an HL7 message"

Your message must start with MSH. Check for leading whitespace or blank lines before the MSH segment. The tool supports HL7 v2.x only (not FHIR/JSON or HL7 v3/CDA).

AI shows "AI offline"

The AI feature requires a connection to the edge server. Parsing and validation still work fully without it. Check your network connection and try again.

AI shows "Daily limit reached"

Your daily AI query quota has been used. The limit resets at midnight UTC. Parsing and validation remain unlimited.

Validation issues but message works in production

The validator follows HL7 standards strictly. Some receiving systems are more lenient. Info-level issues are recommendations, not hard requirements. Focus on errors and warnings first.

The page looks different from expected

Try a hard refresh: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (Mac). This clears the browser cache.