News
News
Announcements, project status, where updates appear, and press contacts. Not a changelog: this is what is worth telling someone who is not reading diffs.
Status at a glance
| First published | 2026-08-15; the workspace was assembled 2026-08-19 |
|---|---|
| Crates | Three, versioned and published independently |
| Maturity | 0.x. New, and the API may still break in a minor bump. |
| Maintainers | One. The bus factor is stated plainly in MAINTAINERS.md. |
| Scope | The ER7 pipe-hat encoding. Not validation, not a typed segment model, not a transport, not the HL7® FHIR® standard. |
| Runtime dependencies | er7 zero, er7-redact one, serde-er7 two |
| Rust | Current stable minus three releases; today 1.95 |
| License | MIT, Apache-2.0, BSD-3-Clause, GPL-2.0-only, or GPL-3.0-only |
2026-08-26
The HL7 marks, marked
HL7 International lets anyone use its word marks descriptively, and asks three things in return: the ® on a mark’s first use on each page, a disclaimer wherever the marks appear, and Fast Healthcare Interoperability Resources called the “HL7® FHIR® standard”. This project now does all three, everywhere.
Two decisions are visible enough to state. Sample messages, error strings, citation blocks,
and code identifiers are not marked: a ® inside MSH|^~\&|… corrupts the sample, and no HL7 segments is a
diagnostic that gets grepped and asserted, not prose that gets read. And none of it rests on
good intentions — a check in the repository fails the build if a page drifts. See the trademark notice.
2026-08-26
What this project claims, and how to check it
A set of documents that answer what an evaluation actually asks, rather than what a README usually says.
- Benchmarks with their method. Measured figures with confidence intervals, on a named machine and toolchain, from benchmarks anyone can run.
- A comparison that says when to choose something else. Interface engines, HAPI, the other Rust crates, and hand-rolled pipe splitting, in their actual categories — including four cases where one of those is the better answer.
- A statement of who is behind this, and what happens if he is not.
MAINTAINERS.mdinventories every publishing identity, says the bus factor is one, and lists what is missing rather than omitting it. - A disclosure of how the software is built.
AI_STATEMENT.mdstates where AI tooling is used, at what level, under which controls, and with which limitations still standing.
2026-08-23 · er7-redact 0.2.0
A policy states its posture
A redaction policy now says explicitly whether it accepts or rejects by default. Policy::all_but_the_header() rejects every value no rule accepts, keeping MSH intact — the posture to choose when the message is unfamiliar, because the
failure mode of a missed rule is a redacted value rather than a leaked one. This is a breaking change: existing policies must say which posture they
mean.
2026-08-20
Single-value queries stopped walking the whole message
query now returns on first match. Against a 402-segment message that is 85% off a
field lookup and 92% off a subcomponent lookup. Fuzz targets and Criterion benchmarks landed
in the same release, and the minimum supported Rust version — current stable minus three — was
pinned across the workspace.
2026-08-19
Three repositories became one workspace
er7, er7-redact, and serde-er7 were assembled into one
Cargo workspace with their histories preserved. They still version and publish independently;
what they now share is one Cargo.lock, one set of build checks, and one
workspace-level specification holding the policy common to all three.
Where updates appear
| Channel | What arrives there |
|---|---|
| This page | Announcements, written for readers |
| crates.io | Every release, per crate; the authoritative version list |
| GitHub | Commits, issues, and releases. Watch → Releases only is the low-volume subscription. |
CHANGELOG.md | Change-by-change detail |
There is no mailing list and no social account. If one is added, it will be announced here first.
Press and media
Contact: Joel Parker Henderson, joel@joelparkerhenderson.com. Sole maintainer, and the only person who can speak for the project. Please say what you are writing and by when; a same-day reply is likely but not promised.
Available on request: background on HL7 v2 and why a pipe-delimited encoding designed in the 1980s is still the backbone of hospital integration; why de-identifying a message without changing its shape is harder than it looks, and why the shape matters; commentary on memory safety and dependency auditing in health IT; the reasoning behind any design decision in the project, all of which is written down.
Boilerplate, ready to quote
ER7 Rust is an open-source Cargo workspace of three Rust crates for
HL7® v2 messages in the ER7 pipe-hat encoding: er7 parses, queries, edits,
and writes them with zero runtime dependencies; er7-redact removes patient
detail without changing the shape of the message; and serde-er7 carries a
message tree through JSON, YAML, or any other Serde data format. It is
multi-licensed under MIT, Apache-2.0, BSD-3-Clause, GPL-2.0-only, or
GPL-3.0-only, at the user's option, and is maintained by Joel Parker
Henderson. https://er7-rust.github.io Facts a story might need, all checkable
- Three crates, published on crates.io from 2026-08-15.
- Zero runtime dependencies in
er7, enforced by a test that fails if one is added. - A byte-for-byte round trip is a tested guarantee: a message parsed and not modified renders back identically.
- Redaction preserves structure, so a redacted message still reproduces the
bug the original caused — and
--reportprints paths and actions with no values, so the report itself is safe to paste into a ticket. - Five licenses at the user’s option, chosen so that a proprietary vendor and a public-sector project can both adopt it without asking.
- A minimum supported Rust version of current stable minus three, chosen because hospital toolchains are approved on a cycle measured in quarters.
- Benchmarks and their method are published, with the reasons not to over-read them.
What this project will not say
- It is not certified or accredited by anyone. HL7 International has not assessed it. No conformance testing body has assessed it.
- It is not a medical device, and it makes no clinical claim.
- It does not validate messages against the standard’s tables, and never has. A story describing it as a validator would be wrong.
- It has no production track record to cite. It was first published in 2026. Any story implying hospital deployments would be inventing them.
- No benchmark comparison against another library exists, so no “faster than X” claim can be sourced to this project.
- No adoption or download figure will be offered as a success metric. The numbers are public on crates.io and are small, as you would expect of a project this age.
- No example, sample, or screenshot anywhere contains real patient data, and none ever will. Every one is synthetic, by policy.
Trademark
HL7® and FHIR® are registered trademarks of Health Level Seven International. This project implements a published encoding and is independent of, not affiliated with, and not endorsed by HL7 International. Please carry that qualifier in any coverage; a story that implies otherwise would be wrong in a way that matters to a standards body. The full notice is on the trademarks page.
Corrections
If something on this page — or anywhere in this project — stops being true, that is a defect and worth reporting the same way any other defect is. Everything here is written so it can be checked rather than believed, which only works if people check.