Skip to main content
Pro feature. Requires a Pidgeon account with Post Pro entitlement. Diff ships with the Post desktop app and the licensed CLI, not the free dotnet tool install build.
When a message works in one environment and fails in another, the question is always the same: what actually changed? Diff answers it at the field level. Point it at two messages, or two directories, and it reports every field that differs, not a line-by-line text diff that buries the one field that matters.

What it compares

  • HL7 v2: field-aware. Differences are reported by segment and field position (PID.5.1, PV1.44), not raw character offsets, so a re-ordered optional field or a changed subcomponent surfaces as one clear entry.
  • FHIR R4: JSON-tree. Differences are reported by resource path.
  • Directories: compare a baseline folder against a candidate folder to diff a whole environment at once.

Usage

Ignore volatile fields

Message control IDs and timestamps change on every send. Skip them so the diff shows only meaningful changes:
--ignore takes a comma-list of segments or fields. Wildcards work too (OBX-* ignores every OBX field).

Severity and mode

By default Diff runs constraint-aware analysis: it understands which fields carry coded values and flags a change that would break downstream validation, not just any change.

HTML report

The --report output is a self-contained HTML file: the field-level change table plus triage hints, ready to attach to a ticket or hand to a stakeholder. No server, no external assets.
AI-assisted diff hints are not yet available. The --ai flag is reserved for a future release; today Diff runs its constraint-aware field analysis without a model.

From the CLI or the app

Diff is a pane in the Post desktop app and a command in the CLI. Both drive the same engine. See Post Commands for the full flag reference and the Bridge API for the programmatic route.

Next steps