# `HL7v2.Type.PLN`
[🔗](https://github.com/Balneario-de-Cofrentes/hl7v2/blob/v3.10.1/lib/hl7v2/type/pln.ex#L1)

Practitioner License or Other ID Number (PLN) -- HL7v2 composite data type.

Used to transmit a practitioner's license or other identification number
along with contextual information.

4 components:
1. ID Number (ST) -- the license or ID number
2. Type of ID Number (IS) -- Table 0338: e.g., "MD", "DO", "RN", "DEA"
3. State/Other Qualifying Information (ST) -- jurisdiction, e.g., "CA", "NY"
4. Expiration Date (DT) -- YYYY[MM[DD]]

# `t`

```elixir
@type t() :: %HL7v2.Type.PLN{
  expiration_date: Date.t() | HL7v2.Type.DT.t() | nil,
  id_number: binary() | nil,
  state_other_qualifying_information: binary() | nil,
  type_of_id_number: binary() | nil
}
```

# `encode`

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

Encodes a PLN to a list of component strings.

## Examples

    iex> HL7v2.Type.PLN.encode(%HL7v2.Type.PLN{id_number: "A12345", type_of_id_number: "MD", state_other_qualifying_information: "CA", expiration_date: ~D[2028-12-31]})
    ["A12345", "MD", "CA", "20281231"]

    iex> HL7v2.Type.PLN.encode(%HL7v2.Type.PLN{id_number: "DEA98765", type_of_id_number: "DEA"})
    ["DEA98765", "DEA"]

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

# `parse`

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

Parses a PLN from a list of components.

## Examples

    iex> HL7v2.Type.PLN.parse(["A12345", "MD", "CA", "20281231"])
    %HL7v2.Type.PLN{id_number: "A12345", type_of_id_number: "MD", state_other_qualifying_information: "CA", expiration_date: ~D[2028-12-31]}

    iex> HL7v2.Type.PLN.parse(["DEA98765", "DEA"])
    %HL7v2.Type.PLN{id_number: "DEA98765", type_of_id_number: "DEA"}

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
