
Generate and validate HL7 v2 and FHIR test messages.
Make every go-live boring. Post builds test messages in the style of your EHR vendor, checks them against the standard, and strips patient details, all on your own machine.
- Install
- A desktop app for Windows x64 (signed) or an Apple Silicon Mac (not yet signed), or the CLI. The CLI also runs on Linux.
- Where it runs
- On your machine. Nothing is sent to us.
- Works with
- HL7 v2 versions 2.3 to 2.8, FHIR R4, and C-CDA.
- Account
- None needed.
- Free in the beta
- Generate 100 messages a day. Validate, look up, and de-identify as much as you like.
Compared with what you use: HAPI and 7Edit check that a message is well-formed. Post can also run clinical checks that flag values no patient could have.
Not yet: Some features are paid and not in the free beta: vendor profiles from your samples, folder comparison, and CLI AI commands.

Test with the patients you will really meet
The interface that passes on 14 test patients will fail on 14,000 real ones.
Go from broad realism to one exact field.
Valid messages that still look like your world
Pick the standard, event, version, clinical scenario, and vendor profile. Post builds valid messages, shaped the way your receiving system expects.
MSH|^~\&|NORTHSTAR|ED|EPIC|HOSP|202607121315||ADT^A01|A004281|P|2.5.1
EVN|A01|202607121315
PID|1||00428165^^^MRN||ALVAREZ-GARCIA^MAYA^L||19411203|F|||82 OAK ST^^MADISON^WI^53703
PV1|1|E|ED^04^A|EMER|||18472^CHEN^PRIYA|||MED||||1|||V00499318
DG1|1||R07.9^CHEST PAIN, UNSPECIFIED^I10|||A
IN1|1|PAYER-201|MCR|MEDICARE||||||||20260101
Generation summary
- Standard
- HL7 v2.5.1
- Profile
- Epic 2024+ profile
- Scenario
- Emergency admit
- Seed
- 428165
- Messages
- 3
Spec-valid
Three jobs, one workspace
Generate
38 HL7 v2 message types across 8 versions, plus FHIR R4, shaped by built-in profiles for eight EHR vendors. The same seed gives you the same messages back.
Validate
Strict mode checks a message against the standard. Compatibility mode also accepts the common deviations the vendor profiles describe. A failure exits non-zero, so your CI stops the build.
De-identify
Post checks for all 18 HIPAA Safe Harbor identifier types on your machine and replaces what it finds. The same patient keeps the same stand-in across messages. A message with free text is marked for a person to check.
Conform lives inside Post
Point Conform at a live FHIR endpoint and the guide you have to meet. It returns an exit code for CI and saves a dated report.
Generate your first message in one command.
The other Pidgeon products
Post
You’re hereTest what your vendor actually sends.
Flock
Realistic test patients, with no real patient data.
Visit Flock →Loft
Catch bad messages on live channels.
Visit Loft →Migrate
Move your data out, and count every record.
Visit Migrate →Conform
In PostTest FHIR endpoints against the guide you must meet.
Visit Conform →