Sequence ID (SI) -- HL7v2 primitive data type.
Non-negative integer, range 0-9999. Used as sequential counter within repeating structures (e.g., Set ID fields).
Summary
Functions
@spec encode(non_neg_integer() | binary() | nil) :: binary()
Encodes a sequence ID integer to a string.
Examples
iex> HL7v2.Type.SI.encode(1)
"1"
iex> HL7v2.Type.SI.encode(nil)
""
@spec parse(binary() | nil) :: non_neg_integer() | nil
Parses a sequence ID string into an integer.
Returns nil for empty/nil input. Only valid non-negative integers
are accepted (range 0-9999).
Examples
iex> HL7v2.Type.SI.parse("1")
1
iex> HL7v2.Type.SI.parse("0")
0
iex> HL7v2.Type.SI.parse("9999")
9999
iex> HL7v2.Type.SI.parse("")
nil
iex> HL7v2.Type.SI.parse(nil)
nil