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

Occurrence Code and Date (OCD) -- HL7v2 composite data type.

Links a UB occurrence code to its date for billing segments (UB2-7).

2 components:
1. Occurrence Code (CNE) -- sub-components, Table 0350
2. Occurrence Date (DT) -- YYYY[MM[DD]]

# `t`

```elixir
@type t() :: %HL7v2.Type.OCD{
  occurrence_code: HL7v2.Type.CNE.t() | nil,
  occurrence_date: Date.t() | HL7v2.Type.DT.t() | nil
}
```

# `encode`

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

Encodes an OCD to a list of component strings.

## Examples

    iex> HL7v2.Type.OCD.encode(%HL7v2.Type.OCD{occurrence_code: %HL7v2.Type.CNE{identifier: "01"}, occurrence_date: ~D[2026-01-15]})
    ["01", "20260115"]

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

# `parse`

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

Parses an OCD from a list of components.

## Examples

    iex> HL7v2.Type.OCD.parse(["01&Accident&NUBC", "20260115"])
    %HL7v2.Type.OCD{
      occurrence_code: %HL7v2.Type.CNE{identifier: "01", text: "Accident", name_of_coding_system: "NUBC"},
      occurrence_date: ~D[2026-01-15]
    }

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

---

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