Skip to content

Oscar Billing Status Extension

Canonical../StructureDefinition/oscar-billing-status-extension
Statusdraft · 1.26.0
BaseExtension (constraint)
ContextInvoice (element)
SourceFSH · JSON

Raw Oscar Pro billing status code (H|O|P|N|W|B|S|X|D|I) from billing_on_cheader1.status. FHIR's required Invoice.status binding cannot carry the full Oscar enum; this extension preserves round-trip fidelity.

FSH

The authored source of truth: extensions/OscarBillingStatusExtension.fsh (edit on GitHub). One FSH file may define several related artifacts.

// OscarBillingStatusExtension.fsh
// Carries the raw Oscar Pro billing_on_cheader1.status code on Invoice resources
// so the 10-code Oscar enum survives the round-trip through FHIR (where Invoice.status
// has a required binding to FHIR's 5-value InvoiceStatus set).

Extension: OscarBillingStatusExtension
Id: oscar-billing-status-extension
Title: "Oscar Billing Status Extension"
Description: "Raw Oscar Pro billing status code (H|O|P|N|W|B|S|X|D|I) from billing_on_cheader1.status. FHIR's required Invoice.status binding cannot carry the full Oscar enum; this extension preserves round-trip fidelity."
* ^url = "../StructureDefinition/oscar-billing-status-extension"
* ^status = #draft
* ^date = "2026-04-21"
* ^publisher = "WELLSTAR Technologies Corp."
* ^contact.name = "Nexus EMR FHIR Implementation Guide"
* ^contact.telecom.system = #url
* ^contact.telecom.value = ".."
* ^jurisdiction = urn:iso:std:iso:3166#CA "Canada"
* ^context[0].type = #element
* ^context[0].expression = "Invoice"
* . ^short = "Raw Oscar billing status code"
* . ^definition = """
The raw Oscar Pro billing status code as stored in `billing_on_cheader1.status`. Values:

- `H` = Capitated (FHO/FHN shadow bill)
- `O` = Bill OHIP (FFS)
- `P` = Bill Patient
- `N` = Do Not Bill
- `W` = Bill Worker's Compensation Board
- `B` = Submitted OHIP
- `S` = Settled
- `X` = Bad Debt
- `D` = Deleted Bill
- `I` = Bonus Codes

Used in combination with (not instead of) FHIR `Invoice.status` to preserve Oscar's richer status semantics.
"""
* extension 0..0
* url 1..1
* value[x] 1..1 MS
* value[x] only code
* valueCode from OscarBillingStatusVS (required)
* valueCode ^short = "Raw Oscar billing status code (one of the 10 codes in OscarBillingStatusCS)"

// ValueSet for the 10 Oscar billing status codes
ValueSet: OscarBillingStatusVS
Id: oscar-billing-status-vs
Title: "Oscar Billing Status Value Set"
Description: "The 10 raw Oscar Pro billing_on_cheader1.status codes."
* ^status = #active
* ^experimental = false
* ^url = "../ValueSet/oscar-billing-status-vs"
* include codes from system OscarBillingStatusCS

CodeSystem: OscarBillingStatusCS
Id: oscar-billing-status-cs
Title: "Oscar Billing Status Code System"
Description: "Raw Oscar Pro billing_on_cheader1.status codes (the BillingStatus Java enum at ca.kai.billing.header.BillingONCHeader1)."
* ^url = "../CodeSystem/oscar-billing-status-cs"
* ^status = #active
* ^experimental = false
* ^caseSensitive = true
* ^content = #complete
* #H "Capitated" "FHO/FHN shadow bill — capitation payment, no FFS invoice expected"
* #O "Bill OHIP" "Fee-for-service claim to be submitted to OHIP"
* #P "Bill Patient" "Bill patient directly (third-party / private)"
* #N "Do Not Bill" "Billing explicitly suppressed"
* #W "Bill WCB" "Bill Worker's Compensation Board"
* #B "Submitted OHIP" "Claim submitted to OHIP, awaiting adjudication"
* #S "Settled" "Payment received and reconciled"
* #X "Bad Debt" "Unrecoverable; written off"
* #D "Deleted Bill" "Bill deleted (soft delete)"
* #I "Bonus Codes" "Bonus / incentive code submission (no regular billing)"