HL7Guard
What it does
Validate a whole capture
Check hundreds of messages against a JSON profile: required segments and fields, plus allowed code lists such as LOINC codes in OBX-3. Exit code 1 when any message has errors.
De-identify consistently
Replace identifiers with seeded fakes. The same patient maps to the same fake patient in every message, so an admit to result to discharge flow still tests correctly after de-identification.
Diff two captures
Field-by-field comparison, matched by MSH-10 control ID. Get a short report of what changed, where, old value versus new value. Exit code 1 when differences are found.
Generate edge cases
Labelled test messages from a known-good one: drop a required segment, empty a required field, swap in a bad code, break a datatype. Test a receiver's error handling without hand-editing messages.
Census and verify
Census documents what a capture actually contains: counts by type, segment inventory, field fill rates. Verify then scans the de-identified output for anything that still looks like a real identifier, before the capture is shared.
Test live over MLLP
Send messages to a real receiver and read the ACK code per message, or run a capturing listener that stores what arrives and answers AA. Files prove structure; live traffic proves the interface.
Prefer clicking to typing? hl7guard gui opens the same
operations in a desktop window, with the same license gates. Validate and
diff can also write self-contained HTML reports with --html.
Runnable examples
These commands run against the synthetic samples in the source repo:
pip install -e .
hl7guard validate samples/ --builtin oru_r01
hl7guard anonymize samples/ --seed my-project --out deidentified/
hl7guard diff before.hl7 after.hl7
hl7guard generate samples/synthetic_oru_r01.hl7 --builtin oru_r01 --out edge/
hl7guard census samples/
hl7guard gui
Exit codes: 0 means clean, 1 means findings or differences were found, 2 means a file or usage error. That contract is the product: a pipeline can fail the build on a silent vendor change.
The folder and batch examples above are Solo features and need a license key. The free tier covers single-message validate and anonymize.
Safety and limits, plainly
- Local and offline by design. There is no cloud component and no telemetry.
- HL7Guard is a de-identification aid, not a HIPAA certification. Free-text fields can contain identifiers. You remain responsible for reviewing output before sharing it.
- All samples used in demos and tests are synthetic and labelled synthetic. No real patient data is used, ever.
Pricing
Free
$0
Single-message validate and anonymize in the open CLI. Source is public on GitHub (VariantResearch/hl7guard), no key needed.
Solo
$79 one-time
Batch and folder mode, capture diff, profiles, edge-case generator, JSON and HTML reports, capture census, residual-identifier verify, and MLLP send/listen. Version 1.x updates included.
Team
$499 one-time
10 seats, shared profiles, priority fixes.
Checkout is through Stripe. Your license key and the full-edition download are delivered by email from the support inbox after payment. License keys are cryptographically signed (the tool verifies them offline and cannot mint them); the check is still not DRM, and Team seats are counted on trust. Refunds: 14-day no-questions refunds by email to support (the address is printed on your Stripe receipt and in the repo README, and kept off this page so it stays off spam lists). Nothing on this page is a sales claim beyond that: there are no customers, testimonials, or usage numbers to report yet, and this page will not invent any.
Status
- Version 1.0.0 is out. The free edition is public on GitHub (VariantResearch/hl7guard); the full edition is delivered to buyers by email with a cryptographically signed license key (the software verifies keys offline and cannot mint them). The full edition includes the desktop GUI, batch validation, capture diff, the edge-case generator, the capture census, the residual-identifier verify pass, MLLP send and listen, and JSON and HTML reports. Paid licenses are on sale through the Stripe checkout links above; the support contact is in the repo README.
- The product was renamed from RelayCheck to HL7Guard on 2026-10-27 after the original name failed its check. HL7Guard cleared the PyPI, GitHub, and .com registration checks the same day: hl7guard.com is unregistered, not bought. A direct USPTO trademark search is still owed before public launch. See NAME_CHECK.md in the repo docs for the full report.