HL7v2.Type.FN (HL7v2 v3.10.1)

Copy Markdown View Source

Family Name (FN) -- HL7v2 sub-component composite type.

Used as component 1 of XPN (Extended Person Name). Contains 5 sub-components delimited by & when embedded in a composite field.

Sub-components:

  1. Surname (ST) -- required
  2. Own Surname Prefix (ST)
  3. Own Surname (ST)
  4. Surname Prefix From Partner/Spouse (ST)
  5. Surname From Partner/Spouse (ST)

Summary

Functions

Encodes a family name to a list of sub-component strings.

Parses a family name from a list of sub-components.

Types

t()

@type t() :: %HL7v2.Type.FN{
  own_surname: binary() | nil,
  own_surname_prefix: binary() | nil,
  surname: binary() | nil,
  surname_from_partner: binary() | nil,
  surname_prefix_from_partner: binary() | nil
}

Functions

encode(fn_type)

@spec encode(t() | nil) :: list()

Encodes a family name to a list of sub-component strings.

Examples

iex> HL7v2.Type.FN.encode(%HL7v2.Type.FN{surname: "Smith"})
["Smith"]

iex> HL7v2.Type.FN.encode(%HL7v2.Type.FN{surname: "Smith", own_surname_prefix: "Van"})
["Smith", "Van"]

iex> HL7v2.Type.FN.encode(nil)
[]

parse(components)

@spec parse(list()) :: t()

Parses a family name from a list of sub-components.

Examples

iex> HL7v2.Type.FN.parse(["Smith"])
%HL7v2.Type.FN{surname: "Smith"}

iex> HL7v2.Type.FN.parse(["Smith", "Van"])
%HL7v2.Type.FN{surname: "Smith", own_surname_prefix: "Van"}

iex> HL7v2.Type.FN.parse([])
%HL7v2.Type.FN{}