core.hl7message | Medplum

Hl7Message class

The Hl7Message class represents one HL7 message. A message is a collection of segments.

Signature:

export declare class Hl7Message

Constructors

Constructor Modifiers Description
(constructor)(segments, context) Creates a new HL7 message.
Segment strings are not parsed until they are accessed via Hl7Message.getSegment(), Hl7Message.getAllSegments(), Hl7Message.header, or the Hl7Message.segments getter.

Properties

Property Modifiers Type Description
context readonly Hl7Context
header readonly Hl7Segment Returns the HL7 message header.
segments readonly Hl7Segment Returns all HL7 segments, parsing any unparsed segment strings on first access.
Prefer Hl7Message.getSegment() or Hl7Message.getAllSegments() when you only need a subset of segments; those methods avoid parsing unrelated segments.

Methods

Method Modifiers Description
buildAck(options) Returns an HL7 "ACK" (acknowledgement) message for this message.
get(index) Returns an HL7 segment by index or by name.
getAckType() Returns this message's acknowledgment code (MSA-1), if it is a recognized HL7 ACK code.
Useful on an ACK message to decide the outcome of the acknowledged message — e.g. AA/CA (accepted) vs AR/CR (rejected) vs AE/CE (error). The value is upper-cased before matching. Returns undefined when there is no MSA segment, MSA-1 is empty, or the value is not a known AckCode.
getAll(name) Returns all HL7 segments of a given name.
getAllSegments(name) Returns all HL7 segments of a given name.
Only the segments that match the requested name are parsed, which avoids parsing unrelated segments when scanning a message.
getSegment(index) Returns an HL7 segment by index or by name.
When using a numeric index, the first segment (usually the MSH header segment) is at index 0.
When using a string index, this method returns the first segment with the specified name.
Segments are lazily parsed; the requested segment is parsed and cached on demand.
parse(text) static Parses an HL7 message string into an Hl7Message object.
setSegment(index, segment) Sets or replaces a segment at the specified index. Only allows MSH header to be replaced as first segment. If index is a number and is larger than the length of the segments array, it will be appended as the last segment. If the index is a string, replaces the first segment with that name.
toString() Returns the HL7 message as a string.
Unparsed segments are emitted directly from their original string form, which preserves the source text without forcing a parse.