HL7v2.Type.MOC (HL7v2 v3.10.1)

Copy Markdown View Source

Money and Charge Code (MOC) -- HL7v2 composite data type.

Used to convey a monetary amount together with a charge code.

2 components:

  1. Monetary Amount (MO) -- sub-components delimited by &
  2. Charge Code (CE) -- sub-components delimited by &

Summary

Functions

Encodes a MOC to a list of component strings.

Parses a MOC from a list of components.

Types

t()

@type t() :: %HL7v2.Type.MOC{
  charge_code: HL7v2.Type.CE.t() | nil,
  monetary_amount: HL7v2.Type.MO.t() | nil
}

Functions

encode(moc)

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

Encodes a MOC to a list of component strings.

Examples

iex> HL7v2.Type.MOC.encode(%HL7v2.Type.MOC{monetary_amount: %HL7v2.Type.MO{quantity: "150.00", denomination: "USD"}})
["150.00&USD"]

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

parse(components)

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

Parses a MOC from a list of components.

Examples

iex> HL7v2.Type.MOC.parse(["150.00&USD", "99213&Office Visit&CPT4"])
%HL7v2.Type.MOC{
  monetary_amount: %HL7v2.Type.MO{quantity: "150.00", denomination: "USD"},
  charge_code: %HL7v2.Type.CE{identifier: "99213", text: "Office Visit", name_of_coding_system: "CPT4"}
}

iex> HL7v2.Type.MOC.parse(["150.00&USD"])
%HL7v2.Type.MOC{monetary_amount: %HL7v2.Type.MO{quantity: "150.00", denomination: "USD"}}

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