Money and Charge Code (MOC) -- HL7v2 composite data type.
Used to convey a monetary amount together with a charge code.
2 components:
- Monetary Amount (MO) -- sub-components delimited by
& - Charge Code (CE) -- sub-components delimited by
&
Summary
Types
@type t() :: %HL7v2.Type.MOC{ charge_code: HL7v2.Type.CE.t() | nil, monetary_amount: HL7v2.Type.MO.t() | nil }
Functions
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)
[]
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{}