Expand description
§hl7v2
Canonical Rust API for HL7 v2 parsing, writing, validation, transport, acknowledgement, normalization, and generation.
The implementation lives in this crate as focused modules. Public Rust
consumers should depend on this crate and import through hl7v2.
§Quick start
use hl7v2::{get, parse};
let msg = parse(b"MSH|^~\\&|App||Fac||20250128||ADT^A01|123|P|2.5.1\rPID|1||PAT123||Doe^John\r").unwrap();
assert_eq!(get(&msg, "PID.5.1"), Some("Doe"));§Features
json- JSON serialization helpers.profile- profile loading and conformance validation.ack- ACK message generation.normalize- message normalization.batch- batch parsing and writing helpers.stream- streaming/event-based parser.network- async MLLP client/server.synthetic- template, faker, corpus, and generation APIs.redact- redaction helpers.lifecycle- lifecycle and archive metadata helpers.experimental-guard- experimental guard/anomaly detection APIs.
Re-exports§
pub use escape::escape_text;pub use escape::needs_escaping;pub use escape::needs_unescaping;pub use escape::unescape_text;pub use model::Atom;pub use model::Batch;pub use model::Comp;pub use model::Delims;pub use model::Error;pub use model::Field;pub use model::FileBatch;pub use model::Message;pub use model::Presence;pub use model::Rep;pub use model::Segment;pub use parser::parse;pub use parser::parse_batch;pub use parser::parse_file_batch;pub use parser::parse_mllp;pub use query::path::Path;pub use query::path::parse_path;pub use query::get;pub use query::get_presence;pub use transport::mllp::MLLP_END_1;pub use transport::mllp::MLLP_END_2;pub use transport::mllp::MLLP_START;pub use transport::mllp::MllpFrameIterator;pub use transport::mllp::find_complete_mllp_message;pub use transport::mllp::is_mllp_framed;pub use transport::mllp::unwrap_mllp;pub use transport::mllp::unwrap_mllp_owned;pub use transport::mllp::wrap_mllp;pub use writer::to_json;pub use writer::to_json_string;pub use writer::to_json_string_pretty;pub use writer::write;pub use writer::write_batch;pub use writer::write_file_batch;pub use writer::write_mllp;pub use normalize::normalize;pub use ack::AckCode;pub use ack::ack;pub use ack::ack_with_error;pub use conformance::profile::ExpectedReportComparison;pub use conformance::profile::Profile;pub use conformance::profile::ProfileExplainConstraint;pub use conformance::profile::ProfileExplainDatatypeRule;pub use conformance::profile::ProfileExplainExpressionGuardrails;pub use conformance::profile::ProfileExplainLengthRule;pub use conformance::profile::ProfileExplainLintSummary;pub use conformance::profile::ProfileExplainReport;pub use conformance::profile::ProfileExplainReportV2;pub use conformance::profile::ProfileExplainRequiredField;pub use conformance::profile::ProfileExplainRule;pub use conformance::profile::ProfileExplainRules;pub use conformance::profile::ProfileExplainSegment;pub use conformance::profile::ProfileExplainSummary;pub use conformance::profile::ProfileExplainTable;pub use conformance::profile::ProfileExplainValueSet;pub use conformance::profile::ProfileFixtureExpectation;pub use conformance::profile::ProfileLintIssue;pub use conformance::profile::ProfileLintReport;pub use conformance::profile::ProfileLintReportV2;pub use conformance::profile::ProfileLintSeverity;pub use conformance::profile::ProfileTestCaseReport;pub use conformance::profile::ProfileTestReport;pub use conformance::profile::ProfileTestReportV2;pub use conformance::profile::explain_profile;pub use conformance::profile::lint_profile_yaml;pub use conformance::profile::load_profile;pub use conformance::profile::load_profile_checked;pub use conformance::profile::run_profile_fixture_tests;pub use conformance::profile::validate;pub use conformance::validation::Issue;pub use conformance::validation::Severity;pub use conformance::validation::ValidationReport;pub use conformance::validation::ValidationReportIssue;pub use conformance::validation::ValidationReportProfileIdentity;pub use conformance::validation::ValidationReportSeverity;pub use conformance::validation::ValidationReportV2;
Modules§
- ack
- HL7 v2 ACK (Acknowledgment) message generation.
- conformance
- Profile, datatype, and validation APIs.
- escape
- HL7 v2 escape sequence handling.
- model
- Core data model for HL7 v2 messages.
- normalize
- HL7 v2 message normalization.
- parser
- HL7 v2 message parser.
- query
- HL7 v2 path-based field access and query functionality.
- transport
- HL7 v2 transport helpers.
- writer
- HL7 v2 message writer/serializer.