Calculate Rebate

View as Markdown
Runs a single, combined **patient verification** and **per-item rebate calculation** for up to 50 MBS items. Behind the scenes this call orchestrates three services: - **Medicare Patient Verification** — confirms patient identity against Medicare. - **Medicare Online Eligibility Check (OECW)** — asks Medicare whether benefit is payable. - **RebateRight Rules Engine** — applies MBS rules (age / sex restrictions, referrer specialty, coning, in-hospital vs out-of-hospital, frequency limits, etc.) and returns a plain-language reason. ## 📑 Response shape - **`PatientVerification`** — `null` when no identity check ran (e.g. request failed RebateRight-side validation). Otherwise describes the Medicare patient-verification outcome; when Medicare corrects a detail (name, DOB, card number, etc.) the corrected value is echoed on the matching `Correct…` field. - **`Rebates`** — one entry per submitted item, in request order. `IsEligible` is **tri-state**: `true` (eligible), `false` (not eligible), `null` (cannot determine — usually a missing dependency like `ReferrerProviderNumber`). - **`Reason`** — top-level summary; mirrors `PatientVerification.Reason` when the patient check ran. Every `Reason` string is prefixed with **`[RebateRight]`** (rules-engine output) and/or **`[Medicare]`** (passthrough from Medicare) so integrators can attribute each sentence to its source. ## 💰 Amounts are dollar strings `Benefit` and `ItemScheduleFee` are returned as **decimal strings in dollars** (for example `"20.05"`) — **not** cents. This is distinct from RebateRight's Bulk Bill reports, which report amounts in cents. ## 📏 Request limits Up to **50 items** per request, grouped into up to **16 medical events** (via `MedicalEventId`) with up to **14 items per event**.

Authentication

x-api-keystring
API Key authentication via header
x-minor-idstring
API Key authentication via header

Request

This endpoint expects an object.
InHospitalTreatmentbooleanRequired

Whether the service is provided to an in-hospital patient. Drives the in-hospital vs out-of-hospital rebate percentage and several MBS restriction rules.

PatientDateOfBirthdateRequired

Patient date of birth (YYYY-MM-DD). Cannot be a future date or more than 130 years in the past.

PatientFamilyNamestringRequired
Patient family name as it appears on the Medicare card.
PatientGivenNamestringRequired
Patient first given name as it appears on the Medicare card.
PatientSexenumRequired
Patient sex (Services Australia coding). | Code | Meaning | |---|---| | `1` | Male | | `2` | Female | | `3` | Other | | `9` | Not stated / inadequately described |
Allowed values:
PatientMedicareNumberstringRequired

Patient’s 10-digit Medicare card number.

PatientMedicareRefNumberstringRequired

Individual Reference Number (IRN) from the patient’s Medicare card — a single digit identifying the family member.

ServicingProviderNumberstringRequired
Provider number of the health professional who performs the service.
PrincipalProviderNumberstringRequired

Provider number of the practice / principal provider the service is billed under. Often the same as ServicingProviderNumber.

MedicareItemslist of objectsRequired

MBS items to evaluate. Up to 50 items total, grouped into up to 16 medical events (via MedicalEventId) with up to 14 items per event.

DateOfServicedateOptional

Date the service was / will be performed (YYYY-MM-DD). Defaults to today when omitted. Cannot be in the future or more than 2 years in the past.

BulkBilledbooleanOptional

Optional. Indicates the service will be bulk-billed. Used only by rules that differ between bulk-bill and non-bulk-bill scenarios.

ReferrerProviderNumberstringOptional

Referring provider’s Medicare provider number. Required when any requested item has a referrer restriction; omit it and the affected items will come back with a null IsEligible and a Reason explaining that the referrer could not be validated.

Response

OK
PatientVerificationobject or null

Medicare patient-verification outcome, or null when no identity check ran (typically because the request failed RebateRight-side validation).

Rebateslist of objects

One entry per submitted item, in the same order as MedicareItems. Empty when the request failed RebateRight-side validation.

Reasonstring

Top-level summary reason. Mirrors PatientVerification.Reason when the identity check ran; on validation failure, describes the specific field / rule that failed (prefixed [RebateRight]).