Occurrence Span Code and Date (OSP) -- HL7v2 composite data type.
Links a UB occurrence span code to a date range for billing segments (UB2-8).
3 components:
- Occurrence Span Code (CNE) -- sub-components, Table 0351
- Occurrence Span Start Date (DT) -- YYYY[MM[DD]]
- Occurrence Span Stop Date (DT) -- YYYY[MM[DD]]
Summary
Types
@type t() :: %HL7v2.Type.OSP{ occurrence_span_code: HL7v2.Type.CNE.t() | nil, occurrence_span_start_date: Date.t() | HL7v2.Type.DT.t() | nil, occurrence_span_stop_date: Date.t() | HL7v2.Type.DT.t() | nil }
Functions
Encodes an OSP to a list of component strings.
Examples
iex> HL7v2.Type.OSP.encode(%HL7v2.Type.OSP{occurrence_span_code: %HL7v2.Type.CNE{identifier: "70"}, occurrence_span_start_date: ~D[2026-01-01], occurrence_span_stop_date: ~D[2026-01-15]})
["70", "20260101", "20260115"]
iex> HL7v2.Type.OSP.encode(nil)
[]
Parses an OSP from a list of components.
Examples
iex> HL7v2.Type.OSP.parse(["70&Qualifying stay&NUBC", "20260101", "20260115"])
%HL7v2.Type.OSP{
occurrence_span_code: %HL7v2.Type.CNE{identifier: "70", text: "Qualifying stay", name_of_coding_system: "NUBC"},
occurrence_span_start_date: ~D[2026-01-01],
occurrence_span_stop_date: ~D[2026-01-15]
}
iex> HL7v2.Type.OSP.parse([])
%HL7v2.Type.OSP{}