Reference·ERR Segment·ERR-4
HL7 v2 Reference

HL7 v2 ERR-4 Field Guide: Severity Values and Common Mistakes

Jul 28, 2026 · 4 min read
← ERR-3

ERR-4 is a single coded value, but it decides whether a message gets rejected outright or just logged with a shrug, and a lot of receiving systems treat every populated ERR segment as fatal because their test data never included anything but the error-level severity.

Quick answer

ERR-4 is the Severity field. It carries one of three coded values: E for a genuine error that should block or reject the message, W for a warning about something questionable that did not stop processing, and I for an informational note that has no bearing on whether the message was accepted.

What this field contains

E
Error — the condition is serious enough that the message should be considered rejected or unprocessable
W
Warning — something looked off, but the receiving system was able to process the message anyway
I
Information — a note for visibility only, with no implication that anything was wrong with the message
Common case
Paired with ERR-3 — severity is almost always read together with the error category to decide both what happened and how much it matters

Example

Synthetic example Generated by Synthibase
ERR||PID^1^13^2|105^Value out of range^HL70357|W|||Guarantor phone number extension appears unusually long

A synthetic ERR segment flagging a suspicious but non-blocking value in PID-13 with a warning-level severity.

Where this trips people up

A surprising number of downstream systems key their entire message-rejection logic off whether ERR-4 is simply present rather than checking its actual value, so a message that only carried a warning or an informational ERR gets discarded exactly like a hard failure. Test suites that only ever generate error-level ERR segments never catch this, because the bug only shows up once a warning-level message shows up expecting to be accepted. Building synthetic test cases across all three severity values is the only reliable way to confirm the receiving system is actually reading ERR-4 instead of just noticing the segment exists.

HL7 v2 ERR Segment Guide: Fields, Format, and Testing Gotchas
EDI 999 vs 997: What's the Difference and Why It Matters
EDI Rejection Codes: Complete List and How to Fix Them
Test severity-aware error handling the right way
Synthibase can generate synthetic ACK/NAK scenarios spanning error, warning, and informational severities, so you can confirm your system reacts correctly to each one instead of treating every ERR segment as fatal.
Start free trial →
This page is written independently by Synthibase for testing and informational purposes. It is not an official publication of HL7 International or X12/Washington Publishing Company, and is not a substitute for reviewing the official standard or your trading partner's companion guide. See our Terms of Service for full legal terms.