Skip to main content

Crate hl7v2

Crate hl7v2 

Source
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.