HL7Guard
HL7v2 regression testing for CI. Not another message viewer.
Version 0.1.2 - available now
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.
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/
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 reports. Version 1.x updates included.
Team
$499 one-time
10 seats, shared profiles, priority fixes.
Checkout is through Stripe. Your license key is delivered by email from [email protected] after payment. The license check is an honor system, not DRM: you are buying the tool and its updates, not a lock. Refunds: 14-day no-questions refunds by email to [email protected]. 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 0.1.2 is published on the public GitHub repo (VariantResearch/hl7guard). It is a patch release: the anonymizer now maps the same identifier to the same fake however it is spelled, and covers identifier fields that previously passed through unchanged, including the GT1 guarantor segment. Paid licenses are on sale through the Stripe checkout links above; support is at [email protected].
- 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.