07 · Bill
The claim grows as you bill. It is not assembled afterwards from memory.
Everything below elaborates this sentence.
Why this stop exists
Everything done to the patient becomes a line under the visit. The claim is built server-side as you go, so a line can be refused at the moment it is added rather than at submission.
This is an interchange. The eTIMS branch leaves the rail here, carrying the tax invoice and the patient's own share.
Add a bill line
Charge under an authorized service line. Name the line via service_line_ref; the payer
answers with what it covers and the patient's copay.
bill_line_refA bill line is payer-first: the rail sets the charge on the payer's system, and the
payer's answer — the covered amount and the patient's copay — is what gets persisted. The
line names a service_line_ref (from 04 · Visit), and through it the
cover, so the charge and the authorization it draws down cannot be paired inconsistently.
Code
code + nameamountthe payer's answerThe covered and owed amounts are the payer's, never computed here. A refused line comes back
not-billable with the payer's verdict relayed; an unreachable payer keeps the charge
planned and answers PAYER_UNREACHABLE (502), safe to retry.
Lines that wait
An item requiring preauthorisation comes back held with next_action: preauth_pending
instead of none. It sits visibly on the bill while every other line proceeds. Approval at
the previous stop releases it without touching the rest of the invoice.
Show held lines in your billing UI. A biller who cannot see what is waiting will assume it failed and add it again.
Combination rules run per line
Some codes cannot sit on the same visit together. The check runs on every add-line call, so the biller finds out at once:
Code
Order matters. A set of lines that is legal in one order can be refused in another, so where your workflow permits, ask before adding rather than adding and handling the refusal.
Documents travel with the line
Attach documents as they are captured rather than in a scramble at the end. The
requiredDocuments list you read at eligibility is what pre-flight checks by name at Submit.
Attach a document against the visit, keyed by the document type the item requires.
Accommodation and level changes
The platform generates per-diem lines itself: days multiplied by the correct tariff. Your own day count is a cross-check rather than the source. The day of admission is day one whatever the hour, and the counter increments at midnight.
When a patient moves between levels of care, the old line is retired and a new one starts, rather than being edited in place:
Move a per-diem line to a different level of care from a point in time.
Nothing is ever deleted. A wrong line is retired with a reason and a fresh one created, so the audit trail behind a benefit's balance survives every correction.
The price is not always the gazetted tariff
The level tariff you read at eligibility is only the default. Where a facility has a negotiated contract with a payer, the negotiated rate applies instead. It is the largest pricing error an integrator can make today without noticing, because a wrongly priced line looks no different from a correct one.
The price that actually applies: the gazetted level tariff, or the negotiated rate where a contract exists.
Read source before you read the number. It takes three values, and each one means something
different for your pricing:
| Call | What it does | What you keep |
|---|---|---|
GAZETTED | The published level tariff applies. What you read on the procedure is what you bill. | applicable_tariff |
NEGOTIATED | This facility has a contract for this scheme, and the level rule does not apply. Quoting the gazetted figure underbills or overbills every line. | applicable_tariff, contract_reference |
BILL_TO_BALANCE | Public-officer covers can be billed above the tariff, against the member's balance. The tariff is not a ceiling here. | applicable_tariff, balance |
What a facility level may bill at all
Level decides more than price. Some work cannot be billed at some levels at all, and the refusal arrives at the line rather than when the item is chosen.
| Call | What it does | What you keep |
|---|---|---|
Level 2 | Primary care, basic laboratory, maternity and outpatient public-officer services only. No per diem, no dialysis, no major surgery. | — |
Level 3 and above | Per diem becomes billable. | — |
Level 4 and above | Dialysis becomes billable. | — |
Levels 5 and 6 | Emergency-fund claims can only be started here. | — |
Level 6 | Everything except primary care. | — |
Read the level from the facility registry rather than storing it, and filter what you offer by it. A picker that lists dialysis at a level 3 site produces a rejection, after a clinician has already spent time on it.
Per diem counts days, and the rules are strict
Per diem has its own arithmetic rather than being a daily version of fee-for-service, and most of the mistakes are in the counting.
- 01Day of admission is day oneRegardless of the time of day. A patient admitted at 23:40 has used a day.
- 02The counter increments at midnightNot on a rolling 24 hours. Two calendar days is two days even if it is ten hours.
- 03Same-day admission and discharge is rejectedThere is no zero-night per-diem claim. If the stay did not cross midnight, it is not this payment mechanism.
- 04Per diem cannot be mixed with a surgical packageChoose one. The combination is refused, and the refusal names codes rather than mechanisms.
- 05A per-diem line cannot be removed once addedCorrecting it means correcting the visit, not deleting the line. Add it deliberately.
Length-of-stay caps are per benefit, and some are per household per year rather than per visit, so a relative's admission can shorten what this patient may claim.
Surgery carries a global period
A surgical claim covers a window of care rather than a single act, and inside that window some rebates cannot be billed at all.
| Call | What it does | What you keep |
|---|---|---|
Minor surgery | One night | global period |
Major surgery | Three nights | global period |
Specialised surgery | Seven nights | global period |
Inside the global period, medical inpatient, critical care, mental health and palliative rebates cannot be billed. Beyond it, further nights are billed at the gazetted rebate rate and the admission has to be updated to a complication. Admission, procedure and discharge dates are all required on a surgical claim.
Two things can still be claimed separately: an unplanned return to theatre, and care unrelated to the original procedure. The claim has to be able to tell them apart, so do not fold either one into the original line.
Money is held as you bill
| Call | What it does | What you keep |
|---|---|---|
held | Committed against the benefit, visible on the working ledger | reservation_id |
consumed | The claim was submitted, so the hold became actual spend | — |
released | The line was retired or the visit cancelled, and the amount went back to the benefit | — |
expired | The reservation outlived its maximum age | — |
Every line carries its scheme code
A claim line is billed against a fund, and the scheme code on the line is what routes it there. Lines on one visit can legitimately carry different scheme codes, because a member's covers differ by benefit and the cover can be chosen per item.
Treat it as required on every line rather than as an override you occasionally set. A missing or wrong scheme code routes the line to the wrong fund, and comes back looking like an assessment dispute rather than a routing mistake.
Diagnoses, prescriptions and switching
These three rules reject claims and are easy to miss.
| Call | What it does | What you keep |
|---|---|---|
One primary diagnosis per procedure | Not one per claim. A standard claim needs at least one primary diagnosis against each procedure, and duplicate codes on the same claim are rejected. | the diagnosis per line |
Primary care takes exactly one | Two primary diagnoses on a primary care claim is a rejection, and the diagnosis catalogue is filtered to primary-care-applicable codes for those claims. | — |
Prescriptions come from the national catalogue | Dispensed quantity cannot exceed prescribed quantity, and some visit types exclude prescriptions entirely. | the catalogue code |
Switching between levels of care is priced per period. Moving a patient from inpatient to critical care and back, or inpatient to palliative, is allowed, and each period is priced at its own tariff rather than the whole stay at the higher one.
What breaks here
| Where it surfaces | What the desk sees | What actually went wrong |
|---|---|---|
| Bill | "The line was refused and the codes look fine individually" | A combination rule. The conflict is with another line already on the visit, and the message names both. |
| Bill | "The price came back different from our price list" | The rail resolves pricing from tariff, facility level and cover rather than from what you sent. Your price list is for your own invoice, not this one. |
| Bill | "We cannot edit the accommodation line" | Per-diem lines are retired through a level change, never edited. Editing is not a supported operation. |
| Submit | "Unmapped code" | The item was never declared in mapping, so it has no path to a payer revenue code. Anything undeclared stays off the claim entirely. |
| Where it surfaces | What the desk sees | What actually went wrong |
|---|---|---|
| Reconciliation | "Every line at this facility is paid at a different amount than we billed" | A negotiated contract exists and the gazetted level tariff was used. Read source from the tariff call before pricing anything. |
| Reconciliation | "We under-recovered on the public-officer covers" | Lines were clamped to the tariff. On those covers the balance is the ceiling, not the tariff. |
| Bill | "Dialysis was refused and the code is right" | Facility level. Dialysis is level 4 and above; per diem is level 3 and above. The picker offered something the site cannot bill. |
| Bill | "The per-diem claim was rejected for a same-day discharge" | There is no zero-night per diem. The day of admission is day one and the counter moves at midnight. |
| Bill | "We cannot bill the ICU days inside the surgical window" | Global period. Critical care, medical inpatient, mental health and palliative rebates are excluded for one, three or seven nights depending on the surgery. |
Errors
| HTTP | error | When |
|---|---|---|
| 422 | UNMAPPED_CODE | The code does not resolve to a live, mapped item. |
| 422 | INVALID_CODE_COMBINATION | The line conflicts with another active line. |
| 409 | LINE_NOT_RETIRABLE | Retire attempted on a per-diem line outside a level change. |
| 409 | RESERVATION_EXCEEDED | The amount exceeds what is available at the moment of the call. |
The branch leaves here
Billing produces obligations the payer never sees: the tax invoice, and whatever the patient pays themselves. Those leave the rail at this stop:
- Invoice · eTIMS, for sending the tax invoice to KRA
- Collect · Slade Advantage, for taking the patient's share
Next
Next: 08 · Submit

