HL7v2.Type.OCD (HL7v2 v3.10.1)

Copy Markdown View Source

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]]

Summary

Functions

Encodes an OCD to a list of component strings.

Parses an OCD from a list of components.

Types

t()

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

Functions

encode(ocd)

@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(components)

@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{}