HL7v2.Path (HL7v2 v3.10.1)

Copy Markdown View Source

Represents a validated HL7v2 path.

Created by the ~h sigil at compile time or by HL7v2.Path.parse/1 at runtime. Pass to HL7v2.get/2 or HL7v2.fetch/2 for resolution.

Path Syntax

"PID"           segment
"PID-5"         field 5
"PID-5.1"       component 1 of field 5
"PID-3[2]"      repetition 2 of field 3
"OBX[*]-5"      field 5 from ALL OBX segments (returns list)
"OBX[2]-5"      field 5 from the 2nd OBX segment
"PID-3[*]"      ALL repetitions of PID-3 (returns list)

Summary

Functions

Parses a path string at runtime, returning {:ok, path} or {:error, :invalid_path}.

Types

t()

@type t() :: %HL7v2.Path{
  component: pos_integer() | nil,
  field: pos_integer() | nil,
  raw: binary(),
  repetition: pos_integer() | nil,
  segment: binary(),
  segment_index: pos_integer() | :all | nil
}

Functions

parse(path)

@spec parse(binary()) :: {:ok, t()} | {:error, :invalid_path}

Parses a path string at runtime, returning {:ok, path} or {:error, :invalid_path}.

Prefer the ~h sigil for compile-time validation when the path is a literal.