How krushnamajhi/hl7-dotnetcore works
HL7-dotnetcore is a lightweight .NET library for constructing, parsing, inspecting, modifying, and serializing HL7 2.x messages; it does not provide transport or version-specific conformance validation. The principal workflow is a caller supplying a message to Message, which parses it into nested segment/field/component data for access and edits, then serializes it again. The README also documents MLLP frame extraction and ACK/NACK generation. The graph reflects the sampled implementation; some Message operations are only partially excerpted, so uncertain internal call paths are omitted.
Main entry points: MessageHelper.cs MessageHelper · Message.cs Message · Field.cs Field · Segment.cs Segment
Components 13
Message API
- Message
src/Message.cs - ACK / NACK
src/Message.cs
Message Model
- Segment
src/Segment.cs - Field
src/Field.cs - Component
src/Component.cs - SubComponent
src/SubComponent.cs - MessageElement
src/MessageElement.cs - Element collections
src/FieldCollection.cs
Encoding Utilities
- HL7Encoding
src/Encoding.cs - MessageHelper
src/MessageHelper.cs - HL7Exception
src/HL7Exception.cs
Other components
- Library caller
- MLLP frame source
Connections 23
- Library caller → Message: supplies message
- Message → Segment: parses segments
- Message → Segment: serializes segments
- Message → MessageHelper: splits message
- Message → HL7Encoding: evaluates delimiters
- Message → ACK / NACK: creates response
- Segment → Field: parses fields
- Segment → MessageHelper: splits fields
- Field → Component: parses components
- Field → Field: parses repetitions
- Field → MessageHelper: splits values
- Component → SubComponent: parses subcomponents
- Component → MessageHelper: splits values
- Component → HL7Encoding: decodes values
- Segment → Element collections: stores fields
- Field → Element collections: stores components
- Library caller → MessageHelper: extracts MLLP
- MLLP frame source → MessageHelper: provides frames
- MessageHelper → Library caller: returns messages
- Library caller → MessageHelper: frames message
- MessageHelper → Library caller: returns bytes
- Library caller → Message: accesses or edits
- Message → Library caller: returns serialization