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

Entity Identifier Pair (EIP) -- HL7v2 composite data type.

Used to convey a pair of placer and filler identifiers (e.g., parent order
references in ORC-8 and OBR-29).

2 components:
1. Placer Assigned Identifier (EI) -- sub-components delimited by `&`
2. Filler Assigned Identifier (EI) -- sub-components delimited by `&`

# `t`

```elixir
@type t() :: %HL7v2.Type.EIP{
  filler_assigned_identifier: HL7v2.Type.EI.t() | nil,
  placer_assigned_identifier: HL7v2.Type.EI.t() | nil
}
```

# `encode`

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

Encodes an EIP to a list of component strings.

## Examples

    iex> HL7v2.Type.EIP.encode(%HL7v2.Type.EIP{placer_assigned_identifier: %HL7v2.Type.EI{entity_identifier: "P123", namespace_id: "HOSP"}})
    ["P123&HOSP"]

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

# `parse`

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

Parses an EIP from a list of components.

## Examples

    iex> HL7v2.Type.EIP.parse(["P123&HOSP&2.16.840&ISO", "F456&LAB&2.16.841&ISO"])
    %HL7v2.Type.EIP{
      placer_assigned_identifier: %HL7v2.Type.EI{entity_identifier: "P123", namespace_id: "HOSP", universal_id: "2.16.840", universal_id_type: "ISO"},
      filler_assigned_identifier: %HL7v2.Type.EI{entity_identifier: "F456", namespace_id: "LAB", universal_id: "2.16.841", universal_id_type: "ISO"}
    }

    iex> HL7v2.Type.EIP.parse(["P123"])
    %HL7v2.Type.EIP{placer_assigned_identifier: %HL7v2.Type.EI{entity_identifier: "P123"}}

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

---

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