“But it worked in test.”- every integration engineer ever…
Validate HL7v2 and FHIR against your own conformance spec
Parse, validate, convert, diff and generate - free, in your browser, with your messages staying on your machine. Then write the spec once and hold every message to it, from CI or from live traffic on the wire.
PID||| or change F to XOne spec, three workflows
Author it once. Validate everywhere.
Your spec is the single source of truth - for the engineer designing it, the developer wiring it into CI, and the agent gating live traffic in production.
Design and validate in the browser
Paste sample messages, watch each rule pass or fail live, and iterate on the spec without leaving the page. The same spec drives every other workflow below.
Open spec editorGate every CI build with the CLI
Drop interoperall validate into a pipeline step. Sample messages get checked against the live spec on every PR. JUnit, GitHub, and JSON reporters surface failures right in the diff.
Catch bad messages before they hit production
Point your interface engine at the Bridge agent (beta). Messages are validated against your spec on your own machine - the agent has no code path that sends message content to us - then routed on the result: conforming traffic to your downstream, failures wherever you want to look at them.
Deploy the agent (beta)Why a spec, not a document
From a static PDF to a spec that passes or fails every message
The same seven rules, before and after. On the right, they actively pass or fail every message that flows through.
Three ways to build one
You do not have to start from a blank page, and you do not have to write rules by hand.
Infer it from real traffic
Drop a folder of messages, a zip, or one file holding thousands. It reads what your interface actually does - required fields, custom Z-segments nobody documented, and the value sets you really send, not the 30 codes the standard allows. Patient identifiers are stripped on the way in.
Generate from messages →Build it rule by rule
Start blank, or from a single message, and add rules as you go. Click any field in a real message to constrain it. Every example you save becomes a regression test that re-runs whenever the spec changes.
Start a spec →Import the YAML
A spec is one file. Bring an existing one in, keep it in your repo next to the interface it describes, and review changes to it in a pull request like any other code.
How specs work →Free forever
Powerful HL7 tools, no account needed
Everything runs in your browser. Your messages never leave your machine.
Pricing
Free to debug. Paid when it ships.
Every HL7v2 and FHIR tool, no account, no limit on how often you use them. Keep one spec. Nothing you paste ever leaves your browser.
Get started free5 specs, the CLI, and branded portals you can send straight to a client's vendor. 10k validations a month.
Choose SoloEverything in Solo, plus colleagues: 25 shared specs, seats and roles, so the spec is one source of truth instead of a file someone emailed. 25k validations per seat.
Choose TeamPoint every feed at it. Unlimited specs and validations, history kept for 13 months so it covers a full audit cycle, invoice billing, and the Bridge agent (beta): live MLLP validated inside your own network, with only usage counts leaving it. Flat rate whatever your volume - you should never do arithmetic before wiring up an interface.
Choose ProductionAnnual billing saves 17%. Buying for a health system? See all plans and Enterprise.
Cancel any time, effective at the end of the period you have paid for. Refunds & cancellation.
Start with a message and a spec
Every tool is free and needs no account. Paid plans are for saving specs, sharing them, and enforcing them on traffic.