Packages
hl7v2
2.3.0
3.10.1
3.9.0
3.8.0
3.7.0
3.6.0
3.5.0
3.4.0
3.3.6
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.1.1
3.1.0
3.0.2
3.0.1
3.0.0
2.11.0
2.10.0
2.9.1
2.9.0
2.8.2
2.8.1
2.8.0
2.7.1
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
1.4.6
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.0
1.0.0
0.6.0
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.1.0
Pure Elixir HL7 v2.x toolkit — schema-driven parsing, typed segments, message builder, MLLP transport
Current section
Files
Jump to
Current section
Files
lib/hl7v2/type/tn.ex
defmodule HL7v2.Type.TN do
@moduledoc """
Telephone Number (TN) -- HL7v2 primitive data type.
Deprecated as of v2.3. Retained for backward compatibility with
pre-v2.3 messages. Max 199 characters. Pass-through string storage.
Use XTN for new implementations.
"""
@behaviour HL7v2.Type
@doc """
Parses a telephone number string. Pass-through.
## Examples
iex> HL7v2.Type.TN.parse("(555)555-1234X5678")
"(555)555-1234X5678"
iex> HL7v2.Type.TN.parse("")
nil
iex> HL7v2.Type.TN.parse(nil)
nil
"""
@spec parse(binary() | nil) :: binary() | nil
def parse(nil), do: nil
def parse(""), do: nil
def parse(value) when is_binary(value), do: value
@doc """
Encodes a telephone number. Pass-through.
## Examples
iex> HL7v2.Type.TN.encode("(555)555-1234")
"(555)555-1234"
iex> HL7v2.Type.TN.encode(nil)
""
"""
@spec encode(binary() | nil) :: binary()
def encode(nil), do: ""
def encode(value) when is_binary(value), do: value
end