HL7v2.Type.CCD (HL7v2 v3.10.1)

Copy Markdown View Source

Charge Code and Date (CCD) -- HL7v2 composite data type.

Specifies when a charge should be invoked and the associated date/time.

2 components:

  1. Invocation Event (ID) -- Table 0100: e.g., "D" (on discharge), "O" (on order), "R" (at time of service), "S" (at time of service)
  2. Date/Time (TS) -- when the charge applies

Summary

Functions

Encodes a CCD to a list of component strings.

Parses a CCD from a list of components.

Types

t()

@type t() :: %HL7v2.Type.CCD{
  date_time: HL7v2.Type.TS.t() | nil,
  invocation_event: binary() | nil
}

Functions

encode(ccd)

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

Encodes a CCD to a list of component strings.

Examples

iex> HL7v2.Type.CCD.encode(%HL7v2.Type.CCD{invocation_event: "D"})
["D"]

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

parse(components)

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

Parses a CCD from a list of components.

Examples

iex> HL7v2.Type.CCD.parse(["D", "20260101120000"])
%HL7v2.Type.CCD{invocation_event: "D", date_time: %HL7v2.Type.TS{time: %HL7v2.Type.DTM{year: 2026, month: 1, day: 1, hour: 12, minute: 0, second: 0}}}

iex> HL7v2.Type.CCD.parse(["O"])
%HL7v2.Type.CCD{invocation_event: "O"}

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