Crates

Crates

One page per workspace member — 14 of them — with what it does, what it depends on, what its features do, and a tour of its API. Start with hl7 or hl7-2 unless you know otherwise.

Core

The standards themselves, and the umbrella crate that re-exports them.

Transports

Getting messages across a network, and answering them.

Format conversions

ER7 in both directions against both target formats.

Tooling and helpers

The macros, the dictionary builder, and the shared XML reader.

And one crate outside the workspace

er7 is the ER7 encoding layer: delimiters, escapes, paths, byte-for-byte rendering, and batch splitting. It has no dependencies of its own, and it lives in its own repository, in its own organization, rather than in this workspace — because plenty of people want the encoding without the dictionary.

rust
use er7::Message;

// Pipes and carets, with no opinion about what any field means.
let message = er7::parse(text)?;
assert_eq!(message.query("PID-5.1")?.as_deref(), Some("SMITH"));

You rarely add it directly. hl7-2 and the conversion crates re-export what you need, and hl7-2's byte-for-byte round-trip guarantee is really er7's guarantee, kept intact.

All of them, at a glance

CrateLayerVersionDepends onSpecCLI
hl7Core0.1.1hl7-2, hl7-3
hl7-2Core0.2.3er7yeshl7-v2
hl7-3Core0.1.3hl7-2-xml-lite-helperyes
hl7-2-mllpTransports0.1.3hl7-2 (feature `ack`), chrono (feature `clock`)yes
hl7-2-soapTransports0.1.1hl7-2-xml-lite-helperyes
hl7-3-soapTransports0.1.1hl7-2-xml-lite-helperyes
hl7-2-from-er7-into-xmlFormat conversions0.6.0er7, hl7-2yeshl7-2-from-er7-into-xml
hl7-2-from-xml-into-er7Format conversions0.6.0er7, hl7-2-xml-lite-helperyeshl7-2-from-xml-into-er7
hl7-2-from-er7-into-jsonFormat conversions0.4.2er7yeshl7-2-from-er7-into-json
hl7-2-from-json-into-er7Format conversions0.4.2er7yeshl7-2-from-json-into-er7
hl7-2-deriveTooling and helpers0.1.3syn, quote
hl7-3-deriveTooling and helpers0.1.1syn, quote
hl7-2-from-xsd-into-json-dictionaryTooling and helpers0.1.1hl7-2-xml-lite-helperyeshl7-2-from-xsd-into-json-dictionary
hl7-2-xml-lite-helperTooling and helpers0.1.1yes

Versions are the latest published at the time of writing, shown so you can gauge how settled a crate is — not as a constraint to copy. See Versions and compatibility, and Architecture for why the seams fall where they do.