Data / LOCAL TOOL

HL7 v2 Message Diff

Compare two HL7 messages by field, component, repetition, and subcomponent locally.

Runs locally — input is never uploaded
Paste, type, or drop one HL7 message
Paste, type, or drop one HL7 message
Ignore segments
Ignore volatile fields
Field changesReady when you are

Field changes will appear here.

WHAT IT DOES

See the clinical fields that changed, not merely the characters that moved.

Paste one Original and one Updated HL7 v2 message. The comparison reads each message's declared separators and aligns populated values by segment occurrence, field, repetition, component, and subcomponent. The result identifies additions, removals, and changed values with practical HL7 names instead of treating the message as one long line.

Why use it?

Use it to investigate what an interface transformation changed within a message without mistaking every delimiter-separated line for one indivisible value.

How to use this tool

  1. Choose one message for Original and one for Updated, then compare.
  2. Review differences by segment occurrence and field/component location. Inspect repeated segments carefully: an occurrence is a position, not a clinical identity match.
  3. Exclude volatile technical fields only when they are irrelevant to the comparison. For example, a different message control ID may be expected, while a changed patient identifier still needs review.

Details and limitations

  • Repeated segments and fields receive stable occurrence markers, so a second OBX or patient identifier does not overwrite the first one in the comparison.
  • Standard delimiter and hexadecimal escape sequences are decoded for the displayed values while the original messages remain untouched in their editors.
  • Changed fields are marked in place in both message editors. The result repeats the red Original and green Updated values side by side and narrows its stronger emphasis to the characters that changed.
  • Whole segments can be excluded separately from volatile technical fields such as message timestamps, control IDs, event timestamps, sequence numbers, and continuation pointers.
  • The tool compares one message per side. Use the HL7 v2 Capture Inspector to search and correlate a file containing many messages before selecting the pair to compare.

COMMON QUESTIONS

HL7 v2 Diff questions

Does formatting or the field separator affect the result?
Each side uses the separators declared in its own MSH segment. Values are compared at their HL7 paths, so line endings and MLLP framing do not create field changes.
Can I compare two complete capture files?
No. This tool deliberately accepts one message on each side so repeated segment positions stay meaningful. Use the capture inspector first when you need to find a pair inside a larger exchange.
Are escaped delimiters compared correctly?
The standard F, S, R, E, and T delimiter escapes and hexadecimal X escapes are decoded for field comparison. Unknown local escape sequences remain visible rather than being silently discarded.
Can I ignore transport metadata or an entire segment?
Yes. The segment picker is populated from the two messages and removes every field in the chosen segments. A separate picker excludes only selected volatile fields, so ignoring MSH-10 does not hide the rest of MSH.