openapi: 3.1.0
info:
  title: RebateRight API
  version: 1.0.0
paths:
  /MedicareItems/{itemNumber}:
    get:
      operationId: Get MBS Item
      summary: Get MBS Item
      description: >-
        This endpoint retrieves detailed information about a specific MBS item using its item number.


        #### 🎨 **How It Works**


        - Sources data from MBS and enriches it with RebateRight details.
            
        - Includes **MBS notes** and additional insights including the **limitation period**, specifying how often an
        item can be claimed within a given timeframe (e.g., **not more than three times in a 12-month period**).


        If the item number is unknown, the API returns **404** with a plain-text body — see the **`404`** example.
      tags:
        - mbs
      parameters:
        - name: itemNumber
          in: path
          required: true
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MBS_Get MBS Item_Response_200'
        '404':
          description: >
            No MBS item exists for the supplied `itemNumber`.


            **Wire format:** `Content-Type: text/plain` (UTF-8). The body is not JSON — it is the raw text shown in the
            example below (captured from `GET /MedicareItems/1` on the local RebateRight environment).


            OpenAPI lists this under `application/json` with `schema: string` so the API explorer can display an
            example; interpret it as the verbatim plain-text body.
          content:
            application/json:
              schema:
                type: string
  /MedicareItems:
    get:
      operationId: Get All MBS Items
      summary: Get All MBS Items
      description: >
        Retrieves the full list of Medicare Benefits Schedule (MBS) items (~6,000 entries), each enriched with
        RebateRight-derived metadata such as MBS notes and the claim-history limitation period.


        Every query parameter is optional. Send none and you get the whole catalogue in one response, with no paging
        fields on the body.


        ## Errors


        A `400` carries a **plain-text** message naming the parameter and what to send instead, not a JSON error
        envelope.


        > 🔍 **Responses below are truncated** to 2 and 3 items so they stay readable. A real call returns every
        matching item, with `ItemsCount` reflecting the true total.
      tags:
        - mbs
      parameters:
        - name: category
          in: query
          description: Return only the items in this MBS category, matching the `Category` field on each item.
          required: false
          schema:
            type: integer
            minimum: 1
        - name: pageNumber
          in: query
          description: >-
            1-based page to return. Send it with `pageSize`; one without the other returns `400`. A page starting past
            the last item returns an empty `MedicareItems` array, not an error.
          required: false
          schema:
            type: integer
            minimum: 1
        - name: pageSize
          in: query
          description: >-
            Number of items per page. Send it with `pageNumber`. There is no upper limit, so you can trade request count
            against response size.
          required: false
          schema:
            type: integer
            minimum: 1
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. The full MBS catalogue, or the category and page you asked for.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MBS_Get All MBS Items_Response_200'
  /CalculateBenefit:
    post:
      operationId: Benefit Calculator
      summary: Benefit Calculator
      description: |
        Returns the benefit Medicare pays for an MBS item. The schedule fee comes back with it.

        Every request field is optional. An empty body `{}` is valid: it prices a standard GP
        consultation (item `23`) for one patient, out of hospital. The response echoes the values it
        used, so you always see which defaults applied.

        ## What the calculation takes into account

        - The benefit and schedule fee published for the item in the MBS in force today. Benefits
          are read from the published amounts rather than worked out as a percentage of the fee, so
          they match what Medicare pays on every item, including the high-fee ones where a
          percentage does not.
        - Whether the service is in hospital or out of hospital, for the items that pay differently
          in each.
        - How many patients were seen on the occasion, for the attendance items whose fee depends on
          it, such as a general practitioner seeing several residents in one visit to an aged care
          facility. These figures reproduce the official MBS Ready Reckoner exactly.

        A request that cannot be priced still returns `200`, with `ReasonCode` and `Reason`
        explaining why. Only an unparseable body returns `400`.

        To check whether a specific patient can claim an item, use
        [Eligibility Check](/api-reference/medicare-eligibility/eligibility-check), which verifies
        the patient with Medicare and quotes the same benefit.
      tags:
        - mbs
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MBS_Benefit Calculator_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ItemNumber:
                  type: string
                  description: The MBS item number to price. Defaults to `23` (a standard GP consultation, Level B) when omitted.
                PatientsSeen:
                  type: integer
                  description: >-
                    How many patients the practitioner sees at the same place on the same occasion. Sets the per-patient
                    fee on the attendance items whose fee depends on it, and multiplies `TotalBenefit` for every item.
                    Defaults to `1` when omitted. A value below `1` returns `200` with `ReasonCode` `InvalidRequest`.
                InHospitalTreatment:
                  type: boolean
                  description: >-
                    Whether the service is provided to an in-hospital patient. Defaults to false when omitted, and the
                    service is priced out of hospital.
  /MBSChanges:
    get:
      operationId: Get MBS Changes
      summary: Get MBS Changes
      description: >
        Compares the two most recent MBS releases RebateRight holds — the previous schedule and the current one — and
        returns every difference: items added, items removed, and items modified field by field. RebateRight keeps both
        releases current, so you can see exactly what a release changed without parsing the Services Australia files
        yourself.


        The response gives three views of the same release:


        | Field | What it gives you |

        |---|---|

        | `ChangedCounts` | How many items changed — in total, and per field. |

        | `ChangedItemNumbers` | The item numbers behind those counts, grouped the same way. |

        | `ChangedItems` | The full detail — added and removed items in full, plus a field-by-field old/new for every
        modified item. |


        > 🔍 **Sample only** — the example truncates the long item-number arrays and the longest item descriptions. The
        live API returns the complete lists, and `ChangedCounts` reflects the real totals.
      tags:
        - mbs
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK — the differences between the previous and current MBS releases.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MBS_Get MBS Changes_Response_200'
  /ServicingProviderEligibility:
    post:
      operationId: Servicing Provider Eligibility
      summary: Servicing Provider Eligibility
      description: >
        Checks whether a **servicing (rendering) provider** may perform and claim a given MBS item. It runs *before* the
        claim is lodged, so a wrong-provider rejection is caught up front rather than at assessment.


        The check runs entirely within RebateRight: no Medicare call and no patient details, only a `ProviderNumber` and
        an `ItemNumber`. That makes it fast enough to validate every line of a batch.


        <CardGroup cols={1}>

        <Card title="Provider Atlas: every specialty and credential" icon="sitemap" href="/provider-atlas">

        Every eligibility answer rests on the recognition Medicare holds for the provider. The Provider Atlas maps them
        all, and shows how the same recognitions decide who may render, claim, and refer each item.

        </Card>

        </CardGroup>


        #### The sources behind every check


        RebateRight resolves the answer from the authoritative sources that govern who may render an item:


        <CardGroup cols={2}>

        <Card title="Provider recognitions">The specialties, fields and credentials Medicare recognises for the
        provider, expanded through RebateRight's recognition hierarchy so that allowing a broad class (such as a
        specialist medical practitioner) automatically covers every sub-specialty beneath it.</Card>

        <Card title="MBS item structure">The item's MBS category, group and sub-group (the layered structure mapped to
        eligible specialties), together with the item's own descriptor, which can override the group rule where an
        individual item is tighter or broader.</Card>

        <Card title="Legislative determinations">The Diagnostic Imaging, Pathology and General Medical Services Tables
        on the Federal Register: the legislation that sets, item by item, which providers may render and bill a service,
        beyond what the descriptor alone states.</Card>

        <Card title="MBS explanatory notes">Conditions a specialty alone cannot express, such as Approved Pathology
        Practitioner status, nuclear-medicine credentialling, or CT coronary angiography recognition. RebateRight
        surfaces these in the Reason as a "verify separately" pointer with its MBS reference.</Card>

        </CardGroup>


        To stay accurate, RebateRight continually reconciles its determinations against Medicare. The result is
        advisory: the binding decision is made when the claim is assessed.


        #### Reading the result


        A `200` always returns a boolean `IsEligible` and a plain-language `Reason`. Three shapes come back:


        - **`IsEligible: true` with a specialty named.** One of the provider's specialties may render the item; the
        `Reason` names the matching specialty and the MBS group or item rule it satisfied.

        - **`IsEligible: true`, no restriction.** The item is open to any provider, so no specialty gate applies.

        - **`IsEligible: false`.** None of the provider's specialties may render the item; the `Reason` lists the
        provider's specialties alongside the eligible ones, so the gap is explicit.


        Where an item carries a further condition the API cannot confirm from a provider number (a credential,
        supervision, or accreditation rule), the `Reason` appends a "verify separately" note with its MBS reference, so
        nothing is silently assumed.


        #### Status codes


        - `200`: eligibility determined; read `IsEligible` and `Reason`.

        - `404`: the `ProviderNumber` or `ItemNumber` was not found. The body is plain text (see the `404` example).
      tags:
        - providers
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Eligibility was determined.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Providers_Servicing Provider Eligibility_Response_200'
        '400':
          description: >
            A required field was omitted, or the request body could not be parsed. Field names are case-sensitive, and a
            field this endpoint does not recognise is rejected rather than ignored.


            **Wire format:** the body is plain text (`text/plain`, UTF-8), not JSON. OpenAPI lists it under
            `application/json` with `schema: string` only so the API explorer can render the example.
          content:
            application/json:
              schema:
                type: string
        '404':
          description: >
            The `ProviderNumber` or `ItemNumber` was not found.


            **Wire format:** the body is plain text (`text/plain`, UTF-8), not JSON. The example shows the verbatim
            message. OpenAPI lists it under `application/json` with `schema: string` only so the API explorer can render
            the example.
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ProviderNumber:
                  type: string
                  description: >-
                    The servicing provider's Medicare provider number, exactly as issued (case-sensitive, including the
                    location and check-digit characters).
                ItemNumber:
                  type: string
                  description: The MBS item number being checked.
              required:
                - ProviderNumber
                - ItemNumber
  /VerifyPatient:
    post:
      operationId: Patient Verification
      summary: Patient Verification
      description: >
        Checks the patient details you hold (name, date of birth, sex, Medicare card number and IRN)

        against Medicare's records. Field formats are validated first, then the details go to Medicare's

        **Patient Verification Check** service.


        ## Reading the result


        | `Verified` | Result | Meaning |

        |---|---|---|

        | `true` | **`patient verified`** | Patient details verified with Medicare. Proceed. |

        | `false` | **`details don't match`** | The details you hold don't match Medicare's current record. Correct the
        patient's record before claiming. |

        | `null` | **`cannot determine`** | The details couldn't be checked against Medicare's record. `Reason` says
        what stopped it. |


        `Reason` carries the detail in every case.


        **`patient verified`** covers the fields Medicare checks, not every field you sent. It does not

        check family name or sex, so those can still differ; the corrections table below says which fields it checks.


        **`cannot determine`** names its cause in `Reason`:


        | Cause | What to do |

        |---|---|

        | The request failed our format checks, so it never reached Medicare | Fix the field named in `Reason` and check
        again. |

        | Medicare returned no assessment — a reciprocal card or a deceased patient, for example | `Reason` carries
        Medicare's own sentence. |

        | Medicare answered with a status RebateRight doesn't recognise | `Reason` carries what Medicare said. |

        | The call to Medicare didn't complete — an outage, a timeout, or a connection problem on our side | `Reason`
        says what failed. Check again; if it persists, it isn't your request. |


        It is never a quiet `false`: a Medicare error reads `null`, and only `false` says the details

        don't match. An eligibility result uses **`cannot determine`** the same way — the item couldn't

        be checked, and we never guess — though its causes are its own. See [coverage](/eligibility-coverage).


        Branch on `Verified`, and never match on `Reason` text.


        ## Corrections Medicare sends back


        Where Medicare holds a different value and is willing to share it, that value arrives in the

        matching `Correct…` field. Every other `Correct…` field stays `null`.


        | What differs from Medicare's records | `Verified` | Correction returned |

        |---|---|---|

        | Family name, or sex | `true` | Medicare doesn't check these |

        | Given name, first five characters still match | `true` | — |

        | Given name, differs within the first five | `false` | `CorrectGivenName` |

        | IRN | `false` | `CorrectMedicareReferenceNumber` |

        | Date of birth | `false` | — |

        | Medicare card number | `false` | — |

        | The card has been reissued | `false` | `CorrectMedicareNumber`, `CorrectMedicareReferenceNumber`,
        `CorrectGivenName` |


        When two or more checked fields are wrong at once, Medicare returns no corrections at all, so

        fix what you can and check again.


        ## Patients with a single name


        For single-name patients, submit the single name as **`PatientFamilyName`** and set **`PatientGivenName`** to

        the literal string **`ONLYNAME`**.


        <Warning icon='gavel'>

        **Display `Reason` exactly as supplied.** It is a requirement by Services Australia that its

        messages are displayed to the end user exactly as supplied in the response, not truncated,

        transformed, or changed in any way. The wording may be updated at any time, so never parse

        `Reason` for logic.

        </Warning>
      tags:
        - medicareEligibility
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Eligibility_Patient Verification_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                PatientDateOfBirth:
                  type: string
                  format: date
                  description: Patient date of birth (`YYYY-MM-DD`). Cannot be a future date or more than 130 years in the past.
                PatientFamilyName:
                  type: string
                  description: >-
                    Patient family name as it appears on the Medicare card. For single-name patients, put the single
                    name here.
                PatientGivenName:
                  type: string
                  description: >-
                    Patient first given name as it appears on the Medicare card. Medicare matches on the first 5
                    characters, so `ELIZA` is accepted against a record of `ELIZABETH`. For single-name patients, set
                    this to the literal string `ONLYNAME`.
                PatientSex:
                  $ref: '#/components/schemas/VerifyPatientPostRequestBodyContentApplicationJsonSchemaPatientSex'
                  description: |
                    Patient sex (Services Australia coding). Medicare does not fail verification on a sex mismatch
                    alone and does not report a correction for this field.

                    | Code | Meaning |
                    |---|---|
                    | `1` | Male |
                    | `2` | Female |
                    | `3` | Other |
                    | `9` | Not stated / inadequately described |
                PatientMedicareNumber:
                  type: string
                  description: >-
                    Patient's 10-digit Medicare card number. Must pass the Medicare card check-digit routine, which is
                    validated before the check runs.
                PatientMedicareRefNumber:
                  type: string
                  description: >-
                    Individual Reference Number (IRN) from the patient's Medicare card — a single digit identifying the
                    family member.
              required:
                - PatientDateOfBirth
                - PatientFamilyName
                - PatientGivenName
                - PatientSex
                - PatientMedicareNumber
                - PatientMedicareRefNumber
  /CalculateRebate:
    post:
      operationId: Eligibility Check
      summary: Eligibility Check
      description: >
        Verifies the patient with Medicare and works out what they can claim, for up to 50 MBS items

        in one call.


        ## What you get back


        ```

        PatientVerification    Was the patient known?

        Rebates[]              One per item you sent
         ├─ ItemNumber
         ├─ IsEligible
         ├─ Reason
         ├─ ReasonCode
         ├─ Benefit
         ├─ ItemScheduleFee
         └─ Checks[]           One per check run on it
             ├─ Title
             ├─ IsEligible
             ├─ Reason
             └─ ReasonCode
        ```


        <Card title="See a full result, rendered" href="https://rebateright.com.au/eligibility-check-result">

        This response laid out as a screen — the answer on each item, the benefit, and the checks — for the front desk
        as much as the developer.

        </Card>


        Each item in `Rebates` holds:


        | Field | What it holds |

        |---|---|

        | `ItemNumber` | The item you asked about, echoed back. `"104"` |

        | `IsEligible` | Can the patient claim it. `true`, `false`, or `null` |

        | `Reason` | Why, in one sentence you can show as it is. |

        | `ReasonCode` | A code for that reason, for analytics only. |

        | `Benefit` | What Medicare pays, in dollars. `"88.36"`, never cents |

        | `ItemScheduleFee` | The MBS fee for the item. `"103.95"` |

        | `Checks` | One entry per check that ran on this item, detailed below. |


        Each entry in `Checks` holds:


        | Field | What it holds |

        |---|---|

        | `Title` | What it checked. `"Patient age"`, `"Frequency of service"` |

        | `IsEligible` | What this one check found. `true`, `false`, or `null` |

        | `Reason` | Why, in one sentence you can show as it is. |

        | `ReasonCode` | A code for that reason, for analytics only. |


        So `IsEligible` / `Reason` / `ReasonCode` answer the question at both levels: the item gives you

        the answer, and its checks show the working. A full response is in the example panel alongside

        this page.


        ## `IsEligible`: `true`, `false`, or `null`


        `IsEligible` is not a yes/no flag. Handle all three values:


        | `IsEligible` | Result | Meaning | What to do |

        |---|---|---|---|

        | `true` | **`eligible`** | The patient is eligible to claim this item. | Proceed with the claim. |

        | `false` | **`not eligible`** | The patient is not eligible. | Show `Reason`. A claim would not be paid. |

        | `null` | **`cannot determine`** | The item couldn't be checked for this patient. | Show `Reason`, and see
        below. |


        ## When `IsEligible` is `null`


        Something a check needed was missing or unavailable. A `null` is never a quiet `false` — only

        `false` says the patient can't claim. The causes include:


        | Cause | What to do |

        |---|---|

        | No referrer sent, on an item that requires one | Send `ReferrerProviderNumber` and check again. See [Provider
        Atlas](/provider-atlas). |

        | Medicare doesn't verify this item online, and it has a claim-frequency limit we can't see | Nothing is
        missing: every other check passed. Decide using the patient's history. See [coverage](/eligibility-coverage). |

        | The details you hold don't match Medicare's current record | Correct the details and check again.
        `PatientVerification` says what was wrong, and `Checks` shows what could still be checked. |


        To see which check it was, find the entry in `Checks` with `IsEligible: null`.


        ## How to use each field


        | Field | Use it for | Don't |

        |---|---|---|

        | `IsEligible` | Branching your logic. | Treating it as a boolean. |

        | `Reason` | Showing the outcome to staff or patients. | Parsing it. The wording changes. |

        | `ReasonCode` | Analytics, grouping, and reporting. | Branching your logic. |


        <Note>

        **`ReasonCode` is for analytics, not decisions.** The set of codes grows as RebateRight covers

        more checks, so new ones appear over time and are not a breaking change. Anything you branch on

        should come from `IsEligible`, which is stable.

        </Note>


        ## The checks


        Every check that ran on an item appears as an entry in its `Checks`. Together they cover the

        MBS rules (patient age, referrer eligibility, in-hospital status, and similar) and the live

        Services Australia assessment: how often the item has been claimed, items that conflict on the

        same day, the servicing provider, and its other rules.


        Each check's `Title` names what it looked at, and stays stable. New checks appear as

        RebateRight's coverage grows, so handle unfamiliar titles gracefully.


        Medicare doesn't verify every item online. Where it can't, RebateRight's own rules decide and

        the answer is **indicative**: a clear answer from our checks rather than a live confirmation

        from Services Australia. The

        [coverage guide](/eligibility-coverage) lists which items fall where.


        The example responses below show every outcome in full. To see one rendered as a screen —

        the answer, the benefit and the checks, laid out for the front desk — see

        [What an eligibility check looks like](https://rebateright.com.au/eligibility-check-result).


        <Warning icon='gavel'>

        **Display `Reason` exactly as supplied.** It is a requirement by Services Australia that its

        messages are displayed to the end user exactly as supplied in the response, not truncated,

        transformed, or changed in any way. The wording may be updated at any time, so never parse

        `Reason` for logic. This applies at both levels, the item's `Reason` and each check's.

        </Warning>
      tags:
        - medicareEligibility
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Eligibility_Eligibility Check_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                DateOfService:
                  type: string
                  format: date
                  description: >-
                    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.
                InHospitalTreatment:
                  type: boolean
                  description: >-
                    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. Defaults to false when omitted — the service is
                    treated as out-of-hospital.
                BulkBilled:
                  type: boolean
                  description: >-
                    Optional. Indicates the service will be bulk-billed. Used only by rules that differ between
                    bulk-bill and non-bulk-bill scenarios. Defaults to false when omitted — benefits are quoted at the
                    not-bulk-billed rate, so an item carrying the bulk-billing incentive quotes 85% rather than 95% of
                    the Schedule Fee unless you set it.
                PatientDateOfBirth:
                  type: string
                  format: date
                  description: Patient date of birth (`YYYY-MM-DD`). Cannot be a future date or more than 130 years in the past.
                PatientFamilyName:
                  type: string
                  description: Patient family name as it appears on the Medicare card.
                PatientGivenName:
                  type: string
                  description: Patient first given name as it appears on the Medicare card.
                PatientSex:
                  $ref: '#/components/schemas/CalculateRebatePostRequestBodyContentApplicationJsonSchemaPatientSex'
                  description: |
                    Patient sex (Services Australia coding).

                    | Code | Meaning |
                    |---|---|
                    | `1` | Male |
                    | `2` | Female |
                    | `3` | Other |
                    | `9` | Not stated / inadequately described |

                    On a sex-restricted item, `9` returns `IsEligible: null`, since the restriction can't be
                    checked without a recorded sex.
                PatientMedicareNumber:
                  type: string
                  description: Patient's 10-digit Medicare card number.
                PatientMedicareRefNumber:
                  type: string
                  description: >-
                    Individual Reference Number (IRN) from the patient's Medicare card, a single digit identifying the
                    family member.
                ReferrerProviderNumber:
                  type: string
                  description: >-
                    Referring provider's Medicare provider number. Required when any requested item has a referrer
                    restriction. Omit it and those items return `IsEligible: null` (**`cannot determine`**); supply a
                    referrer Medicare doesn't recognise for the item and they return `IsEligible: false` with a
                    plain-language reason. See the [Provider Atlas](/provider-atlas) for who may refer what.
                ServicingProviderNumber:
                  type: string
                  description: Provider number of the health professional who performs the service.
                PrincipalProviderNumber:
                  type: string
                  description: >-
                    Provider number of the practice / principal provider the service is billed under. Often the same as
                    `ServicingProviderNumber`.
                MedicareItems:
                  type: array
                  items:
                    $ref: '#/components/schemas/CalculateRebatePostRequestBodyContentApplicationJsonSchemaMedicareItemsItems'
                  description: >-
                    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**.
              required:
                - PatientDateOfBirth
                - PatientFamilyName
                - PatientGivenName
                - PatientSex
                - PatientMedicareNumber
                - PatientMedicareRefNumber
                - ServicingProviderNumber
                - PrincipalProviderNumber
                - MedicareItems
  /EligibilityDisclaimer:
    post:
      operationId: Eligibility Report (PDF)
      summary: Eligibility Report (PDF)
      description: >
        Generates the PDF you hand the patient after an eligibility check: the printable **Online

        Eligibility Check (OEC) Report** — header, patient details, per-service rebate estimate, and the

        mandated disclaimer and privacy notice wording. Quote only — not for claiming.


        **Handing the patient a printed report is optional.** A written estimate is encouraged

        informed-financial-consent practice, not an obligation. When you do hand one over, Services

        Australia prescribes this layout and wording — which is what this endpoint produces.


        ## How it works


        The live check happens in [Eligibility Check](/api-reference/medicare-eligibility/eligibility-check):

        run it first, then feed the per-item figures it returned (`ItemScheduleFee`, `Benefit`, an

        explanation code) and the overall `Reason` into this request. This endpoint makes no Medicare

        call of its own — it formats the result you already hold into the approved report.


        ## Request body


        The shape mirrors `/CalculateRebate` so the same payload can drive both calls with small additions. Identical

        field names are reused (PascalCase) for patient and service fields. Three per-item fields

        (`ItemScheduleFee`, `Benefit`, `MedicareExplanationCode`) are echoed from the `/CalculateRebate` response, and

        two root fields (`AccountReferenceId`, `Reason`) are specific to the disclaimer.


        Only `MedicareItems` (with at least one item) and each item's `ItemNumber` are required. Missing optional fields

        render as blank cells on the PDF.


        ## Location on the report


        The **Location ID** printed on the report is taken from the **`x-minor-id`** request header (the same header as

        other RebateRight endpoints), not from the JSON body.


        ## Response


        On success the response body is **`application/pdf`**. The download is offered as
        **`MedicareEligibilityCheckReport.pdf`**.


        ## Errors


        Validation failures return **HTTP 400** with a **plain-text** message describing the problem (not a JSON error

        envelope).
      tags:
        - medicareEligibility
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: PDF document — Online Eligibility Check (OEC) Report (`MedicareEligibilityCheckReport.pdf`).
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                DateOfService:
                  type: string
                  format: date
                  description: Date of service printed against every row on the report. ISO date `YYYY-MM-DD`.
                PatientFamilyName:
                  type: string
                  description: >-
                    Patient family name as it appears on the Medicare card. Printed in the patient-details section of
                    the report.
                PatientGivenName:
                  type: string
                  description: >-
                    Patient first given name as it appears on the Medicare card. Printed in the patient-details section
                    of the report.
                PatientMedicareNumber:
                  type: string
                  description: Patient's 10-digit Medicare card number.
                PatientMedicareRefNumber:
                  type: string
                  description: Individual Reference Number (IRN) from the patient's Medicare card.
                AccountReferenceId:
                  type: string
                  description: Caller-supplied reference identifying this OECW quote (e.g. invoice or visit id).
                Reason:
                  type: string
                  description: >-
                    Outcome text printed under **Outcome / Fund Explanation Text**. Typically the `Reason` returned by
                    `/CalculateRebate`.
                MedicareItems:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/EligibilityDisclaimerPostRequestBodyContentApplicationJsonSchemaMedicareItemsItems
  /Medicare/bulkbillstoreforward/general/v1:
    post:
      operationId: Bulk Bill Claim — General
      summary: Bulk Bill Claim — General
      description: >
        Submit a bulk bill claim for **general** Medicare services. Use `serviceTypeCode: O`.


        See the [Bulk Bill Claim guide](/bulk-bill-claim) for claim structure and [assignment of
        benefit](/assignment-of-benefit).


        **General-only constraint:** do **not** set `referral`, `referralOverrideCode`, or `selfDeemedCode` on this
        endpoint. They apply only to specialist and pathology claims.


        ## 📐 Claim limits


        | Limit | Value |

        | --- | --- |

        | Medical events per claim | 80 |

        | Services per medical event | 14 |

        | Claims per day, per payee provider and location | 2500 |


        ## 📅 How far back you can claim


        `medicalEventDate` must not be in the future, and the service must have been rendered within the last **year**.


        ## 🕑 Time zones


        Every date-time you send must carry an **Australian UTC offset** (for example `+10:00`, `+09:30`). A UTC `Z`
        value is rejected. Most languages produce UTC by default, so convert to Australian local time before
        serialising.


        ## 📑 Error codes


        Failures return **`400`**. Each entry in `serviceMessage[]` names the faulting medical event, and where relevant
        the service, in its `reason` text.


        | Code | Condition | What to do |

        | --- | --- | --- |

        | `9202` | A field value is the wrong format, length, or range | Correct the named field and resubmit |

        | `2030` | A field is valid on its own but breaks a cross-field rule | Read the `reason` text, which states the
        rule |

        | `2025` | More than 80 medical events in the claim | Split the claim |

        | `2032` | More than 14 services in a medical event | Split the medical event |

        | `9777` | This `correlationId` has already been received | Resubmit with a new one, unless you intended a
        resubmission |

        | `3004` | Daily claim limit reached for this payee provider and location | Resume the following day |


        For any code not listed, use the [Services Australia lookup
        tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - bulkBillClaim
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Claim accepted by Medicare for store-and-forward processing. Poll the Bulk Bill Processing Report using the
            returned `claimId` to retrieve the assessment outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — General_Response_200'
        '400':
          description: >
            Validation or business-rule failure. The body is one of two envelopes, and both always include
            `correlationId` for support tracing.


            The whole claim is rejected. Nothing is lodged, and no `claimId` is issued, so one malformed value fails
            every voucher in the claim. See [how a failure is scoped](/bulk-bill-claim#how-a-failure-is-scoped) before
            choosing a batch size.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  pattern: ^urn:uuid:.{24}$
                  minLength: 33
                  maxLength: 33
                  description: >
                    Optional. Your unique identifier for this claim, echoed on the response and used to trace or
                    resubmit it.


                    The value is **exactly 33 characters**: the literal prefix `urn:uuid:`, then your 8-character Minor
                    ID, then 16 characters of your own. Despite the prefix, this is **not** a standard UUID, and a plain
                    UUID is rejected.


                    ```

                    urn:uuid:MDE00000a1b2c3d4e5f6a7b8

                    └───┬───┘└──┬───┘└──────┬───────┘
                      prefix  Minor ID   your 16
                    ```


                    Resubmitting the same value is treated as a correction to the same claim. A value already used by a
                    *different* claim is rejected with `9777`. Omit the field and RebateRight generates one for you.
                claim:
                  $ref: >-
                    #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim
              required:
                - claim
  /Medicare/bulkbillstoreforward/specialist/v1:
    post:
      operationId: Bulk Bill Claim — Specialist
      summary: Bulk Bill Claim — Specialist
      description: >
        Submit a bulk bill claim for **specialist, allied health, or diagnostic imaging** services. Use
        `serviceTypeCode: S`.


        See the [Bulk Bill Claim guide](/bulk-bill-claim) for claim structure and [assignment of
        benefit](/assignment-of-benefit).


        **Mixing rule:** specialist and diagnostic-imaging services may share the same medical event. **Pathology**
        services must be submitted through the [Pathology
        endpoint](/api-reference/medicare-claiming/bulk-bill-claim/bulk-bill-claim-pathology).


        ## 📋 Referral requirement


        Every medical event must satisfy **one** of the following, or Medicare rejects the claim with `2030`:


        | Option | How to send it |

        | --- | --- |

        | A referral exists | `referral` with `typeCode` of `S` or `D` |

        | No referral document exists | `referralOverrideCode` of `H`, `L`, `E`, or `N` |

        | The provider self-deems the service | `selfDeemedCode` of `SD` or `SS` on at least one service |


        `referralOverrideCode` is exclusive: it cannot be combined with `referral`, nor with `selfDeemedCode`.


        ## 📐 Claim limits


        | Limit | Value |

        | --- | --- |

        | Medical events per claim | 80 |

        | Services per medical event | 14 |

        | Claims per day, per payee provider and location | 2500 |


        ## 📅 How far back you can claim


        `medicalEventDate` must not be in the future, and the service must have been rendered within the last **year**.


        ## 🕑 Time zones


        Every date-time you send must carry an **Australian UTC offset** (for example `+10:00`, `+09:30`). A UTC `Z`
        value is rejected. Most languages produce UTC by default, so convert to Australian local time before
        serialising.


        ## 📑 Error codes


        Failures return **`400`**. Each entry in `serviceMessage[]` names the faulting medical event, and where relevant
        the service, in its `reason` text.


        | Code | Condition | What to do |

        | --- | --- | --- |

        | `9202` | A field value is the wrong format, length, or range | Correct the named field and resubmit |

        | `2030` | A field is valid on its own but breaks a cross-field rule | Read the `reason` text, which states the
        rule |

        | `2025` | More than 80 medical events in the claim | Split the claim |

        | `2032` | More than 14 services in a medical event | Split the medical event |

        | `9777` | This `correlationId` has already been received | Resubmit with a new one, unless you intended a
        resubmission |

        | `3004` | Daily claim limit reached for this payee provider and location | Resume the following day |


        For any code not listed, use the [Services Australia lookup
        tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - bulkBillClaim
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Claim accepted by Medicare for store-and-forward processing. Poll the Bulk Bill Processing Report using the
            returned `claimId` to retrieve the assessment outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Specialist_Response_200'
        '400':
          description: >
            Validation or business-rule failure. The body is one of two envelopes, and both always include
            `correlationId` for support tracing.


            The whole claim is rejected. Nothing is lodged, and no `claimId` is issued, so one malformed value fails
            every voucher in the claim. See [how a failure is scoped](/bulk-bill-claim#how-a-failure-is-scoped) before
            choosing a batch size.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  pattern: ^urn:uuid:.{24}$
                  minLength: 33
                  maxLength: 33
                  description: >
                    Optional. Your unique identifier for this claim, echoed on the response and used to trace or
                    resubmit it.


                    The value is **exactly 33 characters**: the literal prefix `urn:uuid:`, then your 8-character Minor
                    ID, then 16 characters of your own. Despite the prefix, this is **not** a standard UUID, and a plain
                    UUID is rejected.


                    ```

                    urn:uuid:MDE00000a1b2c3d4e5f6a7b8

                    └───┬───┘└──┬───┘└──────┬───────┘
                      prefix  Minor ID   your 16
                    ```


                    Resubmitting the same value is treated as a correction to the same claim. A value already used by a
                    *different* claim is rejected with `9777`. Omit the field and RebateRight generates one for you.
                claim:
                  $ref: >-
                    #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim
              required:
                - claim
  /Medicare/bulkbillstoreforward/pathology/v1:
    post:
      operationId: Bulk Bill Claim — Pathology
      summary: Bulk Bill Claim — Pathology
      description: >
        Submit a bulk bill claim for **pathology** services. Use `serviceTypeCode: P`.


        See the [Bulk Bill Claim guide](/bulk-bill-claim) for claim structure and [assignment of
        benefit](/assignment-of-benefit).


        Pathology services cannot share a medical event with specialist or diagnostic-imaging services. Submit those
        through the [Specialist endpoint](/api-reference/medicare-claiming/bulk-bill-claim/bulk-bill-claim-specialist).


        ## 📋 Referral requirement


        Every medical event must satisfy **one** of the following, or Medicare rejects the claim with `2030`:


        | Option | How to send it |

        | --- | --- |

        | A request exists | `referral` with `typeCode` of `P` |

        | No request is required | `referralOverrideCode` of `N` |

        | The provider self-deems the service | `selfDeemedCode` of `SD` on at least one service |


        `SS` is not permitted for pathology, and `selfDeemedCode` cannot be combined with `referralOverrideCode`.


        ## 🧪 Fields this endpoint does not accept


        Several service fields belong to general and specialist claims only. Sending any of them here is rejected with
        `2030`: `aftercareOverrideInd`, `duplicateServiceOverrideInd`, `fieldQuantity`, `lspNumber`,
        `multipleProcedureOverrideInd`, `numberOfPatientsSeen`, `restrictiveOverrideCode`, and `timeDuration`.


        ## 📐 Claim limits


        | Limit | Value |

        | --- | --- |

        | Medical events per claim | 80 |

        | Services per medical event | 14 |

        | Claims per day, per payee provider and location | 2500 |


        ## 📅 How far back you can claim


        `medicalEventDate` must not be in the future, and the service must have been rendered within the last **year**.


        ## 🕑 Time zones


        Every date-time you send must carry an **Australian UTC offset** (for example `+10:00`, `+09:30`). A UTC `Z`
        value is rejected. Most languages produce UTC by default, so convert to Australian local time before
        serialising.


        ## 📑 Error codes


        Failures return **`400`**. Each entry in `serviceMessage[]` names the faulting medical event, and where relevant
        the service, in its `reason` text.


        | Code | Condition | What to do |

        | --- | --- | --- |

        | `9202` | A field value is the wrong format, length, or range | Correct the named field and resubmit |

        | `2030` | A field is valid on its own but breaks a cross-field rule | Read the `reason` text, which states the
        rule |

        | `2025` | More than 80 medical events in the claim | Split the claim |

        | `2032` | More than 14 services in a medical event | Split the medical event |

        | `9777` | This `correlationId` has already been received | Resubmit with a new one, unless you intended a
        resubmission |

        | `3004` | Daily claim limit reached for this payee provider and location | Resume the following day |


        For any code not listed, use the [Services Australia lookup
        tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - bulkBillClaim
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Claim accepted by Medicare for store-and-forward processing. Poll the Bulk Bill Processing Report using the
            returned `claimId` to retrieve the assessment outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Pathology_Response_200'
        '400':
          description: >
            Validation or business-rule failure. The body is one of two envelopes, and both always include
            `correlationId` for support tracing.


            The whole claim is rejected. Nothing is lodged, and no `claimId` is issued, so one malformed value fails
            every voucher in the claim. See [how a failure is scoped](/bulk-bill-claim#how-a-failure-is-scoped) before
            choosing a batch size.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  pattern: ^urn:uuid:.{24}$
                  minLength: 33
                  maxLength: 33
                  description: >
                    Optional. Your unique identifier for this claim, echoed on the response and used to trace or
                    resubmit it.


                    The value is **exactly 33 characters**: the literal prefix `urn:uuid:`, then your 8-character Minor
                    ID, then 16 characters of your own. Despite the prefix, this is **not** a standard UUID, and a plain
                    UUID is rejected.


                    ```

                    urn:uuid:MDE00000a1b2c3d4e5f6a7b8

                    └───┬───┘└──┬───┘└──────┬───────┘
                      prefix  Minor ID   your 16
                    ```


                    Resubmitting the same value is treated as a correction to the same claim. A value already used by a
                    *different* claim is rejected with `9777`. Omit the field and RebateRight generates one for you.
                claim:
                  $ref: >-
                    #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim
              required:
                - claim
  /Medicare/bulkbillpaymentreport/v1:
    post:
      operationId: Bulk Bill Payment Report
      summary: Bulk Bill Payment Report
      description: >
        Retrieve a payment report for a Bulk Bill claim, providing payment information including the deposit amount,

        masked bank account details, and the list of claims covered by the same payment run.


        ## 📑 Response — `status`


        | Value | Meaning |

        |---|---|

        | `COMPLETE` | Payment information is available (`paymentRun`, `paymentInfo`, `claimSummary`). |

        | `REPORT_NOT_AVAILABLE` | Claim is finalised but there is **no payment report** (for example, nil or rejected
        benefit — nothing to pay). |

        | `REPORT_NOT_READY` | Claim not yet paid and finalised — retry later. |

        | `REPORT_NOT_FOUND` | No matching claim for this location, provider, and identifiers. |

        | `REPORT_EXPIRED` | Lodgement is outside the six-month retrieval window. |


        When a payment run exists, the response includes the **payment run** reference, **masked bank / EFT** details,

        **deposit amount**, and a **claim summary** listing every claim included in that run (not only the claim you
        queried).


        Reports can be retrieved for **six months** from the date the original claim was lodged, as many times as
        needed.

        Only the location that submitted the claim may request its report.


        Malformed requests (for example an invalid `correlationId`) receive **HTTP 400** — see the **`400`** response
        examples.
      tags:
        - bulkBillClaim
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Bulk Bill Claim_Bulk Bill Payment Report_Response_200'
        '400':
          description: >-
            Validation or business-rule failure (HTTP 400). The body is either the Medicare `serviceMessage` envelope or
            a gateway JSON-schema envelope (`code`, `codeType`, `message`); both include `correlationId` for tracing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareBulkbillpaymentreportV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Transaction identifier from the successful Bulk Bill claim response; must match exactly what was
                    returned when the claim was accepted. Format is `urn:uuid:` + Minor ID (8 characters) + 16
                    hexadecimal characters (33 characters total), for example `urn:uuid:MDE00000a081f297cf7741ad`.
                payeeProvider:
                  $ref: >-
                    #/components/schemas/MedicareBulkbillpaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
                  description: Payee provider from the original claim transmission; use the same values as on that claim.
              required:
                - correlationId
                - payeeProvider
  /Medicare/bulkbillprocessingreport/v1:
    post:
      operationId: Bulk Bill Processing Report
      summary: Bulk Bill Processing Report
      description: >
        Retrieve a processing report for a Bulk Bill claim, detailing processing information (including changes and

        exception situations) for each medical event and associated service within the original claim.


        ## 📑 Response — `status`


        | Value | Meaning |

        |---|---|

        | `COMPLETE` | Report is available; `claimAssessment` is populated. |

        | `REPORT_NOT_READY` | Claim located but assessment / payment is not finalised yet. Retry the next day. |

        | `REPORT_NOT_FOUND` | No matching claim for this location, provider, and identifiers. |

        | `REPORT_EXPIRED` | Lodgement is outside the six-month retrieval window. |


        The report summarises how the claim was assessed: totals at claim level, and per medical event and service

        (assessment codes, benefit and charge amounts, Medicare patient details as held when assessed).


        If the patient's Medicare details differ from what was submitted, the corrected values come back here, flagged
        with a patient `status` code (`8023`–`8028`). Reconcile against those before resubmitting.


        ## 🕑 When to retrieve


        A claim's report becomes available **the day after lodgement**. A report requested on the day you submit

        returns `REPORT_NOT_READY`, so schedule a daily retrieval from the following day.


        Reports can be retrieved for **six months** from the date the original claim was lodged, as many times as
        needed.

        Only the location that submitted the claim may request its report.


        Malformed requests (for example an invalid `correlationId`) receive **HTTP 400** — see the **`400`** response
        examples.
      tags:
        - bulkBillClaim
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Bulk Bill Claim_Bulk Bill Processing Report_Response_200'
        '400':
          description: >-
            Validation or business-rule failure (HTTP 400). The body is either the Medicare `serviceMessage` envelope or
            a gateway JSON-schema envelope (`code`, `codeType`, `message`); both include `correlationId` for tracing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareBulkbillprocessingreportV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Transaction identifier from the successful Bulk Bill claim response; must match exactly what was
                    returned when the claim was accepted. Format is `urn:uuid:` + Minor ID (8 characters) + 16
                    hexadecimal characters (33 characters total), for example `urn:uuid:MDE00000ee97ff9fd17d4afc`.
                payeeProvider:
                  $ref: >-
                    #/components/schemas/MedicareBulkbillprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
                  description: Payee provider from the original claim transmission; use the same values as on that claim.
              required:
                - correlationId
                - payeeProvider
  /AoBPreAssignment:
    post:
      operationId: Pre-assignment (PDF)
      summary: Pre-assignment (PDF)
      description: |
        Returns **`application/pdf`**: a printable Medicare bulk bill **pre-assignment** Assignment of
        Benefit agreement: the form a patient signs to assign their Medicare benefit **before** the service.

        For what pre-assignment is, when to use it instead of post-assignment, and the signing and retention
        obligations, see the [Pre-assignment guide](/assignment-of-benefit/pre-assignment).

        Supply the servicing provider, the `serviceStream`, and one or more `assignments`. Each renders as a
        complete, signable page, so one request can produce a batch. Because a pre-assignment precedes the
        claim, this request is **not** the bulk bill claim payload. This endpoint **renders** the document; it
        does not lodge a claim or call Services Australia.

        A pre-assignment cannot be used for Child Dental Benefits Schedule (CDBS) claims.

        ## How the form is chosen

        You set the **service stream** explicitly with `serviceStream` (`general`, `pathology`, or
        `diagnosticImaging`). It selects the assignor's statement and the date-column label for every page
        of the request.

        ## Response

        | Status | Content type | Meaning |
        |--------|--------------|---------|
        | `200` | `application/pdf` | The rendered pre-assignment agreement. |
        | `400` | `text/plain` | The request was malformed or missing a required field. |
      tags:
        - assignmentOfBenefit
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            PDF bytes, a **Medicare online** bulk bill pre-assignment Assignment of Benefit agreement, carrying the
            minimum data set Services Australia requires.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                serviceProviderName:
                  type: string
                  description: |
                    The servicing provider's name, printed under **Details of the professional** alongside the
                    provider number.
                serviceStream:
                  $ref: '#/components/schemas/AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceStream'
                  description: >
                    The service stream. It selects the assignor's statement, the date-column label, and the

                    description-column label printed on every page of this request.


                    | Value | Statement (future tense) | Date column | Description column |

                    |-------|--------------------------|-------------|--------------------|

                    | `general` | …the health professional who will render the service(s). | Date of service | Basic
                    service description |

                    | `pathology` | …the approved pathology practitioner who will render the requested pathology
                    service(s)… | Date of specimen collection | Description of service |

                    | `diagnosticImaging` | …the diagnostic imaging provider who will render the requested diagnostic
                    imaging service(s)… | Date of imaging procedure | Description of service |


                    A specialist or allied-health attendance uses `general`. Pathology Group P9 (simple in-rooms

                    tests) also uses `general`, the way Services Australia defines the streams.
                serviceProvider:
                  $ref: '#/components/schemas/AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceProvider'
                assignments:
                  type: array
                  items:
                    $ref: '#/components/schemas/AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItems'
                  description: One entry per patient. Each renders as a complete, signable agreement on its own page.
              required:
                - serviceProviderName
                - serviceStream
                - serviceProvider
                - assignments
  /AoBPostAssignment:
    post:
      operationId: Post-assignment (PDF)
      summary: Post-assignment (PDF)
      description: |
        Returns **`application/pdf`**: a printable Medicare bulk bill **post-assignment** Assignment of
        Benefit agreement: the form a patient signs **after** the service.

        For what post-assignment is and when to use it instead of pre-assignment, see the
        [Post-assignment guide](/assignment-of-benefit/post-assignment).

        The body is the bulk bill `claim` you already build (General, Specialist, or Pathology), passed
        **unchanged**, plus `serviceProviderName` (a claim carries only the provider number) and an optional
        per-event `assignorIsPatient`. RebateRight renders **one signable page per medical event**; it does
        not lodge the claim, call Services Australia, or revalidate claim fields.

        ## How the form is chosen

        The assignor's statement and the service-date label follow the **service stream**, derived per
        medical event from the claim's `serviceTypeCode` and the event's `referral.typeCode`:

        | `serviceTypeCode` | `referral.typeCode` | Form |
        |-------------------|---------------------|------|
        | `P` | any | Pathology |
        | `S` | `D` | Diagnostic imaging |
        | `S` | any other | General |
        | `O` | n/a | General |

        ## Response

        | Status | Content type | Meaning |
        |--------|--------------|---------|
        | `200` | `application/pdf` | The rendered post-assignment agreement. |
        | `400` | `text/plain` | The request was malformed or missing a required field. |
      tags:
        - assignmentOfBenefit
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            PDF bytes, **Medicare online** bulk bill Assignment of Benefit (post-assignment), aligned with Services
            Australia BBSW expectations.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      requestBody:
        description: >-
          Same shape as a bulk bill claim payload. Only fields that affect the rendered PDF are described here; for
          everything else, see the bulk bill claim endpoints.
        content:
          application/json:
            schema:
              type: object
              properties:
                serviceProviderName:
                  type: string
                  description: |
                    Servicing provider's name, printed under **Details of the professional**. A bulk bill claim
                    carries only the provider number, so the name is supplied here at the root, and `claim` stays
                    unchanged.
                claim:
                  $ref: '#/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaim'
              required:
                - serviceProviderName
                - claim
  /Medicare/patientclaiminteractive/general/v1:
    post:
      operationId: Interactive Patient Claim — General
      summary: Interactive Patient Claim — General
      description: >
        The **general** interactive patient claim endpoint submits a Medicare patient claim for professional services
        that do not require a referral or request. The claimant authorises the submission and receives the Medicare
        benefit; the patient received the service. They may be the same person.


        ### Response handling


        Every `200` response carries a `status` indicating the claim outcome — `MEDICARE_ASSESSED`, `MEDICARE_PENDABLE`,
        `MEDICARE_PENDED`, or `MEDICARE_REJECTED`. Per-service outcomes are reported via `assessmentCode` on each
        `medicalEvent[].service[]`. See the response schema for the full handling tables.


        ### Error codes


        Medicare reason codes appear on three fields: claim-level `claimAssessment.error.code`, per-service
        `claimAssessment.medicalEvent[].service[].error.code`, and `serviceMessage[].code` on `400` responses. Map all
        of them to user-facing descriptions via the [Services Australia reason-code
        lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - interactivePatientClaims
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Claim submitted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponse'
        '400':
          description: |
            Validation failure. The response body is one of two envelopes:

            - **Medicare `serviceMessage`** — the request was structurally valid but failed a Medicare business-rule or
              field-level check (invalid card number, future date, duplicate transaction, etc.). One `serviceMessage`
              entry per failed check. Each message's `reason` points to the offending field (and medical event / service
              id where applicable).
            - **Gateway (`DHSEIN`)** — the request failed JSON-schema validation at the Medicare gateway before reaching
              the business-rule layer (missing required property, wrong type, unparsable `correlationId`).

            Map any `code` on either envelope using the [Services Australia reason-code
            lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicarePatientclaiminteractiveGeneralV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBody'
  /Medicare/patientclaiminteractive/specialist/v1:
    post:
      operationId: Interactive Patient Claim — Specialist
      summary: Interactive Patient Claim — Specialist
      description: >
        The **specialist** interactive patient claim endpoint submits a Medicare patient claim for specialist or
        diagnostic imaging services.


        ### Referral requirement


        One of the following must hold, otherwise Medicare rejects the claim:


        - `referral.typeCode` is `D` (diagnostic imaging) or `S` (specialist), or

        - `referralOverrideCode` is `H`, `L`, `E`, or `N`, or

        - at least one service has `selfDeemedCode` `SD` or `SS`.


        ### Response handling


        The `200` response shape is shared with the **general** endpoint — see that endpoint's response schema for the
        full `status` and `assessmentCode` handling tables.


        ### Error codes


        Medicare reason codes on `error.code` (claim- or service-level) and `serviceMessage[].code` map to user-facing
        descriptions via the [Services Australia reason-code
        lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - interactivePatientClaims
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponse'
        '400':
          description: |
            Validation failure. Same two envelopes as the general endpoint — see the general `400` for the full example
            set and mapping guidance. Only specialist-specific examples are shown here to avoid duplication.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicarePatientclaiminteractiveSpecialistV1RequestBadRequestError'
      requestBody:
        description: >-
          Specialist / diagnostic imaging request fields (combined with the general interactive claim payload via
          allOf).
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}`. If
                    omitted, RebateRight generates one automatically.
                patientClaimInteractive:
                  $ref: >-
                    #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive
              required:
                - patientClaimInteractive
  /Medicare/patientclaiminteractive/pathology/v1:
    post:
      operationId: Interactive Patient Claim — Pathology
      summary: Interactive Patient Claim — Pathology
      description: >
        The **pathology** interactive patient claim endpoint submits a Medicare patient claim for pathology services.


        ### Referral requirement


        One of the following must hold, otherwise Medicare rejects the claim:


        - `referral.typeCode = P` (pathology request), or

        - `referralOverrideCode = N` (not required), or

        - `selfDeemedCode = SD` on at least one service and no service uses `SS`.


        ### Response handling


        The `200` response shape is shared with the **general** endpoint — see that endpoint's response schema for the
        full `status` and `assessmentCode` handling tables.


        ### Error codes


        Medicare reason codes on `error.code` (claim- or service-level) and `serviceMessage[].code` map to user-facing
        descriptions via the [Services Australia reason-code
        lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
      tags:
        - interactivePatientClaims
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponse'
        '400':
          description: |
            Validation failure. Same two envelopes as the general endpoint — see the general `400` for the full example
            set and mapping guidance. Only pathology-specific examples are shown here to avoid duplication.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicarePatientclaiminteractivePathologyV1RequestBadRequestError'
      requestBody:
        description: Pathology-only request fields (combined with the general interactive claim payload via allOf).
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}`. If
                    omitted, RebateRight generates one automatically.
                patientClaimInteractive:
                  $ref: >-
                    #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive
              required:
                - patientClaimInteractive
  /Medicare/samedaydelete/v1:
    post:
      operationId: Same Day Delete
      summary: Same Day Delete
      description: >
        Same Day Delete lets a practice **withdraw an interactive patient claim** that was sent **earlier the same
        calendar

        day**. Medicare only allows the delete when the original claim was **accepted and assessed** (final status

        **`MEDICARE_ASSESSED`**).


        **Matching the original submission:** use the **same transaction correlation**, **location context**, and
        **patient

        details** as the claim you are withdrawing, sent through this API.


        **Headers and registration:** use the same Medicare claiming header pattern as your other interactive patient
        claims (including

        `dhs-correlationId` and `dhs-auditId`, which Medicare uses in its business rules). Your organisation must have
        suitable

        **PRODA** access and a **Notice of Intent (NOI)** that covers interactive claiming **and** same-day delete.


        **Messages from Medicare:** when you surface errors to end users, show **`serviceMessage[].reason`** **exactly
        as

        returned** — do not shorten, paraphrase, or “improve” the wording.


        Field rules, lengths, formats, and examples are on the **request body**, **`200`**, and **`400`** schemas below.
      tags:
        - interactivePatientClaims
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK — delete accepted. When Medicare removes the claim, **status** is **`SUCCESS`**.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medicare Claiming_Interactive patient claims_Same Day Delete_Response_200'
        '400':
          description: YAML / schema validation or Medicare business-rule failure (`serviceMessage` + `correlationId`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareSamedaydeleteV1RequestBadRequestError'
      requestBody:
        description: >
          Body for a same-day delete. It identifies the **original claim’s transaction** and supplies the **patient**
          and

          **reasonCode** Medicare uses to validate the delete.


          Medicare ties the delete to the original claim using **`dhs-correlationId`** (transaction correlation) and

          **`dhs-auditId`** (location / audit context), together with the values in this JSON.
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >
                    Correlation / transaction id for the **original** interactive claim to delete. It must refer to a
                    claim Medicare

                    can match **for the same calendar day** and **same location** as this delete request. If nothing
                    matches,

                    Medicare often returns **`9775`** (see the **`400`** response — `serviceMessage[].code`).
                sameDayDelete:
                  $ref: '#/components/schemas/MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDelete'
                  description: >
                    Patient identity and Medicare card details must match the **original** claim. **reasonCode** is
                    required.
              required:
                - correlationId
                - sameDayDelete
  /Medicare/veteranverification/v1:
    post:
      operationId: Veteran Verification
      summary: Veteran Verification
      description: >
        Verify a patient's DVA veteran status in real time. One patient per request.


        Two verification types are supported:


        - **PVP** — submit personal details only (name, DOB, sex). DVA returns the veteran's file number and card type.

        - **PVV** — include `veteranMembership.veteranNumber` to verify against a known DVA file number.


        For card types, entitlement codes, the DVA File Number format, and the numeric status codes, see [DVA
        Integration](/dva).
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_Veteran Verification_Response_200'
        '400':
          description: Validation failure — body includes `serviceMessage` entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareVeteranverificationV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                patient:
                  $ref: '#/components/schemas/MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatient'
              required:
                - patient
  /Medicare/dvaclaim/general/v1:
    post:
      operationId: DVA Claim — General
      summary: DVA Claim — General
      description: >
        Submit a DVA general medical claim on behalf of a health professional. One claim per request, containing up to
        80 medical events, each with up to 14 services.


        Use this endpoint for general (non-specialist, non-pathology) DVA medical services. Set `serviceTypeCode` to
        `O`.


        For Accepted Disability, patient identification, the claim ID format, and the numeric status codes, see [DVA
        Integration](/dva).
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_DVA Claim — General_Response_200'
        '400':
          description: Validation or business-rule failure; body includes `serviceMessage` entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareDvaclaimGeneralV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}` (33
                    characters total, e.g. `urn:uuid:MDE00000a1b2c3d4e5f6a7b8`). If the same `correlationId` is
                    submitted twice, the second request is rejected with error `9777`. If omitted, RebateRight generates
                    one automatically.
                claim:
                  $ref: '#/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim'
              required:
                - claim
  /Medicare/dvaclaim/specialist/v1:
    post:
      operationId: DVA Claim — Specialist
      summary: DVA Claim — Specialist
      description: >
        Submit a DVA specialist claim. Set `serviceTypeCode` to `S`.


        #### Referral Requirement


        Each medical event must satisfy one of:

        - A specialist or diagnostic imaging referral (`referral` with `typeCode: S` or `D`)

        - A referral override code of `H`, `L`, `E`, or `N`

        - A `selfDeemedCode` of `SD` or `SS` on at least one service


        When `referral.typeCode` is `S`, `referral.periodCode` must also be set. Standard period is 12 months for GPs, 3
        months for specialists.


        #### Hyperbaric Items


        Claims for hyperbaric items must use `timeDuration` (in conjunction with item start/end times via service
        `text`) to determine the number of time units (hours) applicable to the service.


        #### Retained Referral Details


        Software must retain referral details for a patient to be used for subsequent consultations where needed.


        For the claim ID format and the numeric status codes, see [DVA Integration](/dva).
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_DVA Claim — Specialist_Response_200'
        '400':
          description: Validation or business-rule failure; body includes `serviceMessage` entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareDvaclaimSpecialistV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}` (33
                    characters total, e.g. `urn:uuid:MDE00000a1b2c3d4e5f6a7b8`). If the same `correlationId` is
                    submitted twice, the second request is rejected with error `9777`. If omitted, RebateRight generates
                    one automatically.
                claim:
                  $ref: '#/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim'
              required:
                - claim
  /Medicare/dvaclaim/pathology/v1:
    post:
      operationId: DVA Claim — Pathology
      summary: DVA Claim — Pathology
      description: >
        Submit a DVA pathology claim. Set `serviceTypeCode` to `P`.


        Each pathology service requires a collection date/time (`collectionDateTime`) and accession date/time
        (`accessionDateTime`). These must both be supplied together and must not be after the medical event date/time.


        #### Referral Requirement


        Each medical event must satisfy one of:

        - A pathology request (`referral` with `typeCode: P`)

        - `referralOverrideCode: N` (not required)

        - `selfDeemedCode: SD` on at least one service


        #### Claim ID


        On success, pathology claims submitted in hospital return a `claimId` prefixed with `#` (e.g. `#9876@`).
        Out-of-hospital pathology returns an alpha prefix (e.g. `D0744@`).


        For the numeric status codes, see [DVA Integration](/dva).
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_DVA Claim — Pathology_Response_200'
        '400':
          description: Validation or business-rule failure; body includes `serviceMessage` entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareDvaclaimPathologyV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}` (33
                    characters total, e.g. `urn:uuid:MDE00000a1b2c3d4e5f6a7b8`). If the same `correlationId` is
                    submitted twice, the second request is rejected with error `9777`. If omitted, RebateRight generates
                    one automatically.
                claim:
                  $ref: '#/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim'
              required:
                - claim
  /Medicare/dvaprocessingreport/v1:
    post:
      operationId: DVA Processing Report
      summary: DVA Processing Report
      description: >
        Retrieve a processing report for a **DVA medical claim** submitted through **Medicare**, from the same Minor ID

        (transmitting location) that submitted the claim.


        ## 📑 Response — `status`


        | Value | Meaning |

        |---|---|

        | `COMPLETE` | Report is available; `claimAssessment` is populated. |

        | `REPORT_NOT_READY` | Claim located but assessment / payment is not finalised yet — retry later. |

        | `REPORT_NOT_FOUND` | No matching claim for this location, provider, and identifiers. |

        | `REPORT_EXPIRED` | Lodgement is outside the six-month retrieval window. |


        The report summarises how the claim was assessed: totals at claim level, and per medical event and service
        (assessment codes, benefit and charge amounts, veteran details as held when assessed).


        Reports can be retrieved for **six months** from the date the original claim was lodged, as many times as
        needed. Only the location that submitted the claim may request its report.


        Malformed requests (for example an invalid `correlationId`) receive **HTTP 400** — see the **`400`** response
        examples.
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_DVA Processing Report_Response_200'
        '400':
          description: >-
            Validation or business-rule failure (HTTP 400). The body is either the Medicare `serviceMessage` envelope or
            a gateway JSON-schema envelope (`code`, `codeType`, `message`); both include `correlationId` for tracing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareDvaprocessingreportV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Transaction identifier from the successful DVA medical claim response; must match exactly what was
                    returned when the claim was accepted. Format is `urn:uuid:` + Minor ID (8 characters) + 16
                    hexadecimal characters (33 characters total), for example `urn:uuid:MDE0000015181774ceb04e27`.
                payeeProvider:
                  $ref: >-
                    #/components/schemas/MedicareDvaprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
                  description: Payee provider from the original claim transmission; use the same values as on that claim.
              required:
                - correlationId
                - payeeProvider
  /Medicare/dvapaymentreport/v1:
    post:
      operationId: DVA Payment Report
      summary: DVA Payment Report
      description: >
        Retrieve a **payment report** for a **DVA medical claim** submitted through **Medicare**, from the same Minor ID
        that

        submitted the claim.


        ## 📑 Response — `status`


        | Value | Meaning |

        |---|---|

        | `COMPLETE` | Payment information is available (`paymentRun`, `paymentInfo`, `claimSummary`). |

        | `REPORT_NOT_AVAILABLE` | Claim is finalised but there is **no payment report** (for example, nil or rejected
        benefit — nothing to pay). |

        | `REPORT_NOT_READY` | Claim not yet paid and finalised — retry later. |

        | `REPORT_NOT_FOUND` | No matching claim for this location and identifiers. |

        | `REPORT_EXPIRED` | Outside the six-month window. |


        When a payment run exists, the response includes the **payment run** reference, **bank / EFT mask** details,
        **deposit amount**, and a **claim summary** listing claims included in that run (not only the claim you asked
        about).


        Reports can be retrieved for **six months** from the original claim lodgement date, as often as needed. Only the
        transmitting location may request the report.


        Malformed requests (for example an invalid `correlationId`) receive **HTTP 400** — see the **`400`** response
        examples.
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DVA_DVA Payment Report_Response_200'
        '400':
          description: >-
            Validation or business-rule failure (HTTP 400). The body is either the Medicare `serviceMessage` envelope or
            a gateway JSON-schema envelope (`code`, `codeType`, `message`); both include `correlationId` for tracing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareDvapaymentreportV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                correlationId:
                  type: string
                  description: >-
                    Transaction identifier from the successful DVA medical claim response; must match exactly what was
                    returned when the claim was accepted. Format is `urn:uuid:` + Minor ID (8 characters) + 16
                    hexadecimal characters (33 characters total), for example `urn:uuid:MDE0000015181774ceb04e27`.
                payeeProvider:
                  $ref: >-
                    #/components/schemas/MedicareDvapaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
                  description: Payee provider from the original claim transmission; use the same values as on that claim.
              required:
                - correlationId
                - payeeProvider
  /DVAVoucher:
    post:
      operationId: Service Voucher D1216S (PDF)
      summary: Service Voucher D1216S (PDF)
      description: >
        ## Treatment service voucher


        Generates a **printable treatment service voucher** for the veteran to keep — a PDF that records the visit and
        the

        services. Use it when your workflow needs a paper or saved copy for the patient's own records.


        This endpoint **does not** lodge a claim and **does not** produce the separate **manual claim cover sheet** used

        when posting some paper claims.


        ## Request body


        Send a **single JSON object** at the root (no `claim` wrapper). Field names match the schema below. Unknown
        root-level

        property names are rejected.


        Optional blocks (`payeeProvider`, `referral`) may be omitted or set to JSON `null`. When `referral` is an
        object,

        `issueDate` and `provider` (with `providerNumber` and `providerName`) are required.


        **`treatmentLocationCode`** must be **`H`** (Hospital), **`R`** (Rooms), or **`V`** (home visit / residential
        care /

        community health / hostel). When it is **`H`**, **`facilityProviderNumber`** is required.


        **`chargeAmountCents`** is a non-negative whole number as a string (e.g. `10000` for $100.00).


        ## Location on the voucher


        The **location ID** printed on the voucher is taken from the **`x-minor-id`** request header (the same header as

        other RebateRight Medicare and DVA endpoints), not from the JSON body.


        ## Response


        On success, the response body is **`application/pdf`**. The download is offered as **`DVAVoucher.pdf`**.


        ## Errors


        Validation failures return **HTTP 400** with a **plain-text** message describing the problem (not a JSON error

        envelope).


        **Technical references:** The PDF follows the approved **D1216S** treatment service voucher layout.

        Authoritative wording and rules are according to the current specification from Services Australia.
      tags:
        - dva
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: PDF document — treatment service voucher (`DVAVoucher.pdf`).
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                lspNumber:
                  type:
                    - string
                    - 'null'
                  description: Location Specific Practice Number (diagnostic imaging). Omit or `null` when not used.
                patient:
                  $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaPatient'
                servicingProvider:
                  $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicingProvider'
                  description: Provider rendering the services on the voucher.
                payeeProvider:
                  oneOf:
                    - $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaPayeeProvider'
                    - type: 'null'
                  description: Payee when different from the servicing provider; omit or `null` if the same.
                referral:
                  oneOf:
                    - $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferral'
                    - type: 'null'
                  description: Referral or request details when applicable; omit or `null` if none.
                accountReferenceNumber:
                  type: string
                  description: Account or internal reference for this voucher (e.g. invoice or visit id).
                treatmentLocationCode:
                  $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaTreatmentLocationCode'
                  description: |
                    Where treatment was provided. When **H**, send **facilityProviderNumber**.

                    | Code | Meaning |
                    |------|---------|
                    | H | Hospital |
                    | R | Rooms |
                    | V | Home visit / residential care / community health / hostel |
                facilityProviderNumber:
                  type:
                    - string
                    - 'null'
                  description: Required when `treatmentLocationCode` is `H` (hospital establishment provider number).
                kilometresTravelled:
                  type:
                    - string
                    - 'null'
                  description: Distance in kilometres when a visit charge applies; omit or `null` if not used.
                conditionTreated:
                  type:
                    - string
                    - 'null'
                  description: Condition treated (e.g. for White Card); omit or `null` if not applicable.
                services:
                  type: array
                  items:
                    $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicesItems'
                  description: One row per service to include on the voucher.
              required:
                - patient
                - servicingProvider
                - accountReferenceNumber
                - treatmentLocationCode
                - services
  /Medicare/concessionverification/v1:
    post:
      operationId: Concession Verification
      summary: Concession Verification
      description: >
        Verifies whether a Medicare patient holds a current concession entitlement.


        RebateRight runs a Medicare identity check first. If the patient matches — including a partial match such as a
        corrected IRN — the concession check is performed. If the Medicare check does not match, `concessionStatus` is
        still returned but carries code `9781` (check not undertaken). A request that fails field validation (for
        example a card number that does not pass the Medicare check-digit routine) returns `400` with `serviceMessage`
        and no status blocks.


        #### Medicare Status Codes (`medicareStatus.status.code`)


        | Code | Meaning |

        |---|---|

        | `0` | Patient matched on Medicare |

        | `8016` | Accepted, but not an exact match (for example a wrong IRN) — `currentMembership` holds the correct
        value |

        | `9633` | New Medicare card issued — details differ from records |

        | `9650` | Card number and/or patient details did not match Medicare |


        #### Concession Status Codes (`concessionStatus.status.code`)


        | Code | Meaning |

        |---|---|

        | `0` | Patient is eligible for concession |

        | `9685` | No concession entitlement found |

        | `9781` | Check not undertaken — the Medicare identity check did not match |


        #### Validation Errors (`400`)


        | Code | Meaning |

        |---|---|

        | `9202` | A submitted field failed validation — see `serviceMessage` for detail |
      tags:
        - concession
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Concession_Concession Verification_Response_200'
        '400':
          description: Validation or business-rule failure; body includes `serviceMessage` entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMedicareConcessionverificationV1RequestBadRequestError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                dateOfService:
                  type: string
                  format: date
                  description: >-
                    Date the service is being provided. Defaults to today if not supplied. Cannot be in the future or
                    more than 2 years in the past.
                patient:
                  $ref: >-
                    #/components/schemas/MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatient
              required:
                - patient
  /AIR/v1/authorisation/access/list:
    post:
      operationId: Authorisation
      summary: Authorisation
      description: >
        Check which Australian Immunisation Register (AIR) capabilities an information provider is authorised for.
        Returns an `accessList` of codes, each with `hasAccess: true` or `false`. Use it to decide which AIR actions to
        expose in your interface.


        The **information provider** is the entity sending data to AIR — not necessarily the immunisation provider who
        administered the vaccine. A provider can be registered for AIR but not authorised for every capability
        (recording natural immunity, for example, is granted separately from recording encounters).


        Call this once on first connection, and again if the provider's authorisations change at Services Australia.


        #### Capability Codes


        | Code | Capability | Display label |

        |---|---|---|

        | `IDV` | Identify individual details | Identify Individual |

        | `IDGST` | Update Indigenous status | Indigenous Status |

        | `ADINDT` | Add or remove additional vaccine indicator | Additional Vaccines Required |

        | `NATIMM` | Record natural immunity | Natural Immunity |

        | `MEDCON` | Record medical contraindication | Medical Contraindication |

        | `RECUPD` | Update vaccination encounter | Update Encounter |

        | `RECENC` | Record encounter | Record Encounter |

        | `NXTDUE` | Record planned catch-up date | Planned Catch Up |

        | `IHSPDS` | Get immunisation history statement (PDF) | Immunisation History Statement |

        | `GETIHS` | Get immunisation history details | Immunisation History |

        | `GETMEDCON` | Get medical contraindication history | Medical Contraindication History |

        | `GETNATIMM` | Get natural immunity history | Natural Immunity History |

        | `GETVACTRL` | Get vaccine trial history | Vaccine Trial History |

        | `GETCOV19PDF` | Get COVID-19 digital certificate (PDF) | — |


        <Note>
          Show the **Display label** in your interface for any capability returning `hasAccess: true`. Services Australia certification (NOI) requires the exact wording.
        </Note>


        #### Status Codes


        Returns `AIR-I-1100` on success or `AIR-E-1005` on validation errors. See [AIR Integration](/air) for the
        response envelope, the full code tables, and the HTTP 200 / verbatim-display rules that apply to every AIR
        endpoint.
      tags:
        - authorisation
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Authorisation_Authorisation_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1AuthorisationAccessListPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - informationProvider
  /AIR/v1.4/encounters/record:
    post:
      operationId: Record Encounter
      summary: Record Encounter
      description: >
        Record vaccinations to the Australian Immunisation Register (AIR). One request can carry up to 10 encounters;
        each encounter is a single visit and can hold up to five episodes (one per vaccine administered).


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Modes


        The endpoint accepts two request shapes against the same URL:


        - **Add** — the standard submission. Identify the individual, list the encounter(s), and submit.

        - **Confirm** — re-submit with the `claimId` from a previous response to accept pended episodes (when AIR
        returned warnings such as a dose adjustment) or to create a new individual that AIR couldn't find on the first
        call (`acceptAndConfirm: "Y"`).


        #### Date format


        Date fields (`dateOfBirth`, `dateOfService`) use **DDMMYYYY** with no separators (e.g. `18042016`). This is
        different from the ISO `YYYY-MM-DD` used by Medicare and DVA endpoints.


        #### Identifying the individual


        Provide enough detail for AIR to match the individual. AIR returns `AIR-W-1004` if it can't match — resubmit
        with `individual.acceptAndConfirm: "Y"` and the personal details and address (no Medicare card or IHI) to create
        a new record.


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1007` | All encounter(s) successfully recorded. |

        | `AIR-W-1004` | Individual not found. Resubmit with `acceptAndConfirm: "Y"` if the details are correct. |

        | `AIR-W-1008` | Some encounter(s) not recorded. `claimDetails.encounters[]` shows which failed. |

        | `AIR-E-1005` | Validation errors. See `errors[]`. |

        | `AIR-E-1046` | Encounter-level errors — correct and resubmit, or remove the invalid encounter(s). |


        Encounter-level and episode-level codes (`AIR-I-1000`, `AIR-W-1001`, `AIR-I-1002`, `AIR-I-1003`, `AIR-E-0102`)
        appear in `claimDetails.encounters[].information.code` and
        `claimDetails.encounters[].episodes[].information.code`. See [AIR Integration](/air) for the full list.
      tags:
        - recordEncounter
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Record Encounter_Record Encounter_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
                individual:
                  $ref: '#/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual'
                  description: >-
                    The patient receiving the vaccinations. Required for the Add mode; not required when the request is
                    a Confirm with `claimId`.
                encounters:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems
                  description: One or more encounters (visits). Up to 10 per request. Each can carry up to 5 episodes.
                claimId:
                  type: string
                  description: >-
                    Set this on a Confirm request to the `claimId` returned by the initial Add response. Omit on Add
                    requests.
              required:
                - informationProvider
                - encounters
  /AIR/v1.1/schedule/catchup:
    post:
      operationId: Planned Catch-up Date
      summary: Planned Catch-up Date
      description: >
        Record a planned catch-up date for an individual under 20 who is on a vaccination catch-up schedule. AIR sets
        the date as **today + 6 months** or the individual's **20th birthday**, whichever is earlier, and returns it in
        `catchupDate`.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### When to use this


        Recording a planned catch-up gives the individual an *up-to-date* immunisation status **for family assistance
        payments only**, for the duration of the catch-up period. It does **not** mark the individual up-to-date for
        clinical purposes — their AIR immunisation status stays *not up to date* until every scheduled catch-up
        vaccination is recorded.


        Only one catch-up can ever be recorded per individual. Resubmitting returns `AIR-W-1010` with the existing date.


        #### Not for general catch-up tracking


        This is **not** the right endpoint to mark that an individual is on a vaccination catch-up schedule. For that,
        use the *Additional Vaccines Required* indicator (a special-risk-group flag, separate endpoint).


        #### Acknowledgement text


        Services Australia (NOI) requires the provider to read and agree to a fixed acknowledgement before submitting.
        Display this text in your interface verbatim:


        > Select this if you would like to commence a planned catch up for the individual as you:

        >

        > - were unable to administer all overdue vaccines today; or

        > - are waiting on results to support testing of natural immunity; or

        > - need to order in additional required vaccines.

        >

        > Please note an individual can only ever have one catch up schedule recorded on the AIR.

        >

        > You should not select this if:

        >

        > - you have vaccinated the individual and they are no longer overdue for any vaccines, or

        > - you feel the parent/guardian does not intend to vaccinate the individual.


        #### Date format


        Date fields use **DDMMYYYY** with no separators (e.g. `24022011`).


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1009` | Catch-up date successfully recorded. `catchupDate` returned. |

        | `AIR-W-1010` | Catch-up already exists for the individual. The existing `catchupDate` is returned. |

        | `AIR-W-1011` | A catch-up exists but has expired. The expired `catchupDate` is returned. |

        | `AIR-E-1005` | Validation errors. See `errors[]`. Common case: individual is over 20 (`AIR-E-1047`). |

        | `AIR-E-1006` | Unexpected error. Retry shortly. |
      tags:
        - plannedCatchUp
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Planned Catch-up_Planned Catch-up Date_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individual:
                  $ref: '#/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividual'
                  description: The patient the catch-up is being recorded for. Must be under 20 — over-20s return `AIR-E-1047`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individual
                - informationProvider
  /AIR/v1.1/individual/details:
    post:
      operationId: Identify Individual
      summary: Identify Individual
      description: >
        Look up an individual on the Australian Immunisation Register (AIR), match by Medicare card, IHI, and personal
        details, and receive their AIR record together with an opaque `individualIdentifier` for use in subsequent
        history and update calls.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Individual Identifier


        On a successful match, AIR returns `individualDetails.individualIdentifier` — an opaque, encrypted token unique
        to the individual.


        <Note>
          Treat `individualIdentifier` as opaque. Don't display it to end users, log it in customer-facing analytics, or store it anywhere that might leak. Reuse it on every subsequent AIR call for the same individual (history, exemption, indicator updates).
        </Note>


        Identifiers are not portable across providers — each information provider gets a different token for the same
        individual.


        #### Minimum identification requirements


        AIR matches against four field combinations, evaluated in order. The first one that uniquely identifies an
        individual wins; remaining fields are ignored.


        | Type | Field | 1 | 2 | 3 | 4 |

        |---|---|---|---|---|---|

        | MedicareCard | `medicareCardNumber` | ✓ | | | |

        | PersonalDetails | `dateOfBirth` | ✓ | ✓ | ✓ | ✓ |

        | PersonalDetails | `lastName` | ✓ | ✓ | ✓ | ✓ |

        | PersonalDetails | `firstName` | | ✓ | ✓ | |

        | Address | `postCode` | ✓ | ✓ | | |

        | IHI | `ihiNumber` | ✓ | | | |

        | PersonalDetails | `onlyNameIndicator` | ✓ | | | ✓ |


        Scenario 4 covers individuals with only one name (no `firstName`). Submitting too little returns `AIR-E-1026`
        (*insufficient information*).


        Recommended: send Scenario 1 or Scenario 3 — Medicare card or IHI alongside personal details gives the best
        match.


        #### Date format


        Date fields use **DDMMYYYY** with no separators (e.g. `18042016`).


        #### End-date code


        AIR returns `individualDetails.endDateCode` when the individual has restrictions on their record.


        | `endDateCode` | Meaning | Related code |

        |---|---|---|

        | `ALL` | Record may not be active, but viewable and partially updatable. | `AIR-W-1062` |

        | `LIMITED` | Details cannot be viewed; some updates (including recording new encounters) are still allowed. |
        `AIR-W-1059` |

        | `NONE` | Details cannot be viewed and record cannot be updated. | `AIR-E-1058` |


        <Note>
          Don't display `endDateCode` to end users — it's an internal AIR signal. Use it to drive UI state (read-only, partial-update, full-access) but show the human-readable consequence to the user, not the code itself.
        </Note>


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Individual matched. `individualDetails` returned. |

        | `AIR-W-1062` | Matched, but with `endDateCode: ALL` — record partially restricted. |

        | `AIR-W-1059` | Matched, but with `endDateCode: LIMITED` — details not viewable. |

        | `AIR-E-1005` | Validation errors. Common: `AIR-E-1026` insufficient info, `AIR-E-1035` not found. |

        | `AIR-E-1058` | `endDateCode: NONE` — record cannot be viewed or updated. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Identify Individual_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individual:
                  $ref: '#/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividual'
                  description: >-
                    Identification details. See the *Minimum identification requirements* table in the operation
                    description for valid combinations.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individual
                - informationProvider
  /AIR/v1.3/individual/immunisation-history/details:
    post:
      operationId: Immunisation History Details
      summary: Immunisation History Details
      description: >
        Retrieve an individual's full immunisation history from the Australian Immunisation Register (AIR) — recorded
        encounters with episode detail, plus the list of vaccines currently due.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. The identifier is opaque and bound
        to your information provider.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### What's returned


        - `immunisationDetails.dueList` — vaccines due, by disease, with the next due date.

        - `immunisationDetails.encounters` — recorded encounters with episode details, in submission order. Each episode
        includes `editable` and `actionRequiredIndicator` flags so you can present a correction workflow when the
        individual's `actionRequiredIndicator` is `true`.


        #### Date format


        Date fields use **DDMMYYYY** with no separators (e.g. `18042016`).


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Request was successfully processed. `immunisationDetails` returned (may be empty if no
        history). |

        | `AIR-W-1059` | Individual's record has `endDateCode: LIMITED` — details cannot be viewed. |

        | `AIR-E-1005` | Validation errors. Common: `AIR-E-1061` invalid or expired identifier. |

        | `AIR-E-1058` | Individual's record cannot be viewed or updated. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Immunisation History Details_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: >-
                    Opaque token from a prior [Identify
                    Individual](/api-reference/air/individual-details/identify-individual) call. Bound to your
                    information provider — do not display to end users.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format. Must match the individual matched by `individualIdentifier`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - informationProvider
  /AIR/v1/individual/medical-contraindication/history:
    post:
      operationId: Medical Contraindication History
      summary: Medical Contraindication History
      description: >
        Retrieve the individual's recorded medical contraindications — vaccines they should not receive, with the type
        (temporary or permanent), the reason, and any anaphylaxis date.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. If `medContraindicationIndicator`
        on that response is `false`, this endpoint returns success with no list field.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Request was successfully processed. `medContraindicationList` returned (omitted entirely when
        no contraindications are recorded). |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid or expired identifier). |

        | `AIR-E-1058` | Individual's record cannot be viewed or updated. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Medical Contraindication History_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format. Must match the individual matched by `individualIdentifier`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualMedicalContraindicationHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - informationProvider
  /AIR/v1/individual/natural-immunity/history:
    post:
      operationId: Natural Immunity History
      summary: Natural Immunity History
      description: >
        Retrieve the individual's recorded natural immunities — diseases they're assessed as immune to, with
        notification, lab test, and diagnosis dates.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. If `naturalImmunityIndicator` on
        that response is `false`, this endpoint returns success with no list field.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Request was successfully processed. `naturalImmunityList` returned (omitted entirely when no
        records exist). |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid or expired identifier). |

        | `AIR-E-1058` | Individual's record cannot be viewed or updated. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Natural Immunity History_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format. Must match the individual matched by `individualIdentifier`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualNaturalImmunityHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - informationProvider
  /AIR/v1/individual/vaccine-trial/history:
    post:
      operationId: Vaccine Trial History
      summary: Vaccine Trial History
      description: >
        Retrieve vaccine trials the individual is participating in or has participated in, with the antigen code, dose,
        and trial period.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. If `vaccineTrialIndicator` on that
        response is `false`, this endpoint returns success with no list field.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Request was successfully processed. `vaccineTrialList` returned (omitted entirely when no
        records exist). |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid or expired identifier). |

        | `AIR-E-1058` | Individual's record cannot be viewed or updated. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Vaccine Trial History_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format. Must match the individual matched by `individualIdentifier`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualVaccineTrialHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - informationProvider
  /AIR/v1/individual/additional-vaccine-indicator/add:
    post:
      operationId: Add Additional Vaccine Indicator
      summary: Add Additional Vaccine Indicator
      description: >
        Add an *Additional Vaccines Required* indicator to an individual's AIR record. The indicator flags individuals
        who may need extra vaccines per the Australian Immunisation Handbook for special risk groups (Indigenous,
        chronic conditions, low birth weight, preterm infants).


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Acknowledgement text


        Services Australia (NOI) requires the provider to acknowledge a fixed statement before the indicator is added.
        Display this verbatim and pass `acknowledgement: true` only when the provider confirms:


        > Use this indicator for individuals who may require additional vaccines. Consult the Australian Immunisation
        Handbook for advice and recommendations when vaccinating **special risk groups**. By adding or removing this
        indicator, you acknowledge the individual has given consent to update their record.


        Sending `acknowledgement: false` returns `AIR-E-1065`.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Indicator successfully added. |

        | `AIR-E-1005` | Validation errors. Common: `AIR-E-1065` (acknowledgement not set), `AIR-E-1061` (invalid
        identifier). |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Add Additional Vaccine Indicator_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                acknowledgement:
                  type: boolean
                  description: >-
                    Must be `true`. Set only after the provider has read and agreed to the acknowledgement text above.
                    `false` returns `AIR-E-1065`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualAdditionalVaccineIndicatorAddPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - acknowledgement
                - informationProvider
  /AIR/v1/individual/additional-vaccine-indicator/remove:
    post:
      operationId: Remove Additional Vaccine Indicator
      summary: Remove Additional Vaccine Indicator
      description: >
        Remove the *Additional Vaccines Required* indicator from an individual's AIR record. Mirror of [Add Additional
        Vaccine Indicator](/api-reference/air/individual-details/add-additional-vaccine-indicator) — same request shape,
        same acknowledgement requirement, removes rather than adds.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Acknowledgement text


        Display the same acknowledgement text as for Add, and pass `acknowledgement: true` only after the provider
        confirms. `false` returns `AIR-E-1065`.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Indicator successfully removed. |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1065`, `AIR-E-1061`). |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Remove Additional Vaccine Indicator_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                acknowledgement:
                  type: boolean
                  description: Must be `true`. `false` returns `AIR-E-1065`.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualAdditionalVaccineIndicatorRemovePostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - acknowledgement
                - informationProvider
  /AIR/v1/individual/indigenous-status/update:
    post:
      operationId: Indigenous Status Update
      summary: Indigenous Status Update
      description: >
        Record an individual's Indigenous status directly on AIR. The status drives clinical schedule decisions
        (additional vaccines under the National Immunisation Program for Aboriginal and Torres Strait Islander people)
        and won't be overridden by Medicare.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. AIR determines whether the update
        is allowed at the time of the call.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Consent


        Seek consent from the individual at the time of the vaccination encounter before recording their Indigenous
        status on AIR.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Status successfully updated. |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid identifier, `AIR-E-1067` action not permitted for
        this record). |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Indigenous Status Update_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                indigenousStatus:
                  type: boolean
                  description: '`true` if the individual identifies as Aboriginal or Torres Strait Islander; `false` otherwise.'
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualIndigenousStatusUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - indigenousStatus
                - informationProvider
  /AIR/v1/individual/immunisation-history/statement:
    post:
      operationId: Immunisation History Statement
      summary: Immunisation History Statement
      description: >
        Generate the individual's official AIR immunisation history statement as a PDF. The response carries the PDF as
        a base64-encoded string in `immunisationHistoryStatement.fileContent`.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### What's in the statement


        The PDF shows every vaccine recorded on AIR (including overseas vaccines reported to the individual's provider),
        assessed up-to-date status for under-7s and 14–19-year-olds, and any planned catch-up dates.


        #### Decoding the PDF


        Base64-decode `fileContent` into bytes and write them to a `.pdf` file. The result is a Services
        Australia-issued statement suitable for the individual to keep or print.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Statement generated. `fileContent` returned. |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid identifier). |

        | `AIR-E-1058` | Individual's record cannot be viewed. |

        | `AIR-E-1078` | Statement cannot be generated or viewed at this time. |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Immunisation History Statement_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualImmunisationHistoryStatementPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - informationProvider
  /AIR/v1.3/encounter/update:
    post:
      operationId: Update Encounter
      summary: Update Encounter
      description: >
        Update a single encounter previously submitted via [Record
        Encounter](/api-reference/air/record-encounter/record-encounter). Use this to correct mistakes — wrong batch,
        wrong dose, wrong vaccine — for encounters your information provider originally submitted.


        Identifies the encounter to update by `claimId` + `claimSeqNum` + `immEncSeqNum` (returned from Record Encounter
        or visible in [Immunisation History
        Details](/api-reference/air/individual-details/immunisation-history-details)). Only encounters where `editable:
        true` in the history response can be updated by your provider.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Fields you can update


        Send the encounter's full new state — AIR replaces the existing encounter wholesale. Include all episodes, even
        unchanged ones; omitting an episode removes it.


        The episode-level and encounter-level fields are the same as on [Record
        Encounter](/api-reference/air/record-encounter/record-encounter) (vaccine code, dose, batch, type, route,
        antenatal indicator, overseas flag, etc.). The vaccine-mandatory rules also apply.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Update successful. The updated `encounter` is returned. |

        | `AIR-E-1005` | Validation errors (e.g. `AIR-E-1061` invalid identifier, `AIR-E-1052` encounter not found,
        `AIR-E-1064` not authorised to update). |
      tags:
        - individualDetails
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Individual Details_Update Encounter_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                encounter:
                  $ref: '#/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounter'
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - encounter
                - informationProvider
  /AIR/v1/individual/medical-contraindication/record:
    post:
      operationId: Record Medical Contraindication
      summary: Record Medical Contraindication
      description: >
        Record a medical contraindication for an individual — a permanent or temporary reason a specific vaccine should
        not be administered. Assessed only by a general practitioner, paediatrician, public health physician, infectious
        diseases physician, or clinical immunologist.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. The information provider must be
        authorised for `MEDCON` (check via [Authorisation](/api-reference/air/authorisation/authorisation)) —
        unauthorised providers return `AIR-E-1063`.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Contraindication recorded. |

        | `AIR-E-1005` | Validation errors. Common: `AIR-E-1063` provider not authorised, `AIR-E-1048` invalid reason
        for vaccine, `AIR-E-1083` contraindication for this disease already recorded. |
      tags:
        - medicalExemptions
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Medical Exemptions_Record Medical Contraindication_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                contraindication:
                  $ref: >-
                    #/components/schemas/AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindication
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - contraindication
                - informationProvider
  /AIR/v1/individual/natural-immunity/record:
    post:
      operationId: Record Natural Immunity
      summary: Record Natural Immunity
      description: >
        Record a natural immunity for an individual — a disease they've contracted and are now immune to. Assessed only
        by a general practitioner, paediatrician, public health physician, infectious diseases physician, or clinical
        immunologist.


        Requires an `individualIdentifier` from a prior [Identify
        Individual](/api-reference/air/individual-details/identify-individual) call. The information provider must be
        authorised for `NATIMM` (check via [Authorisation](/api-reference/air/authorisation/authorisation)) —
        unauthorised providers return `AIR-E-1063`.


        For shared response patterns and the full status-code list, see [AIR Integration](/air).


        #### Eligible diseases


        Per the AIR spec, natural immunity can be recorded for: `HEP` (Hepatitis), `MEA` (Measles), `MUM` (Mumps), `QAX`
        (Q fever), `RUB` (Rubella), `VAR` (Varicella).


        #### Date format


        Date fields use **DDMMYYYY** with no separators.


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `AIR-I-1100` | Immunity recorded. |

        | `AIR-E-1005` | Validation errors. Common: `AIR-E-1063` provider not authorised, `AIR-E-1049` immunity for this
        disease already recorded. |
      tags:
        - medicalExemptions
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Medical Exemptions_Record Natural Immunity_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                individualIdentifier:
                  type: string
                  description: Opaque token from a prior Identify Individual call.
                individualDateOfBirth:
                  type: string
                  description: DDMMYYYY format.
                immunity:
                  $ref: >-
                    #/components/schemas/AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunity
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
              required:
                - individualIdentifier
                - individualDateOfBirth
                - immunity
                - informationProvider
  /AIR/v1/refdata/vaccine:
    get:
      operationId: Vaccines
      summary: Vaccines
      description: >
        List every vaccine recognised by AIR with its full metadata — antigens, category, funding type, route,
        batch/type/antenatal mandates, dose limits, validity dates.


        Optionally filter by `vaccineCategoryCode` (e.g. `FLU`, `NIP`, `COV19`, `NONST`) to narrow the result to one
        category.


        For shared response patterns see [AIR Integration](/air).
      tags:
        - referenceData
      parameters:
        - name: vaccineCategoryCode
          in: query
          description: >-
            Optional. Filter to a single category (e.g. `FLU`, `NIP`, `COV19`, `NONST`). See the [Vaccine
            Categories](/api-reference/air/reference-data/vaccine-categories) lookup for valid values.
          required: false
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Vaccines_Response_200'
  /AIR/v1/refdata/vaccine/{vaccineCode}:
    get:
      operationId: Vaccine by Code
      summary: Vaccine by Code
      description: >
        Look up a single vaccine by its AIR code. Returns the same shape as the
        [Vaccines](/api-reference/air/reference-data/vaccines) list endpoint, scoped to one entry.
      tags:
        - referenceData
      parameters:
        - name: vaccineCode
          in: path
          description: AIR vaccine code (e.g. `BCG`, `BEXO`, `BOOST`).
          required: true
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Vaccine by Code_Response_200'
  /AIR/v1/refdata/vaccineCategory:
    get:
      operationId: Vaccine Categories
      summary: Vaccine Categories
      description: >
        List all AIR vaccine categories used to group vaccines (NIP, COVID-19, Influenza, Non-standard). Use the
        `vaccineCategoryCode` value as a filter on the [Vaccines](/api-reference/air/reference-data/vaccines) lookup.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Vaccine Categories_Response_200'
  /AIR/v1/refdata/vaccineFundingType:
    get:
      operationId: Vaccine Funding Types
      summary: Vaccine Funding Types
      description: >
        List the funding types AIR uses to classify how a vaccine was funded (NIP, Other, Antenatal, Private/State,
        etc.).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Vaccine Funding Types_Response_200'
  /AIR/v1/refdata/vaccineType:
    get:
      operationId: Vaccine Types
      summary: Vaccine Types
      description: |
        List the AIR vaccine type values used on encounter episodes (`NIP`, `OTH`).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Vaccine Types_Response_200'
  /AIR/v1/refdata/routeOfAdministration:
    get:
      operationId: Routes of Administration
      summary: Routes of Administration
      description: >
        List the AIR route of administration codes used on encounter episodes (`PO` Oral, `SC` Subcutaneous, `ID`
        Intradermal, `IM` Intramuscular, `NS` Nasal).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Routes of Administration_Response_200'
  /AIR/v1/refdata/antigen:
    get:
      operationId: Antigens
      summary: Antigens
      description: >
        List every antigen recognised by AIR with its name, maximum dose, and whether natural immunity can be recorded
        against it.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Antigens_Response_200'
  /AIR/v1/refdata/antigen/{antigenCode}:
    get:
      operationId: Antigen by Code
      summary: Antigen by Code
      description: >
        Look up a single antigen by its AIR code. Returns the same shape as the
        [Antigens](/api-reference/air/reference-data/antigens) list endpoint, scoped to one entry.
      tags:
        - referenceData
      parameters:
        - name: antigenCode
          in: path
          description: AIR antigen code (e.g. `CAC`, `HEP`, `FLU`).
          required: true
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Antigen by Code_Response_200'
  /AIR/v1/refdata/country:
    get:
      operationId: Countries
      summary: Countries
      description: >
        List ICAO country/region codes that AIR accepts for the `countryCode` field on overseas-administered encounters.
        `ZZZ` is the "Unknown" sentinel.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Countries_Response_200'
  /AIR/v1/refdata/gender:
    get:
      operationId: Genders
      summary: Genders
      description: >
        List the AIR gender values accepted on individual records (`F` Female, `M` Male, `X` Non-binary). Empty-string
        entries are returned for backwards compatibility — submit them only if AIR returns them on an existing
        individual.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Genders_Response_200'
  /AIR/v1/refdata/age/mandatory/antenatalIndicator:
    get:
      operationId: Antenatal Age Range
      summary: Antenatal Age Range
      description: >
        Return the age range (in years) within which the `antenatalIndicator` field is mandatory on a Record Encounter
        request — currently female individuals aged 10–65 receiving certain vaccines.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Antenatal Age Range_Response_200'
  /AIR/v1/refdata/vaccine/mandatory/vaccineBatch:
    get:
      operationId: Mandatory Vaccine Batch
      summary: Mandatory Vaccine Batch
      description: >
        List the vaccines for which `vaccineBatch` is mandatory on a [Record
        Encounter](/api-reference/air/record-encounter/record-encounter) episode (when the information provider is also
        the immunisation provider).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Mandatory Vaccine Batch_Response_200'
  /AIR/v1/refdata/vaccine/mandatory/routeOfAdministration:
    get:
      operationId: Mandatory Route of Administration
      summary: Mandatory Route of Administration
      description: >
        List the vaccines for which `routeOfAdministration` is mandatory on a [Record
        Encounter](/api-reference/air/record-encounter/record-encounter) episode (when the information provider is also
        the immunisation provider).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Mandatory Route of Administration_Response_200'
  /AIR/v1/refdata/vaccine/mandatory/vaccineType:
    get:
      operationId: Mandatory Vaccine Type
      summary: Mandatory Vaccine Type
      description: >
        List the vaccines for which `vaccineType` is mandatory on a [Record
        Encounter](/api-reference/air/record-encounter/record-encounter) episode (when the information provider is also
        the immunisation provider).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Mandatory Vaccine Type_Response_200'
  /AIR/v1/refdata/vaccine/mandatory/antenatalIndicator:
    get:
      operationId: Mandatory Antenatal Indicator
      summary: Mandatory Antenatal Indicator
      description: >
        List the vaccines for which `antenatalIndicator` is mandatory on a [Record
        Encounter](/api-reference/air/record-encounter/record-encounter) episode (combined with the age range from
        [Antenatal Age Range](/api-reference/air/reference-data/antenatal-age-range)).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Mandatory Antenatal Indicator_Response_200'
  /AIR/v1/refdata/vaccine/allowable/medicalContraindication:
    get:
      operationId: Allowable Medical Contraindication
      summary: Allowable Medical Contraindication
      description: >
        List the vaccines that can have a medical contraindication recorded against them via [Record Medical
        Contraindication](/api-reference/air/medical-exemptions/record-medical-contraindication).
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Allowable Medical Contraindication_Response_200'
  /AIR/v1/refdata/antigen/allowable/naturalImmunity:
    get:
      operationId: Allowable Natural Immunity
      summary: Allowable Natural Immunity
      description: >
        List the antigens for which natural immunity can be recorded via [Record Natural
        Immunity](/api-reference/air/medical-exemptions/record-natural-immunity). Currently: `HEP`, `MEA`, `MUM`, `QAX`,
        `RUB`, `VAR`.
      tags:
        - referenceData
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIR_Reference Data_Allowable Natural Immunity_Response_200'
servers:
  - url: https://api.rebateright.com.au
    description: Production
  - url: https://test-api.rebateright.com.au
    description: Test
components:
  schemas:
    MBS_Get MBS Item_Response_200:
      type: object
      properties:
        Group:
          type: string
        Category:
          type: string
        SubGroup:
          type:
            - string
            - 'null'
        DerivedFee:
          description: Any type
        ItemNumber:
          type: string
        BenefitType:
          type: string
        Description:
          type: string
        ScheduleFee:
          type: string
        ItemStartDate:
          type: string
          format: date
        EligibleAgeRange:
          type:
            - string
            - 'null'
        EligiblePatientSex:
          description: Any type
        ReferralRequirements:
          type:
            - string
            - 'null'
        ScheduleFeeStartDate:
          type: string
          format: date
        ClaimHistoryLimitation:
          type:
            - string
            - 'null'
      required:
        - Group
        - Category
        - ItemNumber
        - BenefitType
        - Description
        - ScheduleFee
        - ItemStartDate
        - ScheduleFeeStartDate
      title: MBS_Get MBS Item_Response_200
    MedicareItemsGetResponsesContentApplicationJsonSchemaMedicareItemsItems:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number (the integrator-facing identifier).
        Description:
          type: string
          description: Official MBS item description text.
        Category:
          type: string
          description: MBS category (top-level grouping, e.g. `1` for Professional Attendances).
        Group:
          type: string
          description: MBS group within the category (e.g. `A1`).
        SubGroup:
          type: string
          description: MBS sub-group within the group; absent when the item is not sub-grouped.
        BenefitType:
          type: string
          description: Benefit tier for the item (for example `_100`, `_75_85`, `_75_100`).
        ScheduleFee:
          type: string
          description: >-
            Current schedule fee in dollars as a decimal string (e.g. `43.90`). Absent for items priced via
            `DerivedFee`.
        ScheduleFeeStartDate:
          type: string
          format: date
          description: Date the current `ScheduleFee` took effect.
        DerivedFee:
          type: string
          description: >-
            Derivation formula used when the fee is derived from another item; present instead of `ScheduleFee` for such
            items.
        ItemStartDate:
          type: string
          format: date
          description: Date the MBS item was introduced.
        ClaimHistoryLimitation:
          type:
            - string
            - 'null'
          description: >-
            Frequency-of-service limit for the item, derived from the MBS rules and item notes (for example, "applicable
            not more than once in a 12 month period"). Absent when the item has no frequency limit.
        EligiblePatientSex:
          type:
            - string
            - 'null'
          description: Patient sex the item is restricted to. Present only when the item is sex-restricted.
        EligibleAgeRange:
          type:
            - string
            - 'null'
          description: Patient age range the item is restricted to. Present only when the item is age-restricted.
        ReferralRequirements:
          type:
            - string
            - 'null'
          description: Referral requirement note for the item. Present only when a referral is required.
      required:
        - ItemNumber
        - Description
        - Category
        - Group
        - BenefitType
        - ItemStartDate
      title: MedicareItemsGetResponsesContentApplicationJsonSchemaMedicareItemsItems
    MBS_Get All MBS Items_Response_200:
      type: object
      properties:
        ItemsCount:
          type: integer
          description: >-
            Number of items returned in `MedicareItems`. On a paged response this is the size of the page you received,
            which on the last page can be smaller than `PageSize`.
        TotalCount:
          type: integer
          description: >-
            Number of items matching the request before paging, across every page. Present only on a paged response.
            Divide by `PageSize` and round up for the page count.
        PageNumber:
          type: integer
          description: The `pageNumber` that produced this response. Present only on a paged response.
        PageSize:
          type: integer
          description: The `pageSize` that produced this response. Present only on a paged response.
        MedicareItems:
          type: array
          items:
            $ref: '#/components/schemas/MedicareItemsGetResponsesContentApplicationJsonSchemaMedicareItemsItems'
          description: The MBS items for this request. One entry per item number.
      required:
        - ItemsCount
        - MedicareItems
      title: MBS_Get All MBS Items_Response_200
    MBS_Benefit Calculator_Response_200:
      type: object
      properties:
        ItemNumber:
          type: string
          description: The item that was priced, such as `"5010"`, echoed back with the default applied if you omitted it.
        PatientsSeen:
          type: integer
          description: The patient count used, with the default applied if you omitted it.
        InHospitalTreatment:
          type: boolean
          description: The setting the calculation used.
        ScheduleFee:
          type:
            - string
            - 'null'
          description: >-
            The MBS schedule fee per patient, in whole dollars and cents such as `"53.35"`. It is `null` when the fee
            could not be determined.
        Benefit:
          type:
            - string
            - 'null'
          description: >-
            What Medicare pays per patient, in whole dollars and cents such as `"53.35"`. It is `null` when the benefit
            could not be calculated, and `Reason` says why.
        TotalBenefit:
          type:
            - string
            - 'null'
          description: >-
            `Benefit` multiplied by `PatientsSeen`: what Medicare pays across the whole occasion. It is `null` whenever
            `Benefit` is.
        Reason:
          type: string
          description: >-
            How the amounts were worked out, in one sentence you can show as it is. Never parse it, because the wording
            changes.
        ReasonCode:
          type: string
          description: >
            A code for that reason, for analytics only.


            | Code | Meaning |

            |---|---|

            | `Calculated` | The fee and benefit were calculated. |

            | `InvalidRequest` | A request value failed validation; `Reason` says which. |

            | `ItemNotFound` | The item number is not in the current MBS. |

            | `ScheduleFeeNotAvailable` | The item exists but its fee is not available in the MBS data. |

            | `FeeDependsOnOtherServices` | The item's fee is derived from details this calculator does not have, such
            as the other services performed or the time taken. `Reason` quotes the schedule's own rule. |

            | `BenefitNotDetermined` | The fee is known but the benefit percentage could not be determined. |


            New codes appear as coverage grows and are not a breaking change.
      required:
        - ItemNumber
        - PatientsSeen
        - InHospitalTreatment
        - ScheduleFee
        - Benefit
        - TotalBenefit
        - Reason
        - ReasonCode
      title: MBS_Benefit Calculator_Response_200
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts:
      type: object
      properties:
        OldTotalItems:
          type: integer
          description: Total MBS items in the previous release.
        NewTotalItems:
          type: integer
          description: Total MBS items in the current release.
        AddedItems:
          type: integer
          description: Items present in the current release but not the previous one.
        RemovedItems:
          type: integer
          description: Items present in the previous release but not the current one.
        ModifiedItems:
          type: integer
          description: Items present in both releases with at least one changed field.
        ModifiedItemsByEachField:
          type: object
          additionalProperties:
            type: integer
          description: >-
            Count of modified items broken down by field. Keyed by field name — for example `ScheduleFee`,
            `ScheduleFeeStartDate`, `Description`, `DerivedFee`, `BenefitType`, `ClaimHistoryLimitation`.
      description: How many items changed between the two releases.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers:
      type: object
      properties:
        AddedItems:
          type: array
          items:
            type: string
          description: Item numbers added in the current release.
        RemovedItems:
          type: array
          items:
            type: string
          description: Item numbers removed in the current release.
        ModifiedItems:
          type: array
          items:
            type: string
          description: Item numbers with at least one changed field.
        ModifiedItemsByEachField:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Modified item numbers broken down by field, keyed by field name.
      description: The item numbers behind `ChangedCounts`, grouped the same way.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers
    MbsItem:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number (the integrator-facing identifier).
        Description:
          type: string
          description: Official MBS item description text.
        Category:
          type: string
          description: MBS category (top-level grouping, e.g. `1` for Professional Attendances).
        Group:
          type: string
          description: MBS group within the category (e.g. `A1`).
        SubGroup:
          type:
            - string
            - 'null'
          description: MBS sub-group within the group; `null` when the item is not sub-grouped.
        BenefitType:
          type: string
          description: Benefit tier for the item (for example `_100`, `_85`, `_75_85`).
        ScheduleFee:
          type:
            - string
            - 'null'
          description: Schedule fee in dollars as a decimal string (e.g. `489.90`); `null` for items priced via `DerivedFee`.
        ScheduleFeeStartDate:
          type:
            - string
            - 'null'
          format: date
          description: Date the current `ScheduleFee` took effect.
        DerivedFee:
          type:
            - string
            - 'null'
          description: >-
            Derivation formula used when the fee is derived from another item; present instead of `ScheduleFee` for such
            items.
        ClaimHistoryLimitation:
          type:
            - string
            - 'null'
          description: Claim-frequency limitation RebateRight derives from the description; `null` when the item has none.
        EligiblePatientSex:
          type:
            - string
            - 'null'
          description: Patient sex the item is restricted to, when applicable; `null` when unrestricted.
        EligibleAgeRange:
          type:
            - string
            - 'null'
          description: Patient age range the item is restricted to, in plain English; `null` when unrestricted.
        ReferralRequirements:
          type:
            - string
            - 'null'
          description: Referral requirement RebateRight derives from the description; `null` when the item needs no referral.
        ItemStartDate:
          type: string
          format: date
          description: Date the MBS item was introduced.
      required:
        - ItemNumber
        - Description
      description: A full MBS item record.
      title: MbsItem
    FieldChange:
      type: object
      properties:
        FieldName:
          type: string
          description: The field that changed (for example `ScheduleFee`, `Description`, `ClaimHistoryLimitation`).
        OldValue:
          type: string
          description: The value in the previous release. An empty string when the field was previously unset.
        NewValue:
          type: string
          description: The value in the current release.
      required:
        - FieldName
        - OldValue
        - NewValue
      description: One field's old and new value.
      title: FieldChange
    ModifiedItem:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number that changed.
        Changes:
          type: array
          items:
            $ref: '#/components/schemas/FieldChange'
          description: One entry per field that changed on this item.
      required:
        - ItemNumber
        - Changes
      description: A single item that changed between releases.
      title: ModifiedItem
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems:
      type: object
      properties:
        AddedItems:
          type: array
          items:
            $ref: '#/components/schemas/MbsItem'
          description: Items added in the current release, in full.
        RemovedItems:
          type: array
          items:
            $ref: '#/components/schemas/MbsItem'
          description: Items removed in the current release, in full, as they appeared in the previous release.
        ModifiedItems:
          type: array
          items:
            $ref: '#/components/schemas/ModifiedItem'
          description: Items changed between releases, each with a field-by-field old/new list.
      description: The full detail behind the comparison.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems
    MBS_Get MBS Changes_Response_200:
      type: object
      properties:
        Title:
          type: string
          description: Human-readable summary line naming the release this comparison describes.
        ChangedCounts:
          $ref: '#/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts'
          description: How many items changed between the two releases.
        ChangedItemNumbers:
          $ref: '#/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers'
          description: The item numbers behind `ChangedCounts`, grouped the same way.
        ChangedItems:
          $ref: '#/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems'
          description: The full detail behind the comparison.
      required:
        - Title
        - ChangedCounts
        - ChangedItemNumbers
        - ChangedItems
      title: MBS_Get MBS Changes_Response_200
    Providers_Servicing Provider Eligibility_Response_200:
      type: object
      properties:
        IsEligible:
          type: boolean
          description: Whether the provider is eligible to perform and claim the item.
        Reason:
          type: string
          description: >-
            Plain-language explanation of the eligibility decision, naming the matching or eligible specialties, the MBS
            group or item rule applied, and any "verify separately" note.
      required:
        - IsEligible
        - Reason
      title: Providers_Servicing Provider Eligibility_Response_200
    VerifyPatientPostRequestBodyContentApplicationJsonSchemaPatientSex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding). Medicare does not fail verification on a sex mismatch
        alone and does not report a correction for this field.

        | Code | Meaning |
        |---|---|
        | `1` | Male |
        | `2` | Female |
        | `3` | Other |
        | `9` | Not stated / inadequately described |
      title: VerifyPatientPostRequestBodyContentApplicationJsonSchemaPatientSex
    Medicare Eligibility_Patient Verification_Response_200:
      type: object
      properties:
        Verified:
          type:
            - boolean
            - 'null'
          description: >-
            Tri-state outcome: `true` (**`patient verified`**) if the patient's details are verified with Medicare,
            `false` (**`details don't match`**) if the details you hold don't match Medicare's current record, `null`
            (**`cannot determine`**) if the details couldn't be checked against Medicare's record. `Reason` explains
            which, and **Reading the result** above covers what to do with each.
        Reason:
          type: string
          description: Human-readable explanation of the outcome, partly passthrough from Medicare; display it exactly as returned.
        ReasonCode:
          type: string
          description: |
            Machine-readable label for this outcome. Always present.

            **Use it for analytics and grouping, not for branching.** The codes are refined over
            time as RebateRight's coverage grows, so treat them as an open set and handle
            unfamiliar values gracefully. Branch on `Verified`, which is stable.
        CorrectSex:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare does not report corrections to sex.
        CorrectGivenName:
          type:
            - string
            - 'null'
          description: >-
            Corrected given name when Medicare's records differ and the given name is the only field wrong; `null`
            otherwise.
        CorrectFamilyName:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare does not report corrections to family name.
        CorrectDateOfBirth:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare signals a DOB mismatch in `Reason` but does not return the correct value.
        CorrectMedicareNumber:
          type:
            - string
            - 'null'
          description: Corrected 10-digit Medicare card number when Medicare has re-issued the card; `null` otherwise.
        CorrectMedicareReferenceNumber:
          type:
            - string
            - 'null'
          description: >-
            Corrected IRN when the IRN was the only field wrong, or when a new Medicare card has been issued; `null`
            otherwise.
      required:
        - Verified
        - Reason
        - ReasonCode
      description: Patient-verification result.
      title: Medicare Eligibility_Patient Verification_Response_200
    CalculateRebatePostRequestBodyContentApplicationJsonSchemaPatientSex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding).

        | Code | Meaning |
        |---|---|
        | `1` | Male |
        | `2` | Female |
        | `3` | Other |
        | `9` | Not stated / inadequately described |

        On a sex-restricted item, `9` returns `IsEligible: null`, since the restriction can't be
        checked without a recorded sex.
      title: CalculateRebatePostRequestBodyContentApplicationJsonSchemaPatientSex
    CalculateRebatePostRequestBodyContentApplicationJsonSchemaMedicareItemsItems:
      type: object
      properties:
        ItemNumber:
          type: string
          description: Numeric MBS item number (`1`–`99999`, up to 5 digits).
        ChargeAmount:
          type: string
          description: >-
            Optional. Overrides the charge sent to Medicare for this item, expressed in **whole cents** as a numeric
            string (`100`–`999999`, no decimal, no spaces — `$1.00` is `"100"`, `$150.00` is `"15000"`). Minimum `"100"`
            (`$1.00`). When omitted, RebateRight supplies a high default so eligibility isn't masked by under-charging.
        MedicalEventId:
          type: string
          description: >-
            Optional. Groups items into the same medical event (same provider, same visit). Items sharing a value are
            sent to Medicare under one medical event; items with no `MedicalEventId` each become their own event. Useful
            for coning and same-day-rule evaluation.
        FieldQuantity:
          type: string
          description: Optional. Service quantity passed to Medicare as `fieldQuantity`. Leave unset for single-service items.
        NumberOfPatientsSeen:
          type: string
          description: Optional. Number of patients seen for a group attendance item (`1`–`99`).
        NotNormalAftercare:
          type: boolean
          description: >-
            Optional. Set to `true` to flag the service as **not normal aftercare** (sends `aftercareOverrideInd` = `Y`
            to Medicare). Use only when the aftercare rule genuinely doesn't apply.
        MoreThanOnceOnSameDay:
          type: boolean
          description: >-
            Optional. Set to `true` to override Medicare's duplicate-service rule when the same item legitimately
            happens more than once on the same day (sends `duplicateServiceOverrideInd` = `Y`).
        IgnoreItemRestrictions:
          type: boolean
          description: >-
            Optional. Overrides Medicare's item-restriction rule (`restrictionOverrideInd`). `true` sends `Y`, `false`
            sends `N`; omit to let Medicare apply the default.
        IgnoreTimeDependantRestrictions:
          type: boolean
          description: >-
            Optional. Overrides Medicare's time-dependant restriction rule (`timeDependantOverrideInd`). `true` sends
            `Y`, `false` sends `N`; omit to let Medicare apply the default.
        NonMBSItem:
          type: boolean
          description: >-
            Optional. Set to `true` to indicate the item is not an MBS-coded item, which suppresses the
            `serviceCodeTypeCode` = `C` flag on the Medicare payload.
      required:
        - ItemNumber
      description: |
        A single MBS item to evaluate.

        Only `ItemNumber` is required. The remaining fields are **optional service overrides** used when
        integrators need precise control over how the item is sent to Medicare or to group multiple items
        into the same medical event — ignore them all if you don't need that control.
      title: CalculateRebatePostRequestBodyContentApplicationJsonSchemaMedicareItemsItems
    CalculateRebatePostResponsesContentApplicationJsonSchemaPatientVerification:
      type: object
      properties:
        Verified:
          type:
            - boolean
            - 'null'
          description: >
            | `Verified` | Result | Meaning |

            |---|---|---|

            | `true` | **`patient verified`** | Patient details verified with Medicare. |

            | `false` | **`details don't match`** | The details you hold don't match Medicare's current record. Correct
            the patient's record before claiming. |

            | `null` | **`cannot determine`** | The details couldn't be checked against Medicare's record. `Reason` says
            what stopped it. |


            Same three values as `IsEligible`, and **`cannot determine`** means the same

            thing on both. A Medicare error reads `null`, never `false`. **`patient verified`**

            covers the fields Medicare checks, not every field you sent — it does not check

            family name or sex, so those can still differ.
        Reason:
          type: string
          description: >-
            Human-readable explanation of the check outcome — Medicare's determination, or the validation failure when
            the Medicare call never ran.
        ReasonCode:
          type: string
          description: |
            Machine-readable label for this outcome. Always present.

            **Use it for analytics and grouping, not for branching.** The codes are refined
            over time as RebateRight's coverage grows, so treat them as an open set and
            handle unfamiliar values gracefully. Branch on `Verified`, which is stable.
        CorrectSex:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare does not report corrections to sex.
        CorrectGivenName:
          type:
            - string
            - 'null'
          description: >-
            Corrected given name when Medicare's records differ and the given name is the only field wrong; `null`
            otherwise.
        CorrectFamilyName:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare does not report corrections to family name.
        CorrectDateOfBirth:
          type:
            - string
            - 'null'
          description: Always `null` — Medicare signals a date-of-birth mismatch in `Reason` but does not return the correct value.
        CorrectMedicareNumber:
          type:
            - string
            - 'null'
          description: Corrected 10-digit Medicare card number when Medicare has re-issued the card; `null` otherwise.
        CorrectMedicareReferenceNumber:
          type:
            - string
            - 'null'
          description: >-
            Corrected IRN when the IRN was the only field wrong, or when a new Medicare card has been issued; `null`
            otherwise.
      required:
        - Verified
        - Reason
        - ReasonCode
      description: >-
        Did Medicare recognise this patient? Always present. Same outcome as the [Patient
        Verification](/api-reference/medicare-eligibility/patient-verification) endpoint, which documents the
        corrections in full.
      title: CalculateRebatePostResponsesContentApplicationJsonSchemaPatientVerification
    CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItemsChecksItems:
      type: object
      properties:
        Title:
          type: string
          description: >-
            Stable check category, suitable for grouping or display (for example `Patient age`, `Referrer eligibility`,
            `Servicing provider`, or `Frequency of service`). Titles stay constant even as the underlying `Reason` and
            `ReasonCode` evolve.
        IsEligible:
          type:
            - boolean
            - 'null'
          description: >
            Tri-state result for this check, same shape as the item-level answer:


            | `IsEligible` | Result | Meaning |

            |---|---|---|

            | `true` | **`eligible`** | The check found the item eligible. |

            | `false` | **`not eligible`** | The check found the item not eligible. |

            | `null` | **`cannot determine`** | `Reason` says what this check needed — for example a referrer-restricted
            item with no `ReferrerProviderNumber` supplied. |
        Reason:
          type: string
          description: >-
            Plain-language finding for this specific check. For a not-eligible or undetermined check, this is the same
            wording that reaches the item-level `Reason`. Partly passthrough from Services Australia: display it to
            staff or patients exactly as returned and don't parse it; the wording is refined over time.
        ReasonCode:
          type: string
          description: |
            Machine-readable label for this check's outcome. Always present.

            **Use it for analytics and grouping, not for branching.** The codes are
            refined over time as RebateRight's coverage grows, so treat them as an open
            set and handle unfamiliar values gracefully. Branch on `IsEligible`, which
            is stable.
      required:
        - Title
        - IsEligible
        - Reason
        - ReasonCode
      title: CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItemsChecksItems
    CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItems:
      type: object
      properties:
        ItemNumber:
          type: string
          description: Echo of the submitted MBS item number.
        IsEligible:
          type:
            - boolean
            - 'null'
          description: |
            Can the patient claim this item: `true`, `false`, or `null` when it couldn't be
            determined. Branch on all three.

            It follows the item's checks: `false` if any check found it not eligible, otherwise
            `null` if any couldn't be determined, otherwise `true`. `Checks` shows which.
        Reason:
          type: string
          description: >-
            One plain sentence explaining the answer, for display exactly as returned. It comes from the first check
            that didn't clear the item, or confirms eligibility when they all cleared. It's a convenience for surfaces
            showing one line per item; read `Checks` for the full picture.
        ReasonCode:
          type: string
          description: |
            Machine-readable label for this outcome, taken from the same check as `Reason`.
            Always present.

            **Use it for analytics and grouping, not for branching.** The codes are refined
            over time as RebateRight's coverage grows, so treat them as an open set and
            handle unfamiliar values gracefully. Branch on `IsEligible`, which is stable.
        Benefit:
          type: string
          description: >-
            Medicare benefit payable for this item, as a **dollar decimal string** (for example `"20.05"`). `"0"` when
            no benefit is payable. Dollars, not cents; RebateRight's Bulk Bill reports use cents.
        ItemScheduleFee:
          type:
            - string
            - 'null'
          description: >-
            MBS schedule fee for this item at `DateOfService`, as a **dollar decimal string** (for example `"452.05"`).
            `null` when no fee could be established; an unknown item that Medicare still assessed returns `"0"`.
        Checks:
          type: array
          items:
            $ref: '#/components/schemas/CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItemsChecksItems'
          description: >-
            One entry per check that ran on this item. This is the structured way to read an outcome: iterate it to see
            what each check found, instead of parsing the item's `Reason`.
      required:
        - ItemNumber
        - IsEligible
        - Reason
        - ReasonCode
        - Benefit
        - ItemScheduleFee
        - Checks
      title: CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItems
    Medicare Eligibility_Eligibility Check_Response_200:
      type: object
      properties:
        PatientVerification:
          $ref: '#/components/schemas/CalculateRebatePostResponsesContentApplicationJsonSchemaPatientVerification'
          description: >-
            Did Medicare recognise this patient? Always present. Same outcome as the [Patient
            Verification](/api-reference/medicare-eligibility/patient-verification) endpoint, which documents the
            corrections in full.
        Rebates:
          type: array
          items:
            $ref: '#/components/schemas/CalculateRebatePostResponsesContentApplicationJsonSchemaRebatesItems'
          description: >-
            One entry per item you sent, on every response. Match entries by `ItemNumber` rather than by position, since
            rules that weigh items against each other (such as coning) can reorder them. If you sent the same item
            twice, the duplicates keep their relative order.
        Reason:
          type: string
          description: >-
            Legacy summary field, kept for backward compatibility. New integrations can ignore it and read
            `PatientVerification` and `Rebates` instead.
      required:
        - PatientVerification
        - Rebates
        - Reason
      description: >-
        Eligibility result. On validation failure, `PatientVerification.Verified` is `null`, `IsEligible` is `null` on
        every `Rebates` entry, and the failure is described in `PatientVerification.Reason` and in each entry's
        `Reason`.
      title: Medicare Eligibility_Eligibility Check_Response_200
    EligibilityDisclaimerPostRequestBodyContentApplicationJsonSchemaMedicareItemsItems:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number.
        ChargeAmount:
          type: string
          description: Amount charged to the patient as a decimal string (e.g. `100.00`).
        ItemScheduleFee:
          type: string
          description: Schedule fee for the item as returned by `/CalculateRebate` (`ItemScheduleFee`).
        Benefit:
          type: string
          description: Medicare benefit amount as returned by `/CalculateRebate` (`Benefit`).
        MedicareExplanationCode:
          type: string
          description: Medicare explanation code for the item (shown in the Medicare Explanation Code column).
      required:
        - ItemNumber
      title: EligibilityDisclaimerPostRequestBodyContentApplicationJsonSchemaMedicareItemsItems
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - O
      description: Must be `O` for general services.
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd:
      type: string
      enum:
        - 'Y'
      description: Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`. Omit otherwise.
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: >-
            Medicare-issued 8-character provider number (for example `2447781L`). A 6-digit stem, one practice-location
            character, then a check character.
      required:
        - providerNumber
      description: The provider who rendered the services in this claim. One servicing provider per claim.
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: Medicare-issued 8-character provider number, in the same format as `serviceProvider.providerNumber`.
      required:
        - providerNumber
      description: >
        Optional. The provider who receives the benefit, when that is not the servicing provider.


        The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when the
        servicing provider is paid.
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or post-assignment.
        Your software must show this to the user before it can submit the claim.
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >
            First given name as it appears on the Medicare card. Letters, digits, spaces, apostrophes, and hyphens only,
            with no space before or after an apostrophe or hyphen.


            For patients who have only one name, put that name in `familyName` and set this field to the literal string
            `Onlyname`.
        familyName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >-
            Family name as it appears on the Medicare card, with the same character rules as `givenName`. For patients
            who have only one name, put that name here.
        dateOfBirth:
          type: string
          format: date
          description: >-
            Patient date of birth (`YYYY-MM-DD`). Must not be in the future, must not be after `medicalEventDate`, and
            must be within the last 130 years.
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          pattern: ^[0-9]{9}[1-9]$
          minLength: 10
          maxLength: 10
          description: >-
            The patient's 10-digit Medicare card number. The first 9 digits must satisfy the Medicare card check-digit
            routine, and the 10th digit is the card issue number, which cannot be zero.
        memberRefNumber:
          type: string
          pattern: ^[1-9]$
          minLength: 1
          maxLength: 1
          description: >-
            Individual Reference Number (IRN) from the patient's Medicare card, a single digit from 1 to 9 identifying
            the family member.
      required:
        - memberNumber
        - memberRefNumber
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
      required:
        - identity
        - medicare
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd:
      type: string
      enum:
        - 'Y'
      description: Set to `Y` when you are certain the service falls outside another provider's aftercare period. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` for a legitimate repeat of the same item on the same date. Requires `medicalEventTime` on this
        medical event, or `text` on this service. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` when the multiple-procedure rule does not apply, for example services on different body regions.
        Requires `text` on this service. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode:
      type: string
      enum:
        - SP
        - NR
        - NC
      description: |
        Reason a restricted item is legitimately claimed. Omit unless one applies.

        | Code | Meaning |
        | --- | --- |
        | `SP` | Separate sites |
        | `NR` | Not related |
        | `NC` | Not for comparison |
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9A-Za-z]{4}$
          minLength: 4
          maxLength: 4
          description: >
            Your identifier for this service, echoed by Medicare on any per-service error.


            **Exactly four** alphanumeric characters, unique across the whole claim rather than within the event.
            `0001`, `C001`, and `AC68` are all valid. Note that this differs from `medicalEvent.id`, which is two digits
            and must be sequential.
        itemNumber:
          type: string
          pattern: ^0*[1-9][0-9]{0,4}$
          minLength: 1
          maxLength: 5
          description: MBS item number being claimed, from 1 to 99999. Leading zeros are accepted, spaces are not.
        chargeAmount:
          type: string
          pattern: ^0*[1-9][0-9]{2,6}$
          minLength: 3
          maxLength: 7
          description: >
            Amount charged for this service, **in cents**, as a string. `"15000"` is $150.00. A decimal value such as
            `"150.00"` is rejected.


            From `"100"` ($1.00) to `"9999999"`. Leading zeros are accepted.
        text:
          type: string
          pattern: ^[A-Za-z0-9@#$%+=:;,.\-]+( [A-Za-z0-9@#$%+=:;,.\-]+)*$
          minLength: 1
          maxLength: 50
          description: >
            Supporting information for this service line, required by some items (for example specified procedural
            services) and by `multipleProcedureOverrideInd`.


            Up to 50 characters. Letters, digits, spaces, and `@ # $ % + = : ; , . -` only, with no leading or trailing
            space.
        timeDuration:
          type: string
          pattern: ^(00[1-9]|0[1-9][0-9]|[1-9][0-9]{2})$
          minLength: 3
          maxLength: 3
          description: >
            Duration of the service in whole minutes, zero-padded to three digits, from `001` to `999`. Required by
            items whose descriptor is time-based, such as hyperbaric therapy.


            Cannot be combined with `fieldQuantity`, `lspNumber`, or `numberOfPatientsSeen`.
        numberOfPatientsSeen:
          type: string
          pattern: ^([1-9]|[1-9][0-9])$
          minLength: 1
          maxLength: 2
          description: >-
            Number of patients seen, from 1 to 99. Required only by group-therapy items whose descriptor specifies a
            patient count. Cannot be combined with `fieldQuantity`, `lspNumber`, or `timeDuration`.
        fieldQuantity:
          type: string
          pattern: ^([1-9]|[1-9][0-9])$
          minLength: 1
          maxLength: 2
          description: >-
            Number of treatment fields, from 1 to 99. Used by radiation oncology items. Cannot be combined with
            `numberOfPatientsSeen` or `timeDuration`.
        lspNumber:
          type: string
          pattern: ^0*[1-9][0-9]{0,5}$
          minLength: 1
          maxLength: 6
          description: >
            Location Specific Practice Number (LSPN) for the site where a diagnostic imaging service was rendered, from
            1 to 999999.


            All services in one medical event must carry the same LSPN. Cannot be combined with `numberOfPatientsSeen`
            or `timeDuration`.
        aftercareOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
          description: >-
            Set to `Y` when you are certain the service falls outside another provider's aftercare period. Omit
            otherwise.
        duplicateServiceOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
          description: >-
            Set to `Y` for a legitimate repeat of the same item on the same date. Requires `medicalEventTime` on this
            medical event, or `text` on this service. Omit otherwise.
        multipleProcedureOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
          description: >-
            Set to `Y` when the multiple-procedure rule does not apply, for example services on different body regions.
            Requires `text` on this service. Omit otherwise.
        restrictiveOverrideCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
          description: |
            Reason a restricted item is legitimately claimed. Omit unless one applies.

            | Code | Meaning |
            | --- | --- |
            | `SP` | Separate sites |
            | `NR` | Not related |
            | `NC` | Not for comparison |
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^(0[1-9]|[1-7][0-9]|80)$
          minLength: 2
          maxLength: 2
          description: >
            Your number for this medical event, echoed by Medicare on any per-event error so you can match messages back
            to the originating event.


            Exactly two digits. Numbering **must start at `01` and increase by one** for each event in the claim, with
            no gaps and no repeats. `01`, `02`, `03` is valid; `01`, `03` is rejected.
        authorisationDate:
          type: string
          format: date
          description: >-
            Date the patient assigned their benefit (`YYYY-MM-DD`). Must not be in the future, and must not be before
            `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >
            Timestamp when your software created this claim record, in **Australian local time with the UTC offset**
            (for example `2026-08-14T10:30:00+10:00`).


            A UTC `Z` value is rejected, as is a value with no offset. Must not be in the future, and must not be before
            the medical event's date and time.
        medicalEventDate:
          type: string
          format: date
          description: >-
            Date the services were rendered (`YYYY-MM-DD`). Must not be in the future, and is subject to the claim-age
            limits above.
        medicalEventTime:
          type: string
          pattern: ^\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$
          description: >
            Optional. Time the services were rendered, with **seconds and an Australian UTC offset** (`HH:mm:ss±HH:mm`).
            `10:00` and `10:00:00` are both rejected.


            Required when a service in this event sets `duplicateServiceOverrideInd` without its own `text`. The
            combined date and time must not be in the future.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: >-
            Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or
            post-assignment. Your software must show this to the user before it can submit the claim.
        patient:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: Services rendered in this medical event (maximum 14).
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - patient
        - service
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: Must be `O` for general services.
        hospitalInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
          description: Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`. Omit otherwise.
        facilityId:
          type: string
          pattern: ^[0-9]{7}[A-Z]$
          minLength: 8
          maxLength: 8
          description: >
            Identifier for the hospital where the services were rendered. Required when `hospitalInd` is `Y`.


            Eight characters: a 6-digit stem, one numeric location character, then a check character. Pad with leading
            zeros if your stored value is shorter.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
          description: The provider who rendered the services in this claim. One servicing provider per claim.
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
          description: >
            Optional. The provider who receives the benefit, when that is not the servicing provider.


            The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when
            the servicing provider is paid.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: Medical events in this claim (maximum 80). Each event groups one patient's services on a single date.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim
    Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — General_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: >
            Claim identifier assigned by Medicare. Use it to retrieve the Processing Report once the claim has been
            assessed.


            Six characters: a prefix, four digits, then `@`. The prefix is a letter for services rendered out of
            hospital (`F3848@`) and `#` for services rendered to an admitted patient (`#9876@`).


            A claim ID is unique per lodgement date and payee provider, so two claims lodged on the same date for
            different payee providers at one location can share it.
        status:
          type: string
          description: Transmission status. `SUCCESS` on a successful submission.
        correlationId:
          type: string
          description: >-
            Unique identifier for the request, for support tracing. Matches the `correlationId` you supplied, or the one
            RebateRight generated for you.
      required:
        - claimId
        - status
        - correlationId
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — General_Response_200
    MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: >-
            Medicare reason code. See the error-code table above, or the [Services Australia lookup
            tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code) for codes not listed there.
        severity:
          type: string
          description: Severity of this message (for example `Error`, `Warning`).
        reason:
          type: string
          description: >-
            Human-readable error message. Includes the offending value and points to the faulting medical event and
            service by id where applicable. Display it to your user as supplied, without truncating or rewording it.
      required:
        - code
        - severity
        - reason
      title: MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (for example `Error`, `Warning`).
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: >-
            One entry per failed check, across every medical event in the claim. Each message identifies the faulting
            medical event, and where relevant the service, in its `reason` text.
        correlationId:
          type: string
          description: Echo of the request's `correlationId`, for support tracing.
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError0
    PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: >-
            Numeric gateway error code, raised by the request-schema or routing layer rather than by a Medicare business
            rule.
        codeType:
          type: string
          description: >-
            Gateway error category. For example `DHSEIN` for JSON-schema validation failures such as missing required
            properties or wrong types.
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: Echo of the request's `correlationId` when supplied, otherwise a generated one for this call.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError1
    PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError1'
      title: PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - S
      description: Must be `S` for specialist, allied health, or diagnostic imaging services.
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`, and is itself required
        when any `referralOverrideCode` is `H`. Omit otherwise.
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: >-
            Medicare-issued 8-character provider number (for example `2447791K`). A 6-digit stem, one practice-location
            character, then a check character.
      required:
        - providerNumber
      description: The provider who rendered the services in this claim. One servicing provider per claim.
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: Medicare-issued 8-character provider number, in the same format as `serviceProvider.providerNumber`.
      required:
        - providerNumber
      description: >
        Optional. The provider who receives the benefit, when that is not the servicing provider.


        The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when the
        servicing provider is paid.
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or post-assignment.
        Your software must show this to the user before it can submit the claim.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode:
      type: string
      enum:
        - H
        - L
        - E
        - 'N'
      description: |
        Why no referral document accompanies this medical event. Use instead of `referral`, never alongside it.

        | Code | Meaning |
        | --- | --- |
        | `H` | Hospital. Requires `hospitalInd` of `Y` and a `facilityId` |
        | `L` | Referral lost, stolen, or destroyed |
        | `E` | Emergency |
        | `N` | Referral not required |
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode:
      type: string
      enum:
        - S
        - D
      description: |
        What kind of referral this is.

        | Code | Meaning | Period fields |
        | --- | --- | --- |
        | `S` | Specialist or allied health referral | `periodCode` required |
        | `D` | Diagnostic imaging request | `periodCode` and `period` must be omitted |
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode:
      type: string
      enum:
        - S
        - 'N'
        - I
      description: |
        How long the referral runs. Required when `typeCode` is `S`, and must be omitted when `typeCode` is `D`.

        | Code | Meaning |
        | --- | --- |
        | `S` | Standard. 12 months from a general practitioner, 3 months from a specialist |
        | `N` | Non-standard. The referrer set the length, which you send in `period` |
        | `I` | Indefinite, for specified chronic conditions |

        This is a single letter. The standard periods above are what `S` means, not values you send.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: Medicare-issued 8-character provider number of the referring practitioner.
      required:
        - providerNumber
      description: The referring practitioner. Their 6-digit stem must differ from the servicing provider's.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral:
      type: object
      properties:
        issueDate:
          type: string
          format: date
          description: >-
            Date the referral was issued (`YYYY-MM-DD`). Must not be in the future, must be on or before
            `medicalEventDate`, and must be on or after the patient's date of birth.
        typeCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
          description: |
            What kind of referral this is.

            | Code | Meaning | Period fields |
            | --- | --- | --- |
            | `S` | Specialist or allied health referral | `periodCode` required |
            | `D` | Diagnostic imaging request | `periodCode` and `period` must be omitted |
        periodCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode
          description: |
            How long the referral runs. Required when `typeCode` is `S`, and must be omitted when `typeCode` is `D`.

            | Code | Meaning |
            | --- | --- |
            | `S` | Standard. 12 months from a general practitioner, 3 months from a specialist |
            | `N` | Non-standard. The referrer set the length, which you send in `period` |
            | `I` | Indefinite, for specified chronic conditions |

            This is a single letter. The standard periods above are what `S` means, not values you send.
        period:
          type: string
          pattern: ^([1-9]|[1-8][0-9]|9[0-8])$
          minLength: 1
          maxLength: 2
          description: >
            Length of a non-standard referral **in months**, from 1 to 98.


            Send this only when `periodCode` is `N`, and omit it for every other `periodCode`. `0`, `00`, and `99` are
            rejected.
        provider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
          description: The referring practitioner. Their 6-digit stem must differ from the servicing provider's.
      required:
        - issueDate
        - typeCode
        - provider
      description: >-
        Referral details. Supply this, or `referralOverrideCode`, or a `selfDeemedCode` on a service line. See the
        referral requirement above.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >
            First given name as it appears on the Medicare card. Letters, digits, spaces, apostrophes, and hyphens only,
            with no space before or after an apostrophe or hyphen.


            For patients who have only one name, put that name in `familyName` and set this field to the literal string
            `Onlyname`.
        familyName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >-
            Family name as it appears on the Medicare card, with the same character rules as `givenName`. For patients
            who have only one name, put that name here.
        dateOfBirth:
          type: string
          format: date
          description: >-
            Patient date of birth (`YYYY-MM-DD`). Must not be in the future, must not be after `medicalEventDate`, and
            must be within the last 130 years.
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          pattern: ^[0-9]{9}[1-9]$
          minLength: 10
          maxLength: 10
          description: >-
            The patient's 10-digit Medicare card number. The first 9 digits must satisfy the Medicare card check-digit
            routine, and the 10th digit is the card issue number, which cannot be zero.
        memberRefNumber:
          type: string
          pattern: ^[1-9]$
          minLength: 1
          maxLength: 1
          description: >-
            Individual Reference Number (IRN) from the patient's Medicare card, a single digit from 1 to 9 identifying
            the family member.
      required:
        - memberNumber
        - memberRefNumber
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
      required:
        - identity
        - medicare
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode:
      type: string
      enum:
        - SD
        - SS
      description: >
        Use instead of a referral when the provider deems the service themselves. Cannot be combined with
        `referralOverrideCode`.


        | Code | Meaning |

        | --- | --- |

        | `SD` | Self deemed |

        | `SS` | Substituted service |
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd:
      type: string
      enum:
        - 'Y'
      description: Set to `Y` when you are certain the service falls outside another provider's aftercare period. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` for a legitimate repeat of the same item on the same date. Requires `medicalEventTime` on this
        medical event, or `text` on this service. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` when the multiple-procedure rule does not apply, for example services on different body regions.
        Requires `text` on this service. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode:
      type: string
      enum:
        - SP
        - NR
        - NC
      description: |
        Reason a restricted item is legitimately claimed. Omit unless one applies.

        | Code | Meaning |
        | --- | --- |
        | `SP` | Separate sites |
        | `NR` | Not related |
        | `NC` | Not for comparison |
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9A-Za-z]{4}$
          minLength: 4
          maxLength: 4
          description: >
            Your identifier for this service, echoed by Medicare on any per-service error.


            **Exactly four** alphanumeric characters, unique across the whole claim rather than within the event.
            `0001`, `C001`, and `AC68` are all valid. Note that this differs from `medicalEvent.id`, which is two digits
            and must be sequential.
        itemNumber:
          type: string
          pattern: ^0*[1-9][0-9]{0,4}$
          minLength: 1
          maxLength: 5
          description: MBS item number being claimed, from 1 to 99999. Leading zeros are accepted, spaces are not.
        chargeAmount:
          type: string
          pattern: ^0*[1-9][0-9]{2,6}$
          minLength: 3
          maxLength: 7
          description: >
            Amount charged for this service, **in cents**, as a string. `"15075"` is $150.75. A decimal value such as
            `"150.75"` is rejected.


            From `"100"` ($1.00) to `"9999999"`. Leading zeros are accepted.
        text:
          type: string
          pattern: ^[A-Za-z0-9@#$%+=:;,.\-]+( [A-Za-z0-9@#$%+=:;,.\-]+)*$
          minLength: 1
          maxLength: 50
          description: >
            Supporting information for this service line, required by many specialist items (for example a
            consultation-type descriptor) and by `multipleProcedureOverrideInd`.


            Up to 50 characters. Letters, digits, spaces, and `@ # $ % + = : ; , . -` only, with no leading or trailing
            space.
        selfDeemedCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
          description: >
            Use instead of a referral when the provider deems the service themselves. Cannot be combined with
            `referralOverrideCode`.


            | Code | Meaning |

            | --- | --- |

            | `SD` | Self deemed |

            | `SS` | Substituted service |
        timeDuration:
          type: string
          pattern: ^(00[1-9]|0[1-9][0-9]|[1-9][0-9]{2})$
          minLength: 3
          maxLength: 3
          description: >
            Duration of the service in whole minutes, zero-padded to three digits, from `001` to `999`. Required by
            items whose descriptor is time-based, such as some attendance and mental-health items.


            Cannot be combined with `fieldQuantity`, `lspNumber`, or `numberOfPatientsSeen`.
        numberOfPatientsSeen:
          type: string
          pattern: ^([1-9]|[1-9][0-9])$
          minLength: 1
          maxLength: 2
          description: >-
            Number of patients seen, from 1 to 99. Required only by group-therapy items whose descriptor specifies a
            patient count. Cannot be combined with `fieldQuantity`, `lspNumber`, or `timeDuration`.
        fieldQuantity:
          type: string
          pattern: ^([1-9]|[1-9][0-9])$
          minLength: 1
          maxLength: 2
          description: >-
            Number of treatment fields, from 1 to 99. Used by radiation oncology items. Cannot be combined with
            `numberOfPatientsSeen` or `timeDuration`.
        lspNumber:
          type: string
          pattern: ^0*[1-9][0-9]{0,5}$
          minLength: 1
          maxLength: 6
          description: >
            Location Specific Practice Number (LSPN) for the site where a diagnostic imaging service was rendered, from
            1 to 999999.


            All services in one medical event must carry the same LSPN. Cannot be combined with `numberOfPatientsSeen`
            or `timeDuration`.
        aftercareOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
          description: >-
            Set to `Y` when you are certain the service falls outside another provider's aftercare period. Omit
            otherwise.
        duplicateServiceOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
          description: >-
            Set to `Y` for a legitimate repeat of the same item on the same date. Requires `medicalEventTime` on this
            medical event, or `text` on this service. Omit otherwise.
        multipleProcedureOverrideInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
          description: >-
            Set to `Y` when the multiple-procedure rule does not apply, for example services on different body regions.
            Requires `text` on this service. Omit otherwise.
        restrictiveOverrideCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
          description: |
            Reason a restricted item is legitimately claimed. Omit unless one applies.

            | Code | Meaning |
            | --- | --- |
            | `SP` | Separate sites |
            | `NR` | Not related |
            | `NC` | Not for comparison |
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^(0[1-9]|[1-7][0-9]|80)$
          minLength: 2
          maxLength: 2
          description: >
            Your number for this medical event, echoed by Medicare on any per-event error so you can match messages back
            to the originating event.


            Exactly two digits. Numbering **must start at `01` and increase by one** for each event in the claim, with
            no gaps and no repeats. `01`, `02`, `03` is valid; `01`, `03` is rejected.
        authorisationDate:
          type: string
          format: date
          description: >-
            Date the patient assigned their benefit (`YYYY-MM-DD`). Must not be in the future, and must not be before
            `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >
            Timestamp when your software created this claim record, in **Australian local time with the UTC offset**
            (for example `2026-08-14T08:30:00+10:00`).


            A UTC `Z` value is rejected, as is a value with no offset. Must not be in the future, and must not be before
            the medical event's date and time.
        medicalEventDate:
          type: string
          format: date
          description: >-
            Date the services were rendered (`YYYY-MM-DD`). Must not be in the future, and is subject to the claim-age
            limits above.
        medicalEventTime:
          type: string
          pattern: ^\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$
          description: >
            Optional. Time the services were rendered, with **seconds and an Australian UTC offset** (`HH:mm:ss±HH:mm`).
            `08:30` and `08:30:00` are both rejected.


            Required when a service in this event sets `duplicateServiceOverrideInd` without its own `text`. The
            combined date and time must not be in the future.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: >-
            Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or
            post-assignment. Your software must show this to the user before it can submit the claim.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
          description: |
            Why no referral document accompanies this medical event. Use instead of `referral`, never alongside it.

            | Code | Meaning |
            | --- | --- |
            | `H` | Hospital. Requires `hospitalInd` of `Y` and a `facilityId` |
            | `L` | Referral lost, stolen, or destroyed |
            | `E` | Emergency |
            | `N` | Referral not required |
        referral:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
          description: >-
            Referral details. Supply this, or `referralOverrideCode`, or a `selfDeemedCode` on a service line. See the
            referral requirement above.
        patient:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: Services rendered in this medical event (maximum 14).
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - patient
        - service
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: Must be `S` for specialist, allied health, or diagnostic imaging services.
        hospitalInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
          description: >-
            Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`, and is itself
            required when any `referralOverrideCode` is `H`. Omit otherwise.
        facilityId:
          type: string
          pattern: ^[0-9]{7}[A-Z]$
          minLength: 8
          maxLength: 8
          description: >
            Identifier for the hospital where the services were rendered. Required when `hospitalInd` is `Y`.


            Eight characters: a 6-digit stem, one numeric location character, then a check character. Pad with leading
            zeros if your stored value is shorter.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
          description: The provider who rendered the services in this claim. One servicing provider per claim.
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
          description: >
            Optional. The provider who receives the benefit, when that is not the servicing provider.


            The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when
            the servicing provider is paid.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: Medical events in this claim (maximum 80). Each event groups one patient's services on a single date.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareBulkbillstoreforwardSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim
    Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Specialist_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: >
            Claim identifier assigned by Medicare. Use it to retrieve the Processing Report once the claim has been
            assessed.


            Six characters: a prefix, four digits, then `@`. The prefix is a letter for services rendered out of
            hospital (`F3849@`) and `#` for services rendered to an admitted patient (`#9876@`).


            A claim ID is unique per lodgement date and payee provider, so two claims lodged on the same date for
            different payee providers at one location can share it.
        status:
          type: string
          description: Transmission status. `SUCCESS` on a successful submission.
        correlationId:
          type: string
          description: >-
            Unique identifier for the request, for support tracing. Matches the `correlationId` you supplied, or the one
            RebateRight generated for you.
      required:
        - claimId
        - status
        - correlationId
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Specialist_Response_200
    MedicareBulkbillstoreforwardSpecialistV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: >-
            Medicare reason code. See the error-code table above, or the [Services Australia lookup
            tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code) for codes not listed there.
        severity:
          type: string
          description: Severity of this message (for example `Error`, `Warning`).
        reason:
          type: string
          description: >-
            Human-readable error message. Includes the offending value and points to the faulting medical event and
            service by id where applicable. Display it to your user as supplied, without truncating or rewording it.
      required:
        - code
        - severity
        - reason
      title: MedicareBulkbillstoreforwardSpecialistV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (for example `Error`, `Warning`).
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardSpecialistV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: >-
            One entry per failed check, across every medical event in the claim. Each message identifies the faulting
            medical event, and where relevant the service, in its `reason` text.
        correlationId:
          type: string
          description: Echo of the request's `correlationId`, for support tracing.
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError0
    PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: >-
            Numeric gateway error code, raised by the request-schema or routing layer rather than by a Medicare business
            rule.
        codeType:
          type: string
          description: >-
            Gateway error category. For example `DHSEIN` for JSON-schema validation failures such as missing required
            properties or wrong types.
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: Echo of the request's `correlationId` when supplied, otherwise a generated one for this call.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError1
    PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError1'
      title: PostMedicareBulkbillstoreforwardSpecialistV1RequestBadRequestError
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - P
      description: Must be `P` for pathology services.
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`, and is itself required
        when any service sets `s4b3ExemptInd`. Omit otherwise.
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: >-
            Medicare-issued 8-character provider number (for example `2447781L`). A 6-digit stem, one practice-location
            character, then a check character.
      required:
        - providerNumber
      description: The approved pathology practitioner who rendered the services in this claim. One servicing provider per claim.
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: Medicare-issued 8-character provider number, in the same format as `serviceProvider.providerNumber`.
      required:
        - providerNumber
      description: >
        Optional. The provider who receives the benefit, when that is not the servicing provider.


        The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when the
        servicing provider is paid.
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or post-assignment.
        Your software must show this to the user before it can submit the claim.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode:
      type: string
      enum:
        - 'N'
      description: >-
        Set to `N` when no pathology request is required. Use instead of `referral`, never alongside it, and never with
        `selfDeemedCode`.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode:
      type: string
      enum:
        - P
      description: Must be `P` for pathology requests. `periodCode` and `period` do not apply and must be omitted.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          pattern: ^[0-9]{6}[0-9A-Z][A-Z]$
          minLength: 8
          maxLength: 8
          description: Medicare-issued 8-character provider number of the requesting practitioner.
      required:
        - providerNumber
      description: The requesting practitioner. Their 6-digit stem must differ from the servicing provider's.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral:
      type: object
      properties:
        issueDate:
          type: string
          format: date
          description: >-
            Date the request was issued (`YYYY-MM-DD`). Must not be in the future, must be on or before
            `medicalEventDate`, and must be on or after the patient's date of birth.
        typeCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
          description: Must be `P` for pathology requests. `periodCode` and `period` do not apply and must be omitted.
        provider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
          description: The requesting practitioner. Their 6-digit stem must differ from the servicing provider's.
      required:
        - issueDate
        - typeCode
        - provider
      description: >-
        Pathology request details. Supply this, or `referralOverrideCode` of `N`, or a `selfDeemedCode` of `SD` on a
        service line. See the referral requirement above.
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >
            First given name as it appears on the Medicare card. Letters, digits, spaces, apostrophes, and hyphens only,
            with no space before or after an apostrophe or hyphen.


            For patients who have only one name, put that name in `familyName` and set this field to the literal string
            `Onlyname`.
        familyName:
          type: string
          pattern: ^[A-Za-z0-9]+([ '\-][A-Za-z0-9]+)*$
          minLength: 1
          maxLength: 40
          description: >-
            Family name as it appears on the Medicare card, with the same character rules as `givenName`. For patients
            who have only one name, put that name here.
        dateOfBirth:
          type: string
          format: date
          description: >-
            Patient date of birth (`YYYY-MM-DD`). Must not be in the future, must not be after `medicalEventDate`, and
            must be within the last 130 years.
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          pattern: ^[0-9]{9}[1-9]$
          minLength: 10
          maxLength: 10
          description: >-
            The patient's 10-digit Medicare card number. The first 9 digits must satisfy the Medicare card check-digit
            routine, and the 10th digit is the card issue number, which cannot be zero.
        memberRefNumber:
          type: string
          pattern: ^[1-9]$
          minLength: 1
          maxLength: 1
          description: >-
            Individual Reference Number (IRN) from the patient's Medicare card, a single digit from 1 to 9 identifying
            the family member.
      required:
        - memberNumber
        - memberRefNumber
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
      required:
        - identity
        - medicare
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Set to `Y` to claim **Rule 3** exemption, the pathology coning rule for multiple services on one day. Requires
        `medicalEventTime` on this medical event, and cannot be combined with `s4b3ExemptInd`. Omit otherwise.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd:
      type: string
      enum:
        - 'Y'
      description: >
        Set to `Y` to claim **Section 4B(3)** exemption. Omit otherwise.


        Requires `hospitalInd` of `Y`, and requires `collectionDateTime` and `accessionDateTime` on **every** service in
        this medical event. The event must also carry a pathology request, a `referralOverrideCode` of `N`, or a
        `selfDeemedCode` of `SD`. Cannot be combined with `rule3ExemptInd`.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode:
      type: string
      enum:
        - SD
      description: >-
        Set to `SD` to self-deem the service, instead of sending a request. `SS` is not permitted for pathology, and
        this cannot be combined with `referralOverrideCode`.
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9A-Za-z]{4}$
          minLength: 4
          maxLength: 4
          description: >
            Your identifier for this service, echoed by Medicare on any per-service error.


            **Exactly four** alphanumeric characters, unique across the whole claim rather than within the event.
            `0001`, `C001`, and `AC68` are all valid. Note that this differs from `medicalEvent.id`, which is two digits
            and must be sequential.
        itemNumber:
          type: string
          pattern: ^0*[1-9][0-9]{0,4}$
          minLength: 1
          maxLength: 5
          description: MBS pathology item number being claimed, from 1 to 99999. Leading zeros are accepted, spaces are not.
        chargeAmount:
          type: string
          pattern: ^0*[1-9][0-9]{2,6}$
          minLength: 3
          maxLength: 7
          description: >
            Amount charged for this service, **in cents**, as a string. `"15075"` is $150.75. A decimal value such as
            `"150.75"` is rejected.


            From `"100"` ($1.00) to `"9999999"`. Leading zeros are accepted.
        collectionDateTime:
          type: string
          format: date-time
          description: >
            When the specimen was collected, in Australian local time with the UTC offset.


            Must not be after `accessionDateTime`, must not be before the patient's date of birth, and must not be
            before the request's `issueDate`. If you send either this or `accessionDateTime`, send both.
        accessionDateTime:
          type: string
          format: date-time
          description: >
            When the laboratory accessioned the specimen, in Australian local time with the UTC offset.


            Must not be in the future, must not be after the medical event's date and time, and must not be after
            `createDateTime`. If you send either this or `collectionDateTime`, send both.
        scpId:
          type: string
          pattern: ^[0-9A-Z]{3,5}$
          minLength: 3
          maxLength: 5
          description: >
            Specimen Collection Point identifier, 3 to 5 characters, letters or digits, with no spaces. Cannot be all
            zeros.


            Only accepted when the medical event carries a pathology request, a `referralOverrideCode` of `N`, or a
            `selfDeemedCode` of `SD`.
        rule3ExemptInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd
          description: >-
            Set to `Y` to claim **Rule 3** exemption, the pathology coning rule for multiple services on one day.
            Requires `medicalEventTime` on this medical event, and cannot be combined with `s4b3ExemptInd`. Omit
            otherwise.
        s4b3ExemptInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd
          description: >
            Set to `Y` to claim **Section 4B(3)** exemption. Omit otherwise.


            Requires `hospitalInd` of `Y`, and requires `collectionDateTime` and `accessionDateTime` on **every**
            service in this medical event. The event must also carry a pathology request, a `referralOverrideCode` of
            `N`, or a `selfDeemedCode` of `SD`. Cannot be combined with `rule3ExemptInd`.
        selfDeemedCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
          description: >-
            Set to `SD` to self-deem the service, instead of sending a request. `SS` is not permitted for pathology, and
            this cannot be combined with `referralOverrideCode`.
        text:
          type: string
          pattern: ^[A-Za-z0-9@#$%+=:;,.\-]+( [A-Za-z0-9@#$%+=:;,.\-]+)*$
          minLength: 1
          maxLength: 50
          description: >
            Optional supporting information for this service line.


            Up to 50 characters. Letters, digits, spaces, and `@ # $ % + = : ; , . -` only, with no leading or trailing
            space.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          pattern: ^(0[1-9]|[1-7][0-9]|80)$
          minLength: 2
          maxLength: 2
          description: >
            Your number for this medical event, echoed by Medicare on any per-event error so you can match messages back
            to the originating event.


            Exactly two digits. Numbering **must start at `01` and increase by one** for each event in the claim, with
            no gaps and no repeats. `01`, `02`, `03` is valid; `01`, `03` is rejected.
        authorisationDate:
          type: string
          format: date
          description: >-
            Date the patient assigned their benefit (`YYYY-MM-DD`). Must not be in the future, and must not be before
            `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >
            Timestamp when your software created this claim record, in **Australian local time with the UTC offset**
            (for example `2026-08-14T08:30:00+10:00`).


            A UTC `Z` value is rejected, as is a value with no offset. Must not be in the future, must not be before the
            medical event's date and time, and must not be before any `accessionDateTime` in the event.
        medicalEventDate:
          type: string
          format: date
          description: >-
            Date the services were rendered (`YYYY-MM-DD`). Must not be in the future, and is subject to the claim-age
            limits above.
        medicalEventTime:
          type: string
          pattern: ^\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$
          description: >
            Optional. Time the services were rendered, with **seconds and an Australian UTC offset** (`HH:mm:ss±HH:mm`).
            `07:00` and `07:00:00` are both rejected.


            Required when any service in this event sets `rule3ExemptInd`. The combined date and time must not be in the
            future.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: >-
            Must be `Y`, confirming the patient assigned their Medicare benefit through pre-assignment or
            post-assignment. Your software must show this to the user before it can submit the claim.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
          description: >-
            Set to `N` when no pathology request is required. Use instead of `referral`, never alongside it, and never
            with `selfDeemedCode`.
        referral:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
          description: >-
            Pathology request details. Supply this, or `referralOverrideCode` of `N`, or a `selfDeemedCode` of `SD` on a
            service line. See the referral requirement above.
        patient:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: Services rendered in this medical event (maximum 14).
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - patient
        - service
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: Must be `P` for pathology services.
        hospitalInd:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
          description: >-
            Set to `Y` when the services were rendered to an admitted patient. Requires `facilityId`, and is itself
            required when any service sets `s4b3ExemptInd`. Omit otherwise.
        facilityId:
          type: string
          pattern: ^[0-9]{7}[A-Z]$
          minLength: 8
          maxLength: 8
          description: >
            Identifier for the hospital where the services were rendered. Required when `hospitalInd` is `Y`.


            Eight characters: a 6-digit stem, one numeric location character, then a check character. Pad with leading
            zeros if your stored value is shorter.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
          description: >-
            The approved pathology practitioner who rendered the services in this claim. One servicing provider per
            claim.
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
          description: >
            Optional. The provider who receives the benefit, when that is not the servicing provider.


            The payee provider's 6-digit stem must differ from the servicing provider's. Omit this object entirely when
            the servicing provider is paid.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: Medical events in this claim (maximum 80). Each event groups one patient's services on a single date.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareBulkbillstoreforwardPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim
    Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Pathology_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: >
            Claim identifier assigned by Medicare. Use it to retrieve the Processing Report once the claim has been
            assessed.


            Six characters: a prefix, four digits, then `@`. The prefix is a letter for services rendered out of
            hospital (`F3850@`) and `#` for services rendered to an admitted patient (`#9876@`).


            A claim ID is unique per lodgement date and payee provider, so two claims lodged on the same date for
            different payee providers at one location can share it.
        status:
          type: string
          description: Transmission status. `SUCCESS` on a successful submission.
        correlationId:
          type: string
          description: >-
            Unique identifier for the request, for support tracing. Matches the `correlationId` you supplied, or the one
            RebateRight generated for you.
      required:
        - claimId
        - status
        - correlationId
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — Pathology_Response_200
    MedicareBulkbillstoreforwardPathologyV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: >-
            Medicare reason code. See the error-code table above, or the [Services Australia lookup
            tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code) for codes not listed there.
        severity:
          type: string
          description: Severity of this message (for example `Error`, `Warning`).
        reason:
          type: string
          description: >-
            Human-readable error message. Includes the offending value and points to the faulting medical event and
            service by id where applicable. Display it to your user as supplied, without truncating or rewording it.
      required:
        - code
        - severity
        - reason
      title: MedicareBulkbillstoreforwardPathologyV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (for example `Error`, `Warning`).
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardPathologyV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: >-
            One entry per failed check, across every medical event in the claim. Each message identifies the faulting
            medical event, and where relevant the service, in its `reason` text.
        correlationId:
          type: string
          description: Echo of the request's `correlationId`, for support tracing.
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError0
    PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: >-
            Numeric gateway error code, raised by the request-schema or routing layer rather than by a Medicare business
            rule.
        codeType:
          type: string
          description: >-
            Gateway error category. For example `DHSEIN` for JSON-schema validation failures such as missing required
            properties or wrong types.
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: Echo of the request's `correlationId` when supplied, otherwise a generated one for this call.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError1
    PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError1'
      title: PostMedicareBulkbillstoreforwardPathologyV1RequestBadRequestError
    MedicareBulkbillpaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Payee provider number as transmitted on the original claim. Pad with leading zeros if there are between 3
            and 7 characters before the check digit.
      required:
        - providerNumber
      description: Payee provider from the original claim transmission; use the same values as on that claim.
      title: MedicareBulkbillpaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaStatus:
      type: string
      enum:
        - COMPLETE
        - REPORT_NOT_AVAILABLE
        - REPORT_NOT_READY
        - REPORT_NOT_FOUND
        - REPORT_EXPIRED
      description: |
        Outcome of the report request. When **status** is **COMPLETE**, monetary fields on related objects are
        in cents as string numerics and account numbers are typically masked.

        | Value | Meaning |
        |-------|---------|
        | COMPLETE | Report returned with payment-run data |
        | REPORT_NOT_AVAILABLE | Claim finalised but no payment to make |
        | REPORT_NOT_READY | Report not ready yet — retry later |
        | REPORT_NOT_FOUND | Report not found |
        | REPORT_EXPIRED | Report has expired |
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaStatus
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun:
      type: object
      properties:
        runDate:
          type: string
          format: date
          description: Payment run date (`YYYY-MM-DD`) — the date the agency requested the RBA to make the deposit.
        runNumber:
          type: string
          description: Payment run identifier assigned by Medicare for this deposit cycle.
      required:
        - runDate
        - runNumber
      description: Present when `status` is `COMPLETE`. Identifies the payment run that included this claim.
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo:
      type: object
      properties:
        accountName:
          type: string
          description: Account name on record for the EFT deposit (may be truncated).
        accountNumber:
          type: string
          description: >-
            Masked account number — only the last 4 digits are returned, prefixed with asterisks (for example
            `*****3357`).
        bsbCode:
          type: string
          description: BSB identifying the branch where the payee provider's account is held.
      required:
        - accountName
        - accountNumber
        - bsbCode
      description: Payee provider's financial-institution account details, with the account number masked.
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo:
      type: object
      properties:
        accountInfo:
          $ref: >-
            #/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo
          description: Payee provider's financial-institution account details, with the account number masked.
        depositAmount:
          type: string
          description: >-
            Total Medicare benefit deposited into the payee provider's account for all claims in the payment run, in
            **cents** as a decimal string.
      required:
        - accountInfo
        - depositAmount
      description: >-
        Present when `status` is `COMPLETE`. Masked bank / EFT details and the deposit amount; monetary values are in
        **cents** as decimal strings.
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems:
      type: object
      properties:
        benefit:
          type: string
          description: Total Medicare benefit paid for all services in the claim, in **cents** as a decimal string.
        chargeAmount:
          type: string
          description: Total amount charged for all services in the claim, in **cents** as a decimal string.
        claimId:
          type: string
          description: Unique claim identifier assigned by Medicare on assessment (for example `E7062@`).
        lodgementDate:
          type: string
          format: date
          description: Date Medicare received the original claim (`YYYY-MM-DD`).
        transactionId:
          type: string
          description: Unique identifier of the original claim request, retained throughout the life of the claim.
      required:
        - benefit
        - chargeAmount
        - claimId
        - lodgementDate
        - transactionId
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems
    Medicare Claiming_Bulk Bill Claim_Bulk Bill Payment Report_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaStatus'
          description: |
            Outcome of the report request. When **status** is **COMPLETE**, monetary fields on related objects are
            in cents as string numerics and account numbers are typically masked.

            | Value | Meaning |
            |-------|---------|
            | COMPLETE | Report returned with payment-run data |
            | REPORT_NOT_AVAILABLE | Claim finalised but no payment to make |
            | REPORT_NOT_READY | Report not ready yet — retry later |
            | REPORT_NOT_FOUND | Report not found |
            | REPORT_EXPIRED | Report has expired |
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request.
        paymentRun:
          $ref: '#/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun'
          description: Present when `status` is `COMPLETE`. Identifies the payment run that included this claim.
        paymentInfo:
          $ref: '#/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo'
          description: >-
            Present when `status` is `COMPLETE`. Masked bank / EFT details and the deposit amount; monetary values are
            in **cents** as decimal strings.
        claimSummary:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems
          description: >-
            Present when `status` is `COMPLETE`. One row per claim included in the payment run (not only the claim you
            queried).
      required:
        - status
        - correlationId
      description: Payment report result. Payment-run fields appear when `status` is `COMPLETE`.
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Payment Report_Response_200
    MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: Medicare error code.
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
        reason:
          type: string
          description: Human-readable explanation.
      required:
        - code
        - severity
        - reason
      title: MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareBulkbillpaymentreportV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request, for support tracing.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillpaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: One or more validation or business-rule messages from Medicare.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      title: PostMedicareBulkbillpaymentreportV1RequestBadRequestError0
    PostMedicareBulkbillpaymentreportV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: Numeric gateway or request-schema error code.
        codeType:
          type: string
          description: Gateway error category (for example `DHSEIN` for JSON schema validation).
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: >-
            Echo of the `correlationId` sent on the request when supplied; may be generated for this call when omitted
            upstream.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareBulkbillpaymentreportV1RequestBadRequestError1
    PostMedicareBulkbillpaymentreportV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareBulkbillpaymentreportV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareBulkbillpaymentreportV1RequestBadRequestError1'
      title: PostMedicareBulkbillpaymentreportV1RequestBadRequestError
    MedicareBulkbillprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Payee provider number as transmitted on the original claim. Pad with leading zeros if there are between 3
            and 7 characters before the check digit.
      required:
        - providerNumber
      description: Payee provider from the original claim transmission; use the same values as on that claim.
      title: MedicareBulkbillprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus:
      type: string
      enum:
        - COMPLETE
        - REPORT_NOT_READY
        - REPORT_NOT_FOUND
        - REPORT_EXPIRED
      description: |
        Outcome of the report request.

        | Value | Meaning |
        |-------|---------|
        | COMPLETE | Report returned with claim assessment data |
        | REPORT_NOT_READY | Report not ready yet — retry later |
        | REPORT_NOT_FOUND | Report not found |
        | REPORT_EXPIRED | Report has expired |
      title: MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Provider number (stem, location, and check digit).
      required:
        - providerNumber
      description: Servicing provider on the assessed claim.
      title: MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership:
      type: object
      properties:
        memberNumber:
          type: string
          description: Patient's Medicare Card Number as recorded with Medicare at the time of the claim.
        memberRefNumber:
          type: string
          description: Patient's Medicare Reference Number (IRN) as recorded with Medicare in the original claim.
      required:
        - memberNumber
        - memberRefNumber
      title: >-
        MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember:
      type: object
      properties:
        familyName:
          type: string
          description: Patient's family name as identified or corrected at the time of assessment.
        givenName:
          type: string
          description: Patient's first given name as recorded with Medicare.
      required:
        - familyName
        - givenName
      title: >-
        MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientStatus:
      type: object
      properties:
        code:
          type: integer
          description: |
            Code identifying the problem with the Medicare card details supplied.

            | Code | Meaning |
            |------|---------|
            | `8023` | Patient identification amended |
            | `8024` | Patient Medicare Issue number changed |
            | `8025` | Patient Medicare Number changed |
            | `8026` | Patient card used will expire shortly |
            | `8027` | Patient card expired. Future services may be rejected |
            | `8028` | Old Medicare issue number for patient. Future services may be rejected |
        text:
          type: string
          description: Human-readable explanation of the `code` — additional information to assist with service assessment.
      description: Present when Medicare had to correct or flag the card details supplied on the original claim.
      title: >-
        MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientStatus
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient:
      type: object
      properties:
        currentMembership:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership
        currentMember:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember
        status:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientStatus
          description: Present when Medicare had to correct or flag the card details supplied on the original claim.
      required:
        - currentMembership
        - currentMember
      description: Patient as held by Medicare when the claim was assessed; structure may include further membership fields.
      title: >-
        MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Service line identifier within the claim (for example `0001`).
        itemNumber:
          type: string
          description: MBS item number against which the Medicare benefit was assessed (may be padded).
        assessmentCode:
          type: string
          description: >-
            Medicare assessment reason code for this service line. Use the [Services Australia lookup
            tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code) to map it to a human-readable
            description.
        benefitPaid:
          type: string
          description: Benefit assessed as payable for this service line, in cents as a string numeric.
        chargeAmount:
          type: string
          description: Amount charged for this service line, in cents as a string numeric.
        numberOfPatientsSeen:
          type: string
          description: Number of patients seen for the service in a group attendance scenario (`1`–`99`).
      required:
        - id
        - itemNumber
        - benefitPaid
        - chargeAmount
      title: >-
        MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Medical event identifier within the claim (for example `01`).
        eventDate:
          type: string
          description: Date of service for the medical event, as submitted in the original claim (ISO 8601 calendar date).
        patient:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient
          description: Patient as held by Medicare when the claim was assessed; structure may include further membership fields.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems
          description: Service lines within this medical event (up to 14 per medical event).
      required:
        - id
        - eventDate
        - patient
        - service
      title: MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment:
      type: object
      properties:
        claimId:
          type: string
          description: Unique claim identifier assigned by Medicare on assessment (for example `E7062@`).
        benefitPaid:
          type: string
          description: Total Medicare benefit paid across all services in the claim, in cents as a string numeric.
        chargeAmount:
          type: string
          description: Total amount charged across all services in the claim, in cents as a string numeric.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider
          description: Servicing provider on the assessed claim.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems
          description: Assessed medical events for the claim (up to 80 per claim).
      required:
        - claimId
        - benefitPaid
        - chargeAmount
        - serviceProvider
        - medicalEvent
      description: >-
        Present when `status` is `COMPLETE`. Assessment snapshot for the claim; Medicare may include additional
        properties beyond those listed.
      title: MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment
    Medicare Claiming_Bulk Bill Claim_Bulk Bill Processing Report_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus'
          description: |
            Outcome of the report request.

            | Value | Meaning |
            |-------|---------|
            | COMPLETE | Report returned with claim assessment data |
            | REPORT_NOT_READY | Report not ready yet — retry later |
            | REPORT_NOT_FOUND | Report not found |
            | REPORT_EXPIRED | Report has expired |
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request.
        claimAssessment:
          $ref: >-
            #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment
          description: >-
            Present when `status` is `COMPLETE`. Assessment snapshot for the claim; Medicare may include additional
            properties beyond those listed.
      required:
        - status
        - correlationId
      description: Processing report result. Additional properties appear when `status` is `COMPLETE`.
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Processing Report_Response_200
    MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: Medicare error code.
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
        reason:
          type: string
          description: Human-readable explanation.
      required:
        - code
        - severity
        - reason
      title: MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareBulkbillprocessingreportV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request, for support tracing.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: One or more validation or business-rule messages from Medicare.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      title: PostMedicareBulkbillprocessingreportV1RequestBadRequestError0
    PostMedicareBulkbillprocessingreportV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: Numeric gateway or request-schema error code.
        codeType:
          type: string
          description: Gateway error category (for example `DHSEIN` for JSON schema validation).
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: >-
            Echo of the `correlationId` sent on the request when supplied; may be generated for this call when omitted
            upstream.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareBulkbillprocessingreportV1RequestBadRequestError1
    PostMedicareBulkbillprocessingreportV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareBulkbillprocessingreportV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareBulkbillprocessingreportV1RequestBadRequestError1'
      title: PostMedicareBulkbillprocessingreportV1RequestBadRequestError
    AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceStream:
      type: string
      enum:
        - general
        - pathology
        - diagnosticImaging
      description: >
        The service stream. It selects the assignor's statement, the date-column label, and the

        description-column label printed on every page of this request.


        | Value | Statement (future tense) | Date column | Description column |

        |-------|--------------------------|-------------|--------------------|

        | `general` | …the health professional who will render the service(s). | Date of service | Basic service
        description |

        | `pathology` | …the approved pathology practitioner who will render the requested pathology service(s)… | Date
        of specimen collection | Description of service |

        | `diagnosticImaging` | …the diagnostic imaging provider who will render the requested diagnostic imaging
        service(s)… | Date of imaging procedure | Description of service |


        A specialist or allied-health attendance uses `general`. Pathology Group P9 (simple in-rooms

        tests) also uses `general`, the way Services Australia defines the streams.
      title: AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceStream
    AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: The servicing provider's Medicare provider number, printed under **Details of the professional**.
      required:
        - providerNumber
      title: AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaServiceProvider
    AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsPatient:
      type: object
      properties:
        givenName:
          type: string
          description: The patient's given name. Printed as part of the patient (assignor) name.
        familyName:
          type: string
          description: The patient's family name.
      required:
        - givenName
        - familyName
      title: AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsPatient
    AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsServicesItems:
      type: object
      properties:
        serviceDate:
          type: string
          format: date
          description: |
            The expected service date, labelled date of service, specimen collection, or
            imaging procedure according to `serviceStream`.
        description:
          type: string
          description: |
            Your plain-language description of the service to be rendered, the **basic service
            description**. Pre-assignment prints this in place of an MBS item number, because the
            exact item is often not known before the service. RebateRight prints it exactly as
            supplied; it is not validated against the MBS.
      required:
        - serviceDate
        - description
      title: AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsServicesItems
    AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItems:
      type: object
      properties:
        dateOfAssignment:
          type: string
          format: date
          description: The date the patient enters into the agreement. Printed as the **assignment date**.
        assignorIsPatient:
          type: boolean
          description: |
            Whether the person assigning the benefit is the patient. Prints **Yes** or **No**. Omit it
            to print a **Yes / No** choice for completion by hand.
        patient:
          $ref: '#/components/schemas/AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsPatient'
        services:
          type: array
          items:
            $ref: >-
              #/components/schemas/AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItemsServicesItems
          description: The services to be rendered under this assignment. Each prints as one row.
      required:
        - dateOfAssignment
        - patient
        - services
      title: AoBPreAssignmentPostRequestBodyContentApplicationJsonSchemaAssignmentsItems
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - O
        - S
        - P
      description: |
        The claim's Medicare service type. Must match the service type of the associated bulk bill
        claim.

        | Code | Service type |
        |------|--------------|
        | `O` | General (out-of-hospital) |
        | `S` | Specialist, allied health, or diagnostic imaging |
        | `P` | Pathology |

        With each medical event's `referral.typeCode`, this selects the form. See
        **How the form is chosen** above.
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
      required:
        - providerNumber
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode:
      type: string
      enum:
        - P
        - D
        - S
      description: |
        Referral service type.

        | Code | Meaning |
        |------|---------|
        | `P` | Pathology |
        | `D` | Diagnostic imaging |
        | `S` | Specialist (including allied health) |
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral:
      type: object
      properties:
        typeCode:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
          description: |
            Referral service type.

            | Code | Meaning |
            |------|---------|
            | `P` | Pathology |
            | `D` | Diagnostic imaging |
            | `S` | Specialist (including allied health) |
      description: |
        Present for specialist (`serviceTypeCode: S`) and pathology (`serviceTypeCode: P`)
        claims. Its `typeCode` distinguishes diagnostic imaging from other specialist
        services when the form is selected. See **How the form is chosen** above.
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: >-
        Must be `Y`. Confirms that the Medicare benefit has been assigned by the patient through pre-assignment or
        post-assignment. Must be displayed to the user to enable claim submission.
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: >-
            Printed on the PDF as the patient / assignor name. For single-name patients, set this to the literal string
            `ONLYNAME`.
        familyName:
          type: string
        dateOfBirth:
          type: string
          format: date
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
        memberRefNumber:
          type: string
      required:
        - memberNumber
        - memberRefNumber
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
      required:
        - identity
        - medicare
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
        itemNumber:
          type: string
        chargeAmount:
          type: string
        aftercareOverrideInd:
          type: string
      required:
        - id
        - itemNumber
        - chargeAmount
        - aftercareOverrideInd
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
        authorisationDate:
          type: string
          format: date
          description: Printed on the PDF as the **assignment date**.
        createDateTime:
          type: string
          format: date-time
        medicalEventDate:
          type: string
          format: date
          description: >-
            Printed on the PDF in the date column appropriate to the service stream (date of service, specimen
            collection, or imaging procedure).
        assignorIsPatient:
          type: boolean
          description: |
            Whether the person assigning the benefit is the patient. Prints **Yes** or **No**;
            omit it to print a **Yes / No** choice for completion by hand. Not part of a bulk
            bill claim. Supply it only to record the answer on the agreement.
        referral:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
          description: |
            Present for specialist (`serviceTypeCode: S`) and pathology (`serviceTypeCode: P`)
            claims. Its `typeCode` distinguishes diagnostic imaging from other specialist
            services when the form is selected. See **How the form is chosen** above.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: >-
            Must be `Y`. Confirms that the Medicare benefit has been assigned by the patient through pre-assignment or
            post-assignment. Must be displayed to the user to enable claim submission.
        patient:
          $ref: >-
            #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - patient
        - service
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: '#/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode'
          description: |
            The claim's Medicare service type. Must match the service type of the associated bulk bill
            claim.

            | Code | Service type |
            |------|--------------|
            | `O` | General (out-of-hospital) |
            | `S` | Specialist, allied health, or diagnostic imaging |
            | `P` | Pathology |

            With each medical event's `referral.typeCode`, this selects the form. See
            **How the form is chosen** above.
        serviceProvider:
          $ref: '#/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimServiceProvider'
        medicalEvent:
          type: array
          items:
            $ref: '#/components/schemas/AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems'
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: AoBPostAssignmentPostRequestBodyContentApplicationJsonSchemaClaim
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveAccountPaidInd:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: |
        Whether the patient has paid the account in full.

        | Code | Meaning |
        |------|---------|
        | Y | Account paid in full |
        | N | Account unpaid |
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveAccountPaidInd
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveSubmissionAuthorityInd
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the servicing provider (e.g. `2447781L`).
      required:
        - providerNumber
      description: The provider who performed the service.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveServiceProvider
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the payee provider.
      required:
        - providerNumber
      description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePayeeProvider
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Patient given name (1–40 characters).
        familyName:
          type: string
          description: Patient family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Patient date of birth (`YYYY-MM-DD`).
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientIdentity
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number. Must pass the Medicare check-digit routine.
        memberRefNumber:
          type: string
          description: Individual reference number (IRN) — the digit next to the patient's name on the Medicare card.
      required:
        - memberNumber
        - memberRefNumber
      description: Patient Medicare card details.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientMedicare
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatient:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientIdentity'
        medicare:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatientMedicare'
          description: Patient Medicare card details.
      required:
        - identity
        - medicare
      description: The patient who received the service.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatient
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Claimant given name (1–40 characters).
        familyName:
          type: string
          description: Claimant family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Claimant date of birth (`YYYY-MM-DD`).
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantIdentity
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number.
        memberRefNumber:
          type: string
          description: Claimant's individual reference number (IRN).
      description: Claimant Medicare card details. Required when `identity` is supplied.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantMedicare
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantEftDetails:
      type: object
      properties:
        accountName:
          type: string
          description: Account holder name (1–32 characters).
        accountNumber:
          type: string
          description: Bank account number (1–9 digits).
        bsbCode:
          type: string
          description: 6-digit BSB code.
      description: >-
        Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
        `N`; optional to update stored details on subsequent claims.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantEftDetails
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantResidentialAddress:
      type: object
      properties:
        addressLineOne:
          type: string
          description: Address line 1 (1–30 characters).
        addressLineTwo:
          type: string
          description: Optional address line 2 (max 30 characters).
        locality:
          type: string
          description: Suburb or locality (1–30 characters).
        postcode:
          type: string
          description: 4-digit Australian postcode.
      description: >-
        Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to update
        Medicare's record.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantResidentialAddress
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantContactDetails:
      type: object
      properties:
        name:
          type: string
          description: Contact name (max 40 characters).
        phoneNumber:
          type: string
          description: Contact phone number.
        emailAddress:
          type: string
          description: Contact email address.
      description: Optional. Claimant phone and email, used by Medicare for correspondence.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantContactDetails
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimant:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantIdentity'
        medicare:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantMedicare'
          description: Claimant Medicare card details. Required when `identity` is supplied.
        eftDetails:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantEftDetails'
          description: >-
            Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
            `N`; optional to update stored details on subsequent claims.
        residentialAddress:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantResidentialAddress'
          description: >-
            Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to
            update Medicare's record.
        contactDetails:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimantContactDetails'
          description: Optional. Claimant phone and email, used by Medicare for correspondence.
      description: >
        Optional. The person submitting and receiving the Medicare benefit.


        - Omit when the claimant is the same person as the patient.

        - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can pay
        by EFT.

        - Include to update the claimant's residential or contact details.
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimant
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned service identifier, unique within the event (1–4 alphanumeric characters, e.g. `0001`).
        itemNumber:
          type: string
          description: MBS item number (1–5 digits, optionally suffixed, e.g. `23`, `104`).
        chargeAmount:
          type: string
          description: Amount charged for the service, in cents as a string (e.g. `15075` for $150.75).
        hospitalInd:
          type: string
          description: Set to `Y` when the service was performed in a hospital. Omit otherwise.
        facilityId:
          type: string
          description: Required when `hospitalInd` is `Y` — the hospital facility identifier.
        patientContribAmount:
          type: string
          description: Gap contribution already paid by the patient, in cents.
        numberOfPatientsSeen:
          type: string
          description: Number of patients seen. Required only for group-therapy MBS items that specify a patient count.
        aftercareOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the aftercare-period check when the service is not within another provider's
            aftercare period. Omit otherwise.
        duplicateServiceOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the same-day duplicate-service check (for legitimate multiple same-item services on
            the same date). Requires `medicalEventTime` to be set. Omit otherwise.
        multipleProcedureOverrideInd:
          type: string
          description: >-
            Set to `Y` to override Medicare's multiple-procedure rule when not applicable (e.g. services on different
            body regions). Omit otherwise.
        restrictiveOverrideCode:
          type: string
          description: >-
            Override code for restricted items when a legitimate clinical reason applies (consult the MBS for valid
            codes). Omit otherwise.
        timeDuration:
          type: string
          description: Service duration in minutes. Required for time-based MBS items (e.g. mental-health consultations).
        text:
          type: string
          description: Free-text supporting information for the service line (max 50 characters).
        fieldQuantity:
          type: string
          description: >-
            Quantity required by certain MBS items (e.g. number of radiation fields, number of pathology tests). Consult
            the MBS for the item-specific meaning.
        lspNumber:
          type: string
          description: >-
            Location-Specific Practice Number (LSPN) for diagnostic imaging or radiation oncology items that require
            one.
        rule3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from MBS Rule 3 (multiple-operation rule). Omit otherwise.
        s4b3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from Section 4B3. Omit otherwise.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItemsServiceItems
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned event identifier, unique within the claim (1–4 alphanumeric characters, e.g. `01`).
        medicalEventDate:
          type: string
          format: date
          description: Date of service for this event (`YYYY-MM-DD`). Must not be in the future.
        medicalEventTime:
          type: string
          description: Time of service (`HHmm`, 24-hour). Required when `duplicateServiceOverrideInd` is `Y`.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItemsServiceItems
          description: Services rendered as part of this event.
      required:
        - id
        - medicalEventDate
        - service
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItems
    PciwPatientClaimInteractiveRequestBodyPatientClaimInteractive:
      type: object
      properties:
        accountPaidInd:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveAccountPaidInd'
          description: |
            Whether the patient has paid the account in full.

            | Code | Meaning |
            |------|---------|
            | Y | Account paid in full |
            | N | Account unpaid |
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future.
        submissionAuthorityInd:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveSubmissionAuthorityInd'
          description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
        accountReferenceId:
          type: string
          description: Optional. A reference used by the submitter to identify the claim. 1–9 alphanumeric characters.
        serviceProvider:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveServiceProvider'
          description: The provider who performed the service.
        payeeProvider:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePayeeProvider'
          description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
        patient:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractivePatient'
          description: The patient who received the service.
        claimant:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveClaimant'
          description: >
            Optional. The person submitting and receiving the Medicare benefit.


            - Omit when the claimant is the same person as the patient.

            - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can
            pay by EFT.

            - Include to update the claimant's residential or contact details.
        medicalEvent:
          type: array
          items:
            $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractiveMedicalEventItems'
          description: Medical events in this claim. Each event groups one patient's services on a single date of service.
      required:
        - accountPaidInd
        - authorisationDate
        - submissionAuthorityInd
        - serviceProvider
        - patient
        - medicalEvent
      title: PciwPatientClaimInteractiveRequestBodyPatientClaimInteractive
    PciwPatientClaimInteractiveRequestBody:
      type: object
      properties:
        correlationId:
          type: string
          description: >-
            Optional. Supply a unique transaction ID in the format `urn:uuid:{MinorId}{16 hex chars}`. If omitted,
            RebateRight generates one automatically.
        patientClaimInteractive:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveRequestBodyPatientClaimInteractive'
      required:
        - patientClaimInteractive
      title: PciwPatientClaimInteractiveRequestBody
    PciwPatientClaimInteractiveSuccessResponseStatus:
      type: string
      enum:
        - MEDICARE_ASSESSED
        - MEDICARE_PENDABLE
        - MEDICARE_PENDED
        - MEDICARE_REJECTED
      description: >
        Overall claim outcome. The value drives response handling on your side:


        | Status | Meaning | Typical handling |

        |--------|---------|------------------|

        | `MEDICARE_ASSESSED` | Claim assessed by Medicare. One or more services have a `benefitPaid` and an
        `assessmentCode` of `ASSESSED`. | Treat as paid; payment is in progress to the claimant. |

        | `MEDICARE_PENDABLE` | Claim held by your software; Medicare has not yet received it for assessment. Typically
        triggered by a service returning `ACCEPTABLE_ERROR` (e.g. possible duplicate). | Surface the reason to the
        claimant. Within 60 minutes, resubmit with the **same `correlationId`** to either (a) send it to a Medicare
        operator for manual assessment (→ `MEDICARE_PENDED`), or (b) auto-resolve it by adding the appropriate override
        indicator or service text (→ may go to `MEDICARE_ASSESSED`). |

        | `MEDICARE_PENDED` | Claim accepted by Medicare and queued for manual operator assessment. No `assessmentCode`
        or `benefitPaid` will follow via the API. | Record the `claimId` for reconciliation and issue the claimant a
        printed **Lodgement Advice** (legislatively required). Medicare notifies the claimant directly of the outcome —
        no downstream API notification is sent. |

        | `MEDICARE_REJECTED` | Claim rejected outright. Check `claimAssessment.error` (claim-level) or per-service
        `error` for the reason. | Do not resubmit without correcting the underlying issue. |
      title: PciwPatientClaimInteractiveSuccessResponseStatus
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentError:
      type: object
      properties:
        code:
          type: integer
          description: >-
            Medicare reason code. Map to the user-facing description via the [Services Australia reason-code
            lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
        text:
          type: string
          description: Medicare-provided human-readable reason (suitable for operator display).
      description: |
        **Claim-level** error returned by Medicare. Present when the claim as a whole cannot be assessed or
        when operator action is required on the claimant record (for example, bank details). Distinct from the
        per-service `error` inside `medicalEvent[].service[]`.
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentError
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimantCurrentMembership:
      type: object
      properties:
        memberNumber:
          type: string
        memberRefNumber:
          type: string
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimantCurrentMembership
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimant:
      type: object
      properties:
        currentMembership:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimantCurrentMembership'
      description: Present when Medicare has updated claimant membership details (e.g. new card issue number).
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimant
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatientCurrentMembership:
      type: object
      properties:
        memberNumber:
          type: string
        memberRefNumber:
          type: string
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatientCurrentMembership
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatient:
      type: object
      properties:
        currentMembership:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatientCurrentMembership'
      description: Present when Medicare has updated patient membership details.
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatient
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsAssessmentCode:
      type: string
      enum:
        - ''
        - ASSESSED
        - ACCEPTABLE_ERROR
        - UNACCEPTABLE_ERROR
      description: >
        Per-service outcome. Absent or empty string when the claim was pended before assessment.


        | Code | Meaning |

        |------|---------|

        | `ASSESSED` | Service assessed and paid; `benefitPaid` is populated. |

        | `ACCEPTABLE_ERROR` | Service has an error the operator can resolve (e.g. duplicate) — the claim is typically
        `MEDICARE_PENDABLE`. |

        | `UNACCEPTABLE_ERROR` | Service has an error that cannot be auto-resolved — the claim is typically
        `MEDICARE_REJECTED`. |

        | `""` (empty) | Service has not been assessed yet; the claim is held by Medicare for manual assessment
        (`MEDICARE_PENDED`). |
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsAssessmentCode
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsError:
      type: object
      properties:
        code:
          type: integer
          description: >-
            Medicare reason code. Map via the [Services Australia reason-code
            lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
        text:
          type: string
          description: Medicare-provided human-readable reason.
      description: |
        **Service-level** error when `assessmentCode` is `ACCEPTABLE_ERROR` or `UNACCEPTABLE_ERROR`.
        Distinct from the claim-level `error` on `claimAssessment`.
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsError
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Service identifier from the request.
        itemNumber:
          type: string
          description: MBS item number.
        chargeAmount:
          type: string
          description: Charged amount, in cents (string).
        assessmentCode:
          $ref: >-
            #/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsAssessmentCode
          description: >
            Per-service outcome. Absent or empty string when the claim was pended before assessment.


            | Code | Meaning |

            |------|---------|

            | `ASSESSED` | Service assessed and paid; `benefitPaid` is populated. |

            | `ACCEPTABLE_ERROR` | Service has an error the operator can resolve (e.g. duplicate) — the claim is
            typically `MEDICARE_PENDABLE`. |

            | `UNACCEPTABLE_ERROR` | Service has an error that cannot be auto-resolved — the claim is typically
            `MEDICARE_REJECTED`. |

            | `""` (empty) | Service has not been assessed yet; the claim is held by Medicare for manual assessment
            (`MEDICARE_PENDED`). |
        benefitPaid:
          type: string
          description: Medicare benefit paid for this service, in cents (string). Populated when `assessmentCode` is `ASSESSED`.
        numberOfPatientsSeen:
          type: string
          description: Number of patients seen for group services (echoed from the request where applicable).
        error:
          $ref: >-
            #/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItemsError
          description: |
            **Service-level** error when `assessmentCode` is `ACCEPTABLE_ERROR` or `UNACCEPTABLE_ERROR`.
            Distinct from the claim-level `error` on `claimAssessment`.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItems
    PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Event identifier from the request.
        eventDate:
          type: string
          format: date
          description: Service date for this event.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItemsServiceItems
      required:
        - id
        - eventDate
        - service
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItems
    PciwPatientClaimInteractiveSuccessResponseClaimAssessment:
      type: object
      properties:
        claimId:
          type: string
          description: Medicare-assigned claim identifier. Record this for later reconciliation.
        error:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentError'
          description: |
            **Claim-level** error returned by Medicare. Present when the claim as a whole cannot be assessed or
            when operator action is required on the claimant record (for example, bank details). Distinct from the
            per-service `error` inside `medicalEvent[].service[]`.
        claimant:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentClaimant'
          description: Present when Medicare has updated claimant membership details (e.g. new card issue number).
        patient:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentPatient'
          description: Present when Medicare has updated patient membership details.
        medicalEvent:
          type: array
          items:
            $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessmentMedicalEventItems'
          description: Echo of the submitted medical events with per-service assessment results.
      required:
        - claimId
      description: Medicare's assessment of the submitted claim.
      title: PciwPatientClaimInteractiveSuccessResponseClaimAssessment
    PciwPatientClaimInteractiveSuccessResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseStatus'
          description: >
            Overall claim outcome. The value drives response handling on your side:


            | Status | Meaning | Typical handling |

            |--------|---------|------------------|

            | `MEDICARE_ASSESSED` | Claim assessed by Medicare. One or more services have a `benefitPaid` and an
            `assessmentCode` of `ASSESSED`. | Treat as paid; payment is in progress to the claimant. |

            | `MEDICARE_PENDABLE` | Claim held by your software; Medicare has not yet received it for assessment.
            Typically triggered by a service returning `ACCEPTABLE_ERROR` (e.g. possible duplicate). | Surface the
            reason to the claimant. Within 60 minutes, resubmit with the **same `correlationId`** to either (a) send it
            to a Medicare operator for manual assessment (→ `MEDICARE_PENDED`), or (b) auto-resolve it by adding the
            appropriate override indicator or service text (→ may go to `MEDICARE_ASSESSED`). |

            | `MEDICARE_PENDED` | Claim accepted by Medicare and queued for manual operator assessment. No
            `assessmentCode` or `benefitPaid` will follow via the API. | Record the `claimId` for reconciliation and
            issue the claimant a printed **Lodgement Advice** (legislatively required). Medicare notifies the claimant
            directly of the outcome — no downstream API notification is sent. |

            | `MEDICARE_REJECTED` | Claim rejected outright. Check `claimAssessment.error` (claim-level) or per-service
            `error` for the reason. | Do not resubmit without correcting the underlying issue. |
        correlationId:
          type: string
          description: Echo of the request `correlationId` (or the one generated by RebateRight when the request omitted it).
        claimAssessment:
          $ref: '#/components/schemas/PciwPatientClaimInteractiveSuccessResponseClaimAssessment'
          description: Medicare's assessment of the submitted claim.
      required:
        - status
        - correlationId
        - claimAssessment
      title: PciwPatientClaimInteractiveSuccessResponse
    PciwMedicareServiceMessageErrorServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: >-
            Medicare reason code. Map to the user-facing description via the [Services Australia reason-code
            lookup](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code).
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
        reason:
          type: string
          description: >-
            Human-readable explanation. Includes the offending value and points to the faulting Medical Event / Service
            by id where applicable.
      required:
        - code
        - severity
        - reason
      title: PciwMedicareServiceMessageErrorServiceMessageItems
    PciwMedicareServiceMessageError:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the request `correlationId` for tracing.
        serviceMessage:
          type: array
          items:
            $ref: '#/components/schemas/PciwMedicareServiceMessageErrorServiceMessageItems'
          description: One or more Medicare validation or business-rule messages.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      description: |
        Medicare `serviceMessage` envelope. Returned when the request is structurally valid but fails a Medicare
        business-rule or field-level validation (e.g. invalid card number, future date, duplicate transaction).
      title: PciwMedicareServiceMessageError
    PciwDhseinErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: Numeric gateway error code (request-schema or routing layer — not a Medicare business-rule code).
        codeType:
          type: string
          description: >-
            Gateway error category. For example `DHSEIN` for JSON-schema validation failures (missing required
            properties, wrong types).
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: Echo of the request's `correlationId` when supplied; otherwise a generated one for this call.
      required:
        - code
        - codeType
        - message
        - correlationId
      description: |
        Gateway (`DHSEIN`) error envelope. Returned when the request fails JSON-schema validation at the Medicare
        gateway before reaching the business-rule layer — for example a missing required property, a wrong type, or a
        malformed `correlationId` that cannot be parsed.
      title: PciwDhseinErrorResponse
    PostMedicarePatientclaiminteractiveGeneralV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PciwMedicareServiceMessageError'
        - $ref: '#/components/schemas/PciwDhseinErrorResponse'
      title: PostMedicarePatientclaiminteractiveGeneralV1RequestBadRequestError
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: |
        Whether the patient has paid the account in full.

        | Code | Meaning |
        |------|---------|
        | Y | Account paid in full |
        | N | Account unpaid |
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the servicing provider (e.g. `2447781L`).
      required:
        - providerNumber
      description: The provider who performed the service.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the payee provider.
      required:
        - providerNumber
      description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Patient given name (1–40 characters).
        familyName:
          type: string
          description: Patient family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Patient date of birth (`YYYY-MM-DD`).
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number. Must pass the Medicare check-digit routine.
        memberRefNumber:
          type: string
          description: Individual reference number (IRN) — the digit next to the patient's name on the Medicare card.
      required:
        - memberNumber
        - memberRefNumber
      description: Patient Medicare card details.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare
          description: Patient Medicare card details.
      required:
        - identity
        - medicare
      description: The patient who received the service.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Claimant given name (1–40 characters).
        familyName:
          type: string
          description: Claimant family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Claimant date of birth (`YYYY-MM-DD`).
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number.
        memberRefNumber:
          type: string
          description: Claimant's individual reference number (IRN).
      description: Claimant Medicare card details. Required when `identity` is supplied.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails:
      type: object
      properties:
        accountName:
          type: string
          description: Account holder name (1–32 characters).
        accountNumber:
          type: string
          description: Bank account number (1–9 digits).
        bsbCode:
          type: string
          description: 6-digit BSB code.
      description: >-
        Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
        `N`; optional to update stored details on subsequent claims.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress:
      type: object
      properties:
        addressLineOne:
          type: string
          description: Address line 1 (1–30 characters).
        addressLineTwo:
          type: string
          description: Optional address line 2 (max 30 characters).
        locality:
          type: string
          description: Suburb or locality (1–30 characters).
        postcode:
          type: string
          description: 4-digit Australian postcode.
      description: >-
        Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to update
        Medicare's record.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails:
      type: object
      properties:
        name:
          type: string
          description: Contact name (max 40 characters).
        phoneNumber:
          type: string
          description: Contact phone number.
        emailAddress:
          type: string
          description: Contact email address.
      description: Optional. Claimant phone and email, used by Medicare for correspondence.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare
          description: Claimant Medicare card details. Required when `identity` is supplied.
        eftDetails:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails
          description: >-
            Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
            `N`; optional to update stored details on subsequent claims.
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress
          description: >-
            Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to
            update Medicare's record.
        contactDetails:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails
          description: Optional. Claimant phone and email, used by Medicare for correspondence.
      description: >
        Optional. The person submitting and receiving the Medicare benefit.


        - Omit when the claimant is the same person as the patient.

        - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can pay
        by EFT.

        - Include to update the claimant's residential or contact details.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItemsSelfDeemedCode:
      type: string
      enum:
        - SD
        - SS
      description: |
        Self-deemed or substituted service (when rules allow):

        | Code | Meaning |
        |------|---------|
        | SD | Self-deemed |
        | SS | Substituted service |
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItemsSelfDeemedCode
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned service identifier, unique within the event (1–4 alphanumeric characters, e.g. `0001`).
        itemNumber:
          type: string
          description: MBS item number (1–5 digits, optionally suffixed, e.g. `23`, `104`).
        chargeAmount:
          type: string
          description: Amount charged for the service, in cents as a string (e.g. `15075` for $150.75).
        hospitalInd:
          type: string
          description: Set to `Y` when the service was performed in a hospital. Omit otherwise.
        facilityId:
          type: string
          description: Required when `hospitalInd` is `Y` — the hospital facility identifier.
        patientContribAmount:
          type: string
          description: Gap contribution already paid by the patient, in cents.
        numberOfPatientsSeen:
          type: string
          description: Number of patients seen. Required only for group-therapy MBS items that specify a patient count.
        aftercareOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the aftercare-period check when the service is not within another provider's
            aftercare period. Omit otherwise.
        duplicateServiceOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the same-day duplicate-service check (for legitimate multiple same-item services on
            the same date). Requires `medicalEventTime` to be set. Omit otherwise.
        multipleProcedureOverrideInd:
          type: string
          description: >-
            Set to `Y` to override Medicare's multiple-procedure rule when not applicable (e.g. services on different
            body regions). Omit otherwise.
        restrictiveOverrideCode:
          type: string
          description: >-
            Override code for restricted items when a legitimate clinical reason applies (consult the MBS for valid
            codes). Omit otherwise.
        timeDuration:
          type: string
          description: Service duration in minutes. Required for time-based MBS items (e.g. mental-health consultations).
        text:
          type: string
          description: Free-text supporting information for the service line (max 50 characters).
        fieldQuantity:
          type: string
          description: >-
            Quantity required by certain MBS items (e.g. number of radiation fields, number of pathology tests). Consult
            the MBS for the item-specific meaning.
        lspNumber:
          type: string
          description: >-
            Location-Specific Practice Number (LSPN) for diagnostic imaging or radiation oncology items that require
            one.
        rule3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from MBS Rule 3 (multiple-operation rule). Omit otherwise.
        s4b3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from Section 4B3. Omit otherwise.
        selfDeemedCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItemsSelfDeemedCode
          description: |
            Self-deemed or substituted service (when rules allow):

            | Code | Meaning |
            |------|---------|
            | SD | Self-deemed |
            | SS | Substituted service |
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned event identifier, unique within the claim (1–4 alphanumeric characters, e.g. `01`).
        medicalEventDate:
          type: string
          format: date
          description: Date of service for this event (`YYYY-MM-DD`). Must not be in the future.
        medicalEventTime:
          type: string
          description: Time of service (`HHmm`, 24-hour). Required when `duplicateServiceOverrideInd` is `Y`.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems
          description: Services rendered as part of this event.
      required:
        - id
        - medicalEventDate
        - service
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Referring or requesting provider number; must differ from the servicing provider.
      required:
        - providerNumber
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode:
      type: string
      enum:
        - D
        - S
      description: |
        Referral / request type (exactly one value per referral):

        | Code | Meaning |
        |------|---------|
        | D | Diagnostic imaging request |
        | S | Specialist or allied health referral |
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralPeriodCode:
      type: string
      enum:
        - S
        - 'N'
        - I
      description: |
        Required when **typeCode** is **S**. Referral period type:

        | Code | Meaning |
        |------|---------|
        | S | Standard period |
        | N | Non-standard — you must also send **period** (months) |
        | I | Indefinite |
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralPeriodCode
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral:
      type: object
      properties:
        provider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider
        issueDate:
          type: string
          format: date
          description: Referral issue date; not in the future or before patient DOB.
        typeCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode
          description: |
            Referral / request type (exactly one value per referral):

            | Code | Meaning |
            |------|---------|
            | D | Diagnostic imaging request |
            | S | Specialist or allied health referral |
        periodCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralPeriodCode
          description: |
            Required when **typeCode** is **S**. Referral period type:

            | Code | Meaning |
            |------|---------|
            | S | Standard period |
            | N | Non-standard — you must also send **period** (months) |
            | I | Indefinite |
        period:
          type: string
          description: Required when **periodCode** is **N** — number of months allowed (1–98).
      description: |
        Specialist or diagnostic imaging referral. Mutually exclusive with **referralOverrideCode** when
        you are sending an override instead of a referral object.
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode:
      type: string
      enum:
        - H
        - L
        - E
        - 'N'
      description: |
        Use when there is no standard referral. Cannot be combined with a **referral** object in the same
        request.

        | Code | Meaning |
        |------|---------|
        | H | Hospital |
        | L | Lost referral |
        | E | Emergency |
        | N | Not required |
      title: >-
        MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode
    MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive:
      type: object
      properties:
        accountPaidInd:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd
          description: |
            Whether the patient has paid the account in full.

            | Code | Meaning |
            |------|---------|
            | Y | Account paid in full |
            | N | Account unpaid |
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd
          description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
        accountReferenceId:
          type: string
          description: Optional. A reference used by the submitter to identify the claim. 1–9 alphanumeric characters.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider
          description: The provider who performed the service.
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider
          description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
        patient:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient
          description: The patient who received the service.
        claimant:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant
          description: >
            Optional. The person submitting and receiving the Medicare benefit.


            - Omit when the claimant is the same person as the patient.

            - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can
            pay by EFT.

            - Include to update the claimant's residential or contact details.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems
          description: Medical events in this claim. Each event groups one patient's services on a single date of service.
        referral:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral
          description: |
            Specialist or diagnostic imaging referral. Mutually exclusive with **referralOverrideCode** when
            you are sending an override instead of a referral object.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode
          description: |
            Use when there is no standard referral. Cannot be combined with a **referral** object in the same
            request.

            | Code | Meaning |
            |------|---------|
            | H | Hospital |
            | L | Lost referral |
            | E | Emergency |
            | N | Not required |
      required:
        - accountPaidInd
        - authorisationDate
        - submissionAuthorityInd
        - serviceProvider
        - patient
        - medicalEvent
      title: MedicarePatientclaiminteractiveSpecialistV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive
    PostMedicarePatientclaiminteractiveSpecialistV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PciwMedicareServiceMessageError'
        - $ref: '#/components/schemas/PciwDhseinErrorResponse'
      title: PostMedicarePatientclaiminteractiveSpecialistV1RequestBadRequestError
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: |
        Whether the patient has paid the account in full.

        | Code | Meaning |
        |------|---------|
        | Y | Account paid in full |
        | N | Account unpaid |
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the servicing provider (e.g. `2447781L`).
      required:
        - providerNumber
      description: The provider who performed the service.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued 8-character provider number for the payee provider.
      required:
        - providerNumber
      description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Patient given name (1–40 characters).
        familyName:
          type: string
          description: Patient family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Patient date of birth (`YYYY-MM-DD`).
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number. Must pass the Medicare check-digit routine.
        memberRefNumber:
          type: string
          description: Individual reference number (IRN) — the digit next to the patient's name on the Medicare card.
      required:
        - memberNumber
        - memberRefNumber
      description: Patient Medicare card details.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatientMedicare
          description: Patient Medicare card details.
      required:
        - identity
        - medicare
      description: The patient who received the service.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity:
      type: object
      properties:
        givenName:
          type: string
          description: Claimant given name (1–40 characters).
        familyName:
          type: string
          description: Claimant family name (1–40 characters).
        dateOfBirth:
          type: string
          format: date
          description: Claimant date of birth (`YYYY-MM-DD`).
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number.
        memberRefNumber:
          type: string
          description: Claimant's individual reference number (IRN).
      description: Claimant Medicare card details. Required when `identity` is supplied.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails:
      type: object
      properties:
        accountName:
          type: string
          description: Account holder name (1–32 characters).
        accountNumber:
          type: string
          description: Bank account number (1–9 digits).
        bsbCode:
          type: string
          description: 6-digit BSB code.
      description: >-
        Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
        `N`; optional to update stored details on subsequent claims.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress:
      type: object
      properties:
        addressLineOne:
          type: string
          description: Address line 1 (1–30 characters).
        addressLineTwo:
          type: string
          description: Optional address line 2 (max 30 characters).
        locality:
          type: string
          description: Suburb or locality (1–30 characters).
        postcode:
          type: string
          description: 4-digit Australian postcode.
      description: >-
        Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to update
        Medicare's record.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails:
      type: object
      properties:
        name:
          type: string
          description: Contact name (max 40 characters).
        phoneNumber:
          type: string
          description: Contact phone number.
        emailAddress:
          type: string
          description: Contact email address.
      description: Optional. Claimant phone and email, used by Medicare for correspondence.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantMedicare
          description: Claimant Medicare card details. Required when `identity` is supplied.
        eftDetails:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantEftDetails
          description: >-
            Bank account for Medicare benefit payment. Required on the first claim per claimant when `accountPaidInd` is
            `N`; optional to update stored details on subsequent claims.
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantResidentialAddress
          description: >-
            Claimant residential address. Required on the first claim per claimant; supply on subsequent claims to
            update Medicare's record.
        contactDetails:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimantContactDetails
          description: Optional. Claimant phone and email, used by Medicare for correspondence.
      description: >
        Optional. The person submitting and receiving the Medicare benefit.


        - Omit when the claimant is the same person as the patient.

        - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can pay
        by EFT.

        - Include to update the claimant's residential or contact details.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned service identifier, unique within the event (1–4 alphanumeric characters, e.g. `0001`).
        itemNumber:
          type: string
          description: MBS item number (1–5 digits, optionally suffixed, e.g. `23`, `104`).
        chargeAmount:
          type: string
          description: Amount charged for the service, in cents as a string (e.g. `15075` for $150.75).
        hospitalInd:
          type: string
          description: Set to `Y` when the service was performed in a hospital. Omit otherwise.
        facilityId:
          type: string
          description: Required when `hospitalInd` is `Y` — the hospital facility identifier.
        patientContribAmount:
          type: string
          description: Gap contribution already paid by the patient, in cents.
        numberOfPatientsSeen:
          type: string
          description: Number of patients seen. Required only for group-therapy MBS items that specify a patient count.
        aftercareOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the aftercare-period check when the service is not within another provider's
            aftercare period. Omit otherwise.
        duplicateServiceOverrideInd:
          type: string
          description: >-
            Set to `Y` to override the same-day duplicate-service check (for legitimate multiple same-item services on
            the same date). Requires `medicalEventTime` to be set. Omit otherwise.
        multipleProcedureOverrideInd:
          type: string
          description: >-
            Set to `Y` to override Medicare's multiple-procedure rule when not applicable (e.g. services on different
            body regions). Omit otherwise.
        restrictiveOverrideCode:
          type: string
          description: >-
            Override code for restricted items when a legitimate clinical reason applies (consult the MBS for valid
            codes). Omit otherwise.
        timeDuration:
          type: string
          description: Service duration in minutes. Required for time-based MBS items (e.g. mental-health consultations).
        text:
          type: string
          description: Free-text supporting information for the service line (max 50 characters).
        fieldQuantity:
          type: string
          description: >-
            Quantity required by certain MBS items (e.g. number of radiation fields, number of pathology tests). Consult
            the MBS for the item-specific meaning.
        lspNumber:
          type: string
          description: >-
            Location-Specific Practice Number (LSPN) for diagnostic imaging or radiation oncology items that require
            one.
        rule3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from MBS Rule 3 (multiple-operation rule). Omit otherwise.
        s4b3ExemptInd:
          type: string
          description: Set to `Y` when the service is exempt from Section 4B3. Omit otherwise.
        scpId:
          type: string
          description: Specialist Collection Point ID for pathology services.
        selfDeemedCode:
          type: string
          description: |
            Pathology self-deeming (when rules allow). **SS** is not valid for pathology on this
            endpoint.

            | Code | Meaning |
            |------|---------|
            | SD | Self-deemed additional tests |
        collectionDateTime:
          type: string
          description: Date and time the specimen was collected.
        accessionDateTime:
          type: string
          description: Date and time the specimen was accessioned.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Client-assigned event identifier, unique within the claim (1–4 alphanumeric characters, e.g. `01`).
        medicalEventDate:
          type: string
          format: date
          description: Date of service for this event (`YYYY-MM-DD`). Must not be in the future.
        medicalEventTime:
          type: string
          description: Time of service (`HHmm`, 24-hour). Required when `duplicateServiceOverrideInd` is `Y`.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItemsServiceItems
          description: Services rendered as part of this event.
      required:
        - id
        - medicalEventDate
        - service
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Requesting provider Medicare number.
      required:
        - providerNumber
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode:
      type: string
      enum:
        - P
      description: |
        Request type for pathology (must be **P**):

        | Code | Meaning |
        |------|---------|
        | P | Pathology request |
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral:
      type: object
      properties:
        provider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralProvider
        issueDate:
          type: string
          format: date
          description: Request issue date; must not be in the future or before the patient date of birth.
        typeCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralTypeCode
          description: |
            Request type for pathology (must be **P**):

            | Code | Meaning |
            |------|---------|
            | P | Pathology request |
      description: |
        Pathology request. Mutually exclusive with **referralOverrideCode** when you are using an override
        instead of a referral object.
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode:
      type: string
      enum:
        - 'N'
      description: |
        Use **N** when a pathology referral is not required. Cannot be combined with a **referral** object
        in the same request.

        | Code | Meaning |
        |------|---------|
        | N | Not required |
      title: >-
        MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode
    MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive:
      type: object
      properties:
        accountPaidInd:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveAccountPaidInd
          description: |
            Whether the patient has paid the account in full.

            | Code | Meaning |
            |------|---------|
            | Y | Account paid in full |
            | N | Account unpaid |
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future.
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveSubmissionAuthorityInd
          description: Must be `Y`. Confirms the claimant has authorised the practice to submit on their behalf.
        accountReferenceId:
          type: string
          description: Optional. A reference used by the submitter to identify the claim. 1–9 alphanumeric characters.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveServiceProvider
          description: The provider who performed the service.
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePayeeProvider
          description: Optional. The provider to whom the Medicare benefit is paid, if different from the servicing provider.
        patient:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractivePatient
          description: The patient who received the service.
        claimant:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveClaimant
          description: >
            Optional. The person submitting and receiving the Medicare benefit.


            - Omit when the claimant is the same person as the patient.

            - Include to supply bank details (`eftDetails`) — required on the first claim per claimant so Medicare can
            pay by EFT.

            - Include to update the claimant's residential or contact details.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveMedicalEventItems
          description: Medical events in this claim. Each event groups one patient's services on a single date of service.
        referral:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferral
          description: |
            Pathology request. Mutually exclusive with **referralOverrideCode** when you are using an override
            instead of a referral object.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractiveReferralOverrideCode
          description: |
            Use **N** when a pathology referral is not required. Cannot be combined with a **referral** object
            in the same request.

            | Code | Meaning |
            |------|---------|
            | N | Not required |
      required:
        - accountPaidInd
        - authorisationDate
        - submissionAuthorityInd
        - serviceProvider
        - patient
        - medicalEvent
      title: MedicarePatientclaiminteractivePathologyV1PostRequestBodyContentApplicationJsonSchemaPatientClaimInteractive
    PostMedicarePatientclaiminteractivePathologyV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PciwMedicareServiceMessageError'
        - $ref: '#/components/schemas/PciwDhseinErrorResponse'
      title: PostMedicarePatientclaiminteractivePathologyV1RequestBadRequestError
    MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientIdentity:
      type: object
      properties:
        givenName:
          type: string
          minLength: 1
          maxLength: 40
          description: |
            Patient first given name (1–40 characters). If the patient has **only one legal name**, put
            that name in **familyName** and set **givenName** to the literal **`Onlyname`** (this exact
            spelling is required by Medicare for single-name patients).

            Allowed characters: letters A–Z / a–z, digits 0–9, space, apostrophe `'`, hyphen `-`; at least
            one letter or digit; no leading/trailing spaces around apostrophes, hyphens, or other spaces.
        familyName:
          type: string
          minLength: 1
          maxLength: 40
          description: |
            Patient family name (1–40 characters). Single-name rule: use **`Onlyname`** in **givenName**
            as above.

            Same character and spacing rules as **givenName**.
      required:
        - givenName
        - familyName
      description: Legal name fields — lengths and character rules below.
      title: MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientIdentity
    MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          pattern: ^[0-9]{10}$
          minLength: 10
          maxLength: 10
          description: |
            10-digit Medicare card number. The first nine digits must satisfy Medicare’s **check digit**
            rules for card numbers. The **10th** digit is the **card issue number** printed on the card and
            must be **1–9** — it must **not** be `0`.
        memberRefNumber:
          type: string
          pattern: ^[1-9]$
          minLength: 1
          maxLength: 1
          description: |
            **Individual Reference Number (IRN)** on the card — exactly **one** digit, **1–9**, never **`0`**.
      required:
        - memberNumber
        - memberRefNumber
      description: Medicare card on the original claim (must match).
      title: MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientMedicare
    MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientIdentity
          description: Legal name fields — lengths and character rules below.
        medicare:
          $ref: >-
            #/components/schemas/MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatientMedicare
          description: Medicare card on the original claim (must match).
      required:
        - identity
        - medicare
      description: Patient on the original claim (must match what was transmitted).
      title: MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatient
    MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeleteReasonCode:
      type: string
      enum:
        - '001'
        - '002'
        - '003'
        - '004'
        - '005'
        - '006'
        - '007'
      description: |
        Required three-digit reason code. Medicare only accepts the values below; anything else typically
        returns **`9202`** with a message that lists the allowed codes.

        | Code | Meaning |
        |---|---|
        | `001` | Incorrect patient selection |
        | `002` | Incorrect provider details |
        | `003` | Incorrect date of service |
        | `004` | Incorrect item number claimed |
        | `005` | Omitted text on original claim |
        | `006` | Incorrect payment type (paid / unpaid) |
        | `007` | Other |
      title: MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeleteReasonCode
    MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDelete:
      type: object
      properties:
        patient:
          $ref: '#/components/schemas/MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeletePatient'
          description: Patient on the original claim (must match what was transmitted).
        reasonCode:
          $ref: >-
            #/components/schemas/MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDeleteReasonCode
          description: |
            Required three-digit reason code. Medicare only accepts the values below; anything else typically
            returns **`9202`** with a message that lists the allowed codes.

            | Code | Meaning |
            |---|---|
            | `001` | Incorrect patient selection |
            | `002` | Incorrect provider details |
            | `003` | Incorrect date of service |
            | `004` | Incorrect item number claimed |
            | `005` | Omitted text on original claim |
            | `006` | Incorrect payment type (paid / unpaid) |
            | `007` | Other |
      required:
        - patient
        - reasonCode
      description: |
        Patient identity and Medicare card details must match the **original** claim. **reasonCode** is required.
      title: MedicareSamedaydeleteV1PostRequestBodyContentApplicationJsonSchemaSameDayDelete
    MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaStatus:
      type: string
      enum:
        - SUCCESS
      description: |
        Outcome when Medicare **accepts** the same-day delete.

        | Value | Meaning |
        |---|---|
        | `SUCCESS` | Same-day delete processed; the claim is removed at Medicare. |
      title: MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaStatus
    Medicare Claiming_Interactive patient claims_Same Day Delete_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaStatus'
          description: |
            Outcome when Medicare **accepts** the same-day delete.

            | Value | Meaning |
            |---|---|
            | `SUCCESS` | Same-day delete processed; the claim is removed at Medicare. |
        correlationId:
          type: string
          description: |
            Optional echo of the request correlation id for support tracing — not always returned.
      required:
        - status
      description: |
        On success, Medicare returns at least **`status`**. **`correlationId`** may also be present for tracing,
        depending on the path the response took — treat it as **optional** when present.
      title: Medicare Claiming_Interactive patient claims_Same Day Delete_Response_200
    MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: >
            Medicare **code** (string in JSON). You will often see the values below for same-day delete; many

            other codes exist for validation, connectivity, and internal errors.


            | Code | Typical situation |

            |---|---|

            | `9202` | Field, format, or business-rule rejection (wrong reason code, name, Medicare number, IRN, etc.).
            **Many** different `reason` strings use this same code. |

            | `9775` | **Correlation id not found** — no claim matches the id you sent, or the claim is not eligible for
            same-day delete (wrong day, location, status, and similar). |

            | `9646` | Example: Medicare **could not locate** the claim for delete. |

            | `9647` | Example: claim **already deleted**. |


            **Other codes:** always persist **`code`**, **`reason`**, and **`severity`** together and handle unknown

            codes gracefully — Medicare does not publish a single fixed list in this API reference.
        reason:
          type: string
          description: Human-readable text from Medicare — show **unchanged** when displaying errors to end users.
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
      required:
        - code
        - reason
        - severity
      title: MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    PostMedicareSamedaydeleteV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the request correlation id when supplied; may be generated for this call when omitted upstream.
        serviceMessage:
          type: array
          items:
            $ref: '#/components/schemas/MedicareSamedaydeleteV1PostResponsesContentApplicationJsonSchemaServiceMessageItems'
          description: One or more Medicare validation or business-rule messages.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      description: >
        Standard Medicare **`serviceMessage`** envelope (same shape as interactive patient claim errors). **`code`** is
        Medicare’s machine-facing

        code; **`reason`** is the human-readable text — when you show errors to users, display **`reason`** **verbatim**

        (do not reword).
      title: PostMedicareSamedaydeleteV1RequestBadRequestError
    MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentitySex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding).

        | Code | Meaning |
        |------|---------|
        | 1 | Male |
        | 2 | Female |
        | 3 | Other |
        | 9 | Not stated / inadequately described |
      title: MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentitySex
    MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date
          description: Cannot be a future date or more than 130 years in the past.
        familyName:
          type: string
          description: Alphanumeric only, 1–40 characters.
        givenName:
          type: string
          description: Alphanumeric only, 1–40 characters.
        sex:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentitySex
          description: |
            Patient sex (Services Australia coding).

            | Code | Meaning |
            |------|---------|
            | 1 | Male |
            | 2 | Female |
            | 3 | Other |
            | 9 | Not stated / inadequately described |
        secondInitial:
          type: string
          maxLength: 1
          description: Patient's second name initial.
      required:
        - dateOfBirth
        - familyName
        - givenName
        - sex
      title: MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity
    MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientResidentialAddress:
      type: object
      properties:
        locality:
          type: string
          description: Suburb or town name. Alphanumeric only, 1–40 characters. Do not include the state code.
        postcode:
          type: string
          description: 4-digit postcode. Must not be `0000`.
      required:
        - locality
        - postcode
      description: Optional. If provided, both fields are required.
      title: MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientResidentialAddress
    MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientVeteranMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: DVA file number. War code followed by numeric digits, no spaces (e.g. `NX901667`).
      description: Include to perform a PVV verification against a known DVA file number.
      title: MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientVeteranMembership
    MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatient:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity'
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientResidentialAddress
          description: Optional. If provided, both fields are required.
        veteranMembership:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatientVeteranMembership
          description: Include to perform a PVV verification against a known DVA file number.
      required:
        - identity
      title: MedicareVeteranverificationV1PostRequestBodyContentApplicationJsonSchemaPatient
    MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: DVA file number. Present in PVP responses.
        entitlementCode:
          type: string
          description: DVA card type code.
      title: MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMembership
    MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMember:
      type: object
      properties:
        familyName:
          type: string
          description: Name as known to DVA.
        givenName:
          type: string
          description: Name as known to DVA.
      description: Present when status code is `8005`.
      title: MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMember
    MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusStatus:
      type: object
      properties:
        code:
          type: integer
        text:
          type: string
      title: MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusStatus
    MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatus:
      type: object
      properties:
        currentMembership:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMembership
        currentMember:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusCurrentMember
          description: Present when status code is `8005`.
        status:
          $ref: >-
            #/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatusStatus
      title: MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatus
    MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
        severity:
          type: string
        reason:
          type: string
      required:
        - code
        - severity
        - reason
      title: MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    DVA_Veteran Verification_Response_200:
      type: object
      properties:
        correlationId:
          type: string
        veteranStatus:
          $ref: '#/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaVeteranStatus'
        highestSeverity:
          type: string
          description: Present on validation errors.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
          description: Present on validation errors.
      title: DVA_Veteran Verification_Response_200
    PostMedicareVeteranverificationV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
        correlationId:
          type: string
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareVeteranverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      title: PostMedicareVeteranverificationV1RequestBadRequestError
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - O
      description: |
        Use **O** for general (non-specialist, non-pathology) DVA medical claims.

        | Code | Meaning |
        |------|---------|
        | O | General (out-of-hospital) services |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Provider number of the practitioner who rendered the service. 6-digit stem + 1 location character + 1 check
            digit (e.g. `2447781L`).
      required:
        - providerNumber
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: 6-digit stem + 1 location character + 1 check digit.
      description: >-
        Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have a
        different provider stem (first 6 characters).
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode:
      type: string
      enum:
        - E
        - H
        - L
        - 'N'
      description: |
        Optional. Use when a service that normally needs a referral was provided without a **referral**
        object. Do not set together with **referral**.

        | Code | Meaning |
        |------|---------|
        | E | Emergency |
        | H | Hospital — also requires **facilityId** and **treatmentLocationCode** **H** |
        | L | Lost referral |
        | N | Not required |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

        | Code | Meaning |
        |------|---------|
        | Y | Authorised for submission |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode:
      type: string
      enum:
        - V
        - H
        - R
      description: |
        Where the service was provided.

        | Code | Meaning |
        |------|---------|
        | V | Home visit (residential care, community health centre, or hostel) |
        | H | Hospital |
        | R | Rooms |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y** — service is for a condition covered by a **White Card**.

        | Code | Meaning |
        |------|---------|
        | Y | White Card condition |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability:
      type: object
      properties:
        ind:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
          description: |
            Must be **Y** — service is for a condition covered by a **White Card**.

            | Code | Meaning |
            |------|---------|
            | Y | White Card condition |
        code:
          type: string
          maxLength: 100
          description: >-
            Description of the condition treated. Alphanumeric and special characters (`: ; , . -`) allowed. First
            character must be alpha or numeric. 1–100 characters.
      required:
        - ind
        - code
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding).

        | Code | Meaning |
        |------|---------|
        | 1 | Male |
        | 2 | Female |
        | 3 | Other |
        | 9 | Not stated |
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date
          description: Must not be in the future, more than 130 years in the past, or after `medicalEventDate`.
        familyName:
          type: string
          description: >-
            1–40 characters. Alpha, numeric, spaces, apostrophes and hyphens only. If the patient has only one name,
            supply it here and use `*Onlyname*` in `givenName`.
        givenName:
          type: string
          description: >-
            1–40 characters. Alpha, numeric, spaces, apostrophes and hyphens only. Use `*Onlyname*` if the patient has
            only one name.
        sex:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
          description: |
            Patient sex (Services Australia coding).

            | Code | Meaning |
            |------|---------|
            | 1 | Male |
            | 2 | Female |
            | 3 | Other |
            | 9 | Not stated |
      required:
        - dateOfBirth
        - familyName
        - givenName
        - sex
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress:
      type: object
      properties:
        locality:
          type: string
          description: Suburb or town. 1–40 characters. Do not include the state code as a separate value.
        postcode:
          type: string
          description: 4-digit postcode. Must not be `0000`.
      description: Optional. If provided, both `locality` and `postcode` are required.
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: >-
            DVA file number. State code + war code + numeric digits (e.g. `NX901667`). 3–9 characters total, no spaces
            within the file number.
      required:
        - veteranNumber
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
          description: Optional. If provided, both `locality` and `postcode` are required.
        veteranMembership:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
      required:
        - identity
        - veteranMembership
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the service was not normal aftercare.

        | Code | Meaning |
        |------|---------|
        | Y | Not normal aftercare |
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if multiple same-day services by the same provider should be treated
        as separate. Requires **medicalEventTime** or **text**.

        | Code | Meaning |
        |------|---------|
        | Y | Treat as separate services |
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the multiple services rule should not apply. Requires **text**
        explaining the reason.

        | Code | Meaning |
        |------|---------|
        | Y | Override multiple-services rule |
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode:
      type: string
      enum:
        - SP
        - NR
        - NC
      description: |
        Optional. Explains why restrictive rules should not apply. Requires **text**.

        | Code | Meaning |
        |------|---------|
        | SP | Separate sites |
        | NR | Not related |
        | NC | Not for comparison (bilateral) |
      title: >-
        MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: 4-character alphanumeric identifier, unique within the claim (e.g. `0001`, `AC68`).
        itemNumber:
          type: string
          description: MBS or DVA item number. 1–5 characters. DVA-specific items are prefixed with at least one alpha character.
        chargeAmount:
          type: string
          description: Charge in cents. Minimum `100` ($1.00). Required unless `distanceKilometres` is set.
        accountReferenceNumber:
          type: string
          description: Optional. Invoice or medical record reference. 1–8 alphanumeric characters, no spaces.
        aftercareOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
          description: |
            Optional. Set **Y** if the service was not normal aftercare.

            | Code | Meaning |
            |------|---------|
            | Y | Not normal aftercare |
        distanceKilometres:
          type: string
          description: >-
            Optional. Travelling distance for home, nursing home, or hospital visits. 11–999 km. If set, only `id` and
            `itemNumber` may also be set on this service; at least one other non-distance service must exist in the
            medical event.
        duplicateServiceOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
          description: |
            Optional. Set **Y** if multiple same-day services by the same provider should be treated
            as separate. Requires **medicalEventTime** or **text**.

            | Code | Meaning |
            |------|---------|
            | Y | Treat as separate services |
        fieldQuantity:
          type: string
          description: >-
            Optional. Number of fields irradiated or 15-minute time blocks. Numeric 1–99. Cannot be set alongside
            `numberOfPatientsSeen` or `timeDuration`.
        lspNumber:
          type: string
          description: >-
            Optional. Location Specific Practice Number for diagnostic imaging. Numeric 1–999999. All services in a
            medical event must share the same LSPN.
        multipleProcedureOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
          description: |
            Optional. Set **Y** if the multiple services rule should not apply. Requires **text**
            explaining the reason.

            | Code | Meaning |
            |------|---------|
            | Y | Override multiple-services rule |
        numberOfPatientsSeen:
          type: string
          description: >-
            Optional. Number of patients seen (1–99). Required for group attendance items. Cannot be set alongside
            `timeDuration` or `fieldQuantity`.
        restrictiveOverrideCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
          description: |
            Optional. Explains why restrictive rules should not apply. Requires **text**.

            | Code | Meaning |
            |------|---------|
            | SP | Separate sites |
            | NR | Not related |
            | NC | Not for comparison (bilateral) |
        text:
          type: string
          description: Optional. Free text providing additional information to support claim assessment. 1–100 characters.
        timeDuration:
          type: string
          description: >-
            Optional. Duration of service in minutes. Numeric 001–999. Cannot be set alongside `numberOfPatientsSeen` or
            `fieldQuantity`.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: >-
            Sequential numeric identifier for this medical event within the claim. Must start at `01` and increment by 1
            (e.g. `01`, `02`, `03`).
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future or before `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >-
            Date and time the medical event record was created. Must not be in the future or before `medicalEventDate`.
            Must be a valid Australian timezone offset (e.g. `+10:00`).
        facilityId:
          type: string
          description: Optional. Commonwealth Hospital Facility Provider Number. Required when `referralOverrideCode` is `H`.
        medicalEventDate:
          type: string
          format: date
          description: Date the service was rendered. Must not be in the future or more than 2 years in the past.
        medicalEventTime:
          type: string
          description: >-
            Optional. Time the service was rendered. Must not be in the future. Must be a valid Australian timezone
            offset.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
          description: |
            Optional. Use when a service that normally needs a referral was provided without a **referral**
            object. Do not set together with **referral**.

            | Code | Meaning |
            |------|---------|
            | E | Emergency |
            | H | Hospital — also requires **facilityId** and **treatmentLocationCode** **H** |
            | L | Lost referral |
            | N | Not required |
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: |
            Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

            | Code | Meaning |
            |------|---------|
            | Y | Authorised for submission |
        treatmentLocationCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode
          description: |
            Where the service was provided.

            | Code | Meaning |
            |------|---------|
            | V | Home visit (residential care, community health centre, or hostel) |
            | H | Hospital |
            | R | Rooms |
        acceptedDisability:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
        patient:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: One or more services within this medical event. Maximum 14 per medical event.
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - treatmentLocationCode
        - acceptedDisability
        - patient
        - service
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: |
            Use **O** for general (non-specialist, non-pathology) DVA medical claims.

            | Code | Meaning |
            |------|---------|
            | O | General (out-of-hospital) services |
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
        payeeProvider:
          $ref: '#/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider'
          description: >-
            Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have
            a different provider stem (first 6 characters).
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: One or more medical events. Maximum 80 per claim.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareDvaclaimGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim
    DVA_DVA Claim — General_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: >-
            Unique claim identifier assigned by Services Australia. Format is a letter prefix + 4 digits + `@` (e.g.
            `D0742@`).
        status:
          type: string
          description: Always `SUCCESS` on a successful submission.
        correlationId:
          type: string
      title: DVA_DVA Claim — General_Response_200
    MedicareDvaclaimGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
        severity:
          type: string
        reason:
          type: string
      title: MedicareDvaclaimGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    PostMedicareDvaclaimGeneralV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
        serviceMessage:
          type: array
          items:
            $ref: '#/components/schemas/MedicareDvaclaimGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems'
        correlationId:
          type: string
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareDvaclaimGeneralV1RequestBadRequestError
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - S
      description: |
        Use **S** for specialist DVA claims.

        | Code | Meaning |
        |------|---------|
        | S | Specialist, allied health, or related services |
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the service was rendered within a hospital facility.

        | Code | Meaning |
        |------|---------|
        | Y | In-hospital |
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Provider number of the practitioner who rendered the service. 6-digit stem + 1 location character + 1 check
            digit (e.g. `2447781L`).
      required:
        - providerNumber
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: 6-digit stem + 1 location character + 1 check digit.
      description: >-
        Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have a
        different provider stem (first 6 characters).
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode:
      type: string
      enum:
        - E
        - H
        - L
        - 'N'
      description: |
        Optional. Use when a specialist service that normally needs a referral was provided without a
        **referral** object. Do not set together with **referral**.

        | Code | Meaning |
        |------|---------|
        | E | Emergency |
        | H | Hospital — also requires **facilityId** and **treatmentLocationCode** **H** |
        | L | Lost referral |
        | N | Not required |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

        | Code | Meaning |
        |------|---------|
        | Y | Authorised for submission |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode:
      type: string
      enum:
        - V
        - H
        - R
      description: |
        Where the service was provided.

        | Code | Meaning |
        |------|---------|
        | V | Home visit |
        | H | Hospital |
        | R | Rooms |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y** — service is for a condition covered by a **White Card**.

        | Code | Meaning |
        |------|---------|
        | Y | White Card condition |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability:
      type: object
      properties:
        ind:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
          description: |
            Must be **Y** — service is for a condition covered by a **White Card**.

            | Code | Meaning |
            |------|---------|
            | Y | White Card condition |
        code:
          type: string
          maxLength: 100
          description: >-
            Description of the condition treated. Alphanumeric and special characters (`: ; , . -`) allowed. First
            character must be alpha or numeric. 1–100 characters.
      required:
        - ind
        - code
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode:
      type: string
      enum:
        - S
        - 'N'
        - I
      description: |
        Required when **typeCode** is **S**. Not used when **typeCode** is **D**.

        | Code | Meaning |
        |------|---------|
        | S | Standard period (12 months GP / 3 months specialist) |
        | N | Non-standard — supply **period** (months) |
        | I | Indefinite |
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode:
      type: string
      enum:
        - S
        - D
      description: |
        Referral or diagnostic imaging request type.

        | Code | Meaning |
        |------|---------|
        | S | Specialist referral |
        | D | Diagnostic imaging request — do not send **periodCode** or **period** |
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Provider number of the referring practitioner. Must differ from both service and payee providers.
      required:
        - providerNumber
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral:
      type: object
      properties:
        issueDate:
          type: string
          format: date
          description: Date the referral was issued. Must not be in the future, after `medicalEventDate`, or before patient DOB.
        period:
          type: string
          description: Optional. Non-standard referral period in months (1–98). Only set when `periodCode` is `N`.
        periodCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralPeriodCode
          description: |
            Required when **typeCode** is **S**. Not used when **typeCode** is **D**.

            | Code | Meaning |
            |------|---------|
            | S | Standard period (12 months GP / 3 months specialist) |
            | N | Non-standard — supply **period** (months) |
            | I | Indefinite |
        typeCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
          description: |
            Referral or diagnostic imaging request type.

            | Code | Meaning |
            |------|---------|
            | S | Specialist referral |
            | D | Diagnostic imaging request — do not send **periodCode** or **period** |
        provider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
      description: >-
        Referral or diagnostic imaging request details. Required unless `referralOverrideCode` or `selfDeemedCode` is
        used instead.
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding).

        | Code | Meaning |
        |------|---------|
        | 1 | Male |
        | 2 | Female |
        | 3 | Other |
        | 9 | Not stated |
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date
          description: Must not be in the future, more than 130 years in the past, or after `medicalEventDate`.
        familyName:
          type: string
          description: 1–40 characters. Alpha, numeric, spaces, apostrophes and hyphens only.
        givenName:
          type: string
          description: 1–40 characters. Use `*Onlyname*` if the patient has only one name.
        sex:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
          description: |
            Patient sex (Services Australia coding).

            | Code | Meaning |
            |------|---------|
            | 1 | Male |
            | 2 | Female |
            | 3 | Other |
            | 9 | Not stated |
      required:
        - dateOfBirth
        - familyName
        - givenName
        - sex
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress:
      type: object
      properties:
        locality:
          type: string
          description: Suburb or town. 1–40 characters. Do not include the state code as a separate value.
        postcode:
          type: string
          description: 4-digit postcode. Must not be `0000`.
      description: Optional. If provided, both fields are required.
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: DVA file number (e.g. `NX901667`). 3–9 characters total.
      required:
        - veteranNumber
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
          description: Optional. If provided, both fields are required.
        veteranMembership:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
      required:
        - identity
        - veteranMembership
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the service was not normal aftercare.

        | Code | Meaning |
        |------|---------|
        | Y | Not normal aftercare |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if same-day services by the same provider should be treated as separate.
        Requires **medicalEventTime** or **text**.

        | Code | Meaning |
        |------|---------|
        | Y | Treat as separate services |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the multiple services rule should not apply. Requires **text**
        explaining the reason.

        | Code | Meaning |
        |------|---------|
        | Y | Override multiple-services rule |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode:
      type: string
      enum:
        - SP
        - NR
        - NC
      description: |
        Optional. Explains why restrictive rules should not apply. Requires **text**.

        | Code | Meaning |
        |------|---------|
        | SP | Separate sites |
        | NR | Not related |
        | NC | Not for comparison (bilateral) |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode:
      type: string
      enum:
        - SD
        - SS
      description: |
        Optional. Cannot be set when **referralOverrideCode** is set.

        | Code | Meaning |
        |------|---------|
        | SD | Self deemed — additional service to a valid request |
        | SS | Substituted service |
      title: >-
        MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: 4-character alphanumeric identifier, unique within the claim (e.g. `0001`).
        itemNumber:
          type: string
          description: MBS or DVA item number. 1–5 characters.
        chargeAmount:
          type: string
          description: Charge in cents. Minimum `100` ($1.00). Required unless `distanceKilometres` is set.
        accountReferenceNumber:
          type: string
          description: Optional. Invoice or medical record reference. 1–8 alphanumeric characters, no spaces.
        aftercareOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsAftercareOverrideInd
          description: |
            Optional. Set **Y** if the service was not normal aftercare.

            | Code | Meaning |
            |------|---------|
            | Y | Not normal aftercare |
        distanceKilometres:
          type: string
          description: >-
            Optional. Travelling distance for home, nursing home, or hospital visits. 11–999 km. If set, only `id` and
            `itemNumber` may also be set on this service.
        duplicateServiceOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsDuplicateServiceOverrideInd
          description: |
            Optional. Set **Y** if same-day services by the same provider should be treated as separate.
            Requires **medicalEventTime** or **text**.

            | Code | Meaning |
            |------|---------|
            | Y | Treat as separate services |
        fieldQuantity:
          type: string
          description: >-
            Optional. Number of fields irradiated or 15-minute time blocks. Numeric 1–99. Cannot be set alongside
            `numberOfPatientsSeen` or `timeDuration`.
        lspNumber:
          type: string
          description: >-
            Optional. Location Specific Practice Number for diagnostic imaging. Numeric 1–999999. All services in a
            medical event must share the same LSPN.
        multipleProcedureOverrideInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsMultipleProcedureOverrideInd
          description: |
            Optional. Set **Y** if the multiple services rule should not apply. Requires **text**
            explaining the reason.

            | Code | Meaning |
            |------|---------|
            | Y | Override multiple-services rule |
        numberOfPatientsSeen:
          type: string
          description: >-
            Optional. Number of patients seen for group attendance items (1–99). Cannot be set alongside `timeDuration`
            or `fieldQuantity`.
        restrictiveOverrideCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRestrictiveOverrideCode
          description: |
            Optional. Explains why restrictive rules should not apply. Requires **text**.

            | Code | Meaning |
            |------|---------|
            | SP | Separate sites |
            | NR | Not related |
            | NC | Not for comparison (bilateral) |
        selfDeemedCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
          description: |
            Optional. Cannot be set when **referralOverrideCode** is set.

            | Code | Meaning |
            |------|---------|
            | SD | Self deemed — additional service to a valid request |
            | SS | Substituted service |
        text:
          type: string
          description: Optional. Free text for additional information. 1–100 characters.
        timeDuration:
          type: string
          description: >-
            Optional. Duration of service in minutes (001–999). Cannot be set alongside `numberOfPatientsSeen` or
            `fieldQuantity`.
      required:
        - id
        - itemNumber
        - chargeAmount
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Sequential numeric identifier for this medical event. Must start at `01` and increment by 1.
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future or before `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >-
            Date and time the medical event record was created. Must not be in the future or before `medicalEventDate`.
            Must be a valid Australian timezone offset.
        facilityId:
          type: string
          description: Optional. Commonwealth Hospital Facility Provider Number. Required when `referralOverrideCode` is `H`.
        medicalEventDate:
          type: string
          format: date
          description: Date the service was rendered. Must not be in the future or more than 2 years in the past.
        medicalEventTime:
          type: string
          description: >-
            Optional. Time the service was rendered. Must not be in the future. Must be a valid Australian timezone
            offset.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
          description: |
            Optional. Use when a specialist service that normally needs a referral was provided without a
            **referral** object. Do not set together with **referral**.

            | Code | Meaning |
            |------|---------|
            | E | Emergency |
            | H | Hospital — also requires **facilityId** and **treatmentLocationCode** **H** |
            | L | Lost referral |
            | N | Not required |
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: |
            Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

            | Code | Meaning |
            |------|---------|
            | Y | Authorised for submission |
        treatmentLocationCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsTreatmentLocationCode
          description: |
            Where the service was provided.

            | Code | Meaning |
            |------|---------|
            | V | Home visit |
            | H | Hospital |
            | R | Rooms |
        acceptedDisability:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
        referral:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
          description: >-
            Referral or diagnostic imaging request details. Required unless `referralOverrideCode` or `selfDeemedCode`
            is used instead.
        patient:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: One or more services. Maximum 14 per medical event.
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - treatmentLocationCode
        - acceptedDisability
        - patient
        - service
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: |
            Use **S** for specialist DVA claims.

            | Code | Meaning |
            |------|---------|
            | S | Specialist, allied health, or related services |
        hospitalInd:
          $ref: '#/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd'
          description: |
            Optional. Set **Y** if the service was rendered within a hospital facility.

            | Code | Meaning |
            |------|---------|
            | Y | In-hospital |
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
          description: >-
            Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have
            a different provider stem (first 6 characters).
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: One or more medical events. Maximum 80 per claim.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareDvaclaimSpecialistV1PostRequestBodyContentApplicationJsonSchemaClaim
    DVA_DVA Claim — Specialist_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: Unique claim identifier assigned by Services Australia (e.g. `D0745@`).
        status:
          type: string
          description: Always `SUCCESS` on a successful submission.
        correlationId:
          type: string
      title: DVA_DVA Claim — Specialist_Response_200
    MedicareDvaclaimSpecialistV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
        severity:
          type: string
        reason:
          type: string
      title: MedicareDvaclaimSpecialistV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    PostMedicareDvaclaimSpecialistV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimSpecialistV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
        correlationId:
          type: string
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareDvaclaimSpecialistV1RequestBadRequestError
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode:
      type: string
      enum:
        - P
      description: |
        Use **P** for pathology DVA claims.

        | Code | Meaning |
        |------|---------|
        | P | Pathology services |
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the service was rendered within a hospital facility.

        | Code | Meaning |
        |------|---------|
        | Y | In-hospital |
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Provider number of the practitioner who rendered the service. 6-digit stem + 1 location character + 1 check
            digit (e.g. `2447781L`).
      required:
        - providerNumber
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: 6-digit stem + 1 location character + 1 check digit.
      description: >-
        Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have a
        different provider stem (first 6 characters).
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode:
      type: string
      enum:
        - 'N'
      description: |
        Use **N** when no pathology referral is supplied. Do not set together with **referral**.

        | Code | Meaning |
        |------|---------|
        | N | Referral not required |
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

        | Code | Meaning |
        |------|---------|
        | Y | Authorised for submission |
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd:
      type: string
      enum:
        - 'Y'
      description: |
        Must be **Y** — service is for a condition covered by a **White Card**.

        | Code | Meaning |
        |------|---------|
        | Y | White Card condition |
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability:
      type: object
      properties:
        ind:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisabilityInd
          description: |
            Must be **Y** — service is for a condition covered by a **White Card**.

            | Code | Meaning |
            |------|---------|
            | Y | White Card condition |
        code:
          type: string
          maxLength: 100
          description: >-
            Description of the condition treated. Alphanumeric and special characters (`: ; , . -`) allowed. First
            character must be alpha or numeric. 1–100 characters.
      required:
        - ind
        - code
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode:
      type: string
      enum:
        - P
      description: |
        Must be **P** on the pathology request.

        | Code | Meaning |
        |------|---------|
        | P | Pathology request |
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Provider number of the requesting practitioner. Must differ from both service and payee providers.
      required:
        - providerNumber
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral:
      type: object
      properties:
        issueDate:
          type: string
          format: date
          description: Date the request was issued. Must not be in the future, after `medicalEventDate`, or before patient DOB.
        typeCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralTypeCode
          description: |
            Must be **P** on the pathology request.

            | Code | Meaning |
            |------|---------|
            | P | Pathology request |
        provider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralProvider
      description: Pathology request details. Required unless `referralOverrideCode` or `selfDeemedCode` is used instead.
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex:
      type: string
      enum:
        - '1'
        - '2'
        - '3'
        - '9'
      description: |
        Patient sex (Services Australia coding).

        | Code | Meaning |
        |------|---------|
        | 1 | Male |
        | 2 | Female |
        | 3 | Other |
        | 9 | Not stated |
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date
          description: Must not be in the future, more than 130 years in the past, or after `medicalEventDate`.
        familyName:
          type: string
          description: 1–40 characters. Alpha, numeric, spaces, apostrophes and hyphens only.
        givenName:
          type: string
          description: >-
            1–40 characters. Alpha, numeric, spaces, apostrophes and hyphens only. Use `*Onlyname*` if the patient has
            only one name.
        sex:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentitySex
          description: |
            Patient sex (Services Australia coding).

            | Code | Meaning |
            |------|---------|
            | 1 | Male |
            | 2 | Female |
            | 3 | Other |
            | 9 | Not stated |
      required:
        - dateOfBirth
        - familyName
        - givenName
        - sex
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress:
      type: object
      properties:
        locality:
          type: string
          description: Suburb or town. 1–40 characters. Do not include the state code as a separate value.
        postcode:
          type: string
          description: 4-digit postcode. Must not be `0000`.
      description: Optional. If provided, both fields are required.
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: DVA file number (e.g. `NX901667`). 3–9 characters total, no spaces within the file number.
      description: Optional for pathology claims.
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        residentialAddress:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientResidentialAddress
          description: Optional. If provided, both fields are required.
        veteranMembership:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientVeteranMembership
          description: Optional for pathology claims.
      required:
        - identity
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode:
      type: string
      enum:
        - SD
      description: |
        Optional. Self-deemed additional tests by a consultant physician. Cannot be set when
        **referralOverrideCode** is set.

        | Code | Meaning |
        |------|---------|
        | SD | Self deemed — additional service to a valid request |
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if the service is exempt from MBS Rule 3. Requires **medicalEventTime**.
        Cannot be set together with **s4b3ExemptInd**.

        | Code | Meaning |
        |------|---------|
        | Y | Rule 3 exempt |
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd:
      type: string
      enum:
        - 'Y'
      description: |
        Optional. Set **Y** if exempt from S4b3 assessing requirements. Requires **hospitalInd**
        **Y** on the claim and both **collectionDateTime** and **accessionDateTime** on every service
        in the medical event. Cannot be set together with **rule3ExemptInd**.

        | Code | Meaning |
        |------|---------|
        | Y | S4b3 exempt |
      title: >-
        MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: 4-character alphanumeric identifier, unique within the claim (e.g. `0001`).
        itemNumber:
          type: string
          description: MBS or DVA pathology item number. 1–5 characters.
        chargeAmount:
          type: string
          description: Charge in cents. Minimum `100` ($1.00).
        collectionDateTime:
          type: string
          format: date-time
          description: >-
            Date and time the pathology sample was collected. Must not be after `accessionDateTime`, before patient DOB,
            or before referral issue date. Must be a valid Australian timezone offset. Required together with
            `accessionDateTime`.
        accessionDateTime:
          type: string
          format: date-time
          description: >-
            Date and time the pathology test was performed. Must not be after `medicalEventDate` (or time if supplied)
            or after `createDateTime`. Must be a valid Australian timezone offset. Required together with
            `collectionDateTime`.
        accountReferenceNumber:
          type: string
          description: Optional. Invoice or medical record reference. 1–8 alphanumeric characters, no spaces.
        scpId:
          type: string
          description: >-
            Optional. Specimen Collection Point ID. 3–5 alphanumeric characters. Required for pathology claims with a
            referral or `referralOverrideCode: N` or `selfDeemedCode: SD`.
        selfDeemedCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsSelfDeemedCode
          description: |
            Optional. Self-deemed additional tests by a consultant physician. Cannot be set when
            **referralOverrideCode** is set.

            | Code | Meaning |
            |------|---------|
            | SD | Self deemed — additional service to a valid request |
        rule3ExemptInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsRule3ExemptInd
          description: |
            Optional. Set **Y** if the service is exempt from MBS Rule 3. Requires **medicalEventTime**.
            Cannot be set together with **s4b3ExemptInd**.

            | Code | Meaning |
            |------|---------|
            | Y | Rule 3 exempt |
        s4b3ExemptInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItemsS4B3ExemptInd
          description: |
            Optional. Set **Y** if exempt from S4b3 assessing requirements. Requires **hospitalInd**
            **Y** on the claim and both **collectionDateTime** and **accessionDateTime** on every service
            in the medical event. Cannot be set together with **rule3ExemptInd**.

            | Code | Meaning |
            |------|---------|
            | Y | S4b3 exempt |
        text:
          type: string
          description: Optional. Free text for additional information. 1–100 characters.
      required:
        - id
        - itemNumber
        - chargeAmount
        - collectionDateTime
        - accessionDateTime
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Sequential numeric identifier for this medical event. Must start at `01` and increment by 1.
        authorisationDate:
          type: string
          format: date
          description: Date the claim was authorised. Must not be in the future or before `medicalEventDate`.
        createDateTime:
          type: string
          format: date-time
          description: >-
            Date and time the medical event record was created. Must not be in the future or before `medicalEventDate`.
            Must be a valid Australian timezone offset.
        medicalEventDate:
          type: string
          format: date
          description: Date the service was rendered. Must not be in the future or more than 2 years in the past.
        medicalEventTime:
          type: string
          description: Optional. Time the service was rendered. Required when `rule3ExemptInd` is set on any service.
        referralOverrideCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferralOverrideCode
          description: |
            Use **N** when no pathology referral is supplied. Do not set together with **referral**.

            | Code | Meaning |
            |------|---------|
            | N | Referral not required |
        submissionAuthorityInd:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsSubmissionAuthorityInd
          description: |
            Must be **Y**. Confirms the claim is authorised for submission to the Department of Veterans' Affairs.

            | Code | Meaning |
            |------|---------|
            | Y | Authorised for submission |
        acceptedDisability:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsAcceptedDisability
        referral:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsReferral
          description: Pathology request details. Required unless `referralOverrideCode` or `selfDeemedCode` is used instead.
        patient:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
          description: >-
            One or more pathology services. Maximum 14 per medical event. All services in a medical event must share the
            same LSPN if set.
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - acceptedDisability
        - patient
        - service
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceTypeCode
          description: |
            Use **P** for pathology DVA claims.

            | Code | Meaning |
            |------|---------|
            | P | Pathology services |
        hospitalInd:
          $ref: '#/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimHospitalInd'
          description: |
            Optional. Set **Y** if the service was rendered within a hospital facility.

            | Code | Meaning |
            |------|---------|
            | Y | In-hospital |
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
        payeeProvider:
          $ref: >-
            #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimPayeeProvider
          description: >-
            Optional. The provider to whom the benefit will be paid, if different from the servicing provider. Must have
            a different provider stem (first 6 characters).
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
          description: One or more medical events. Maximum 80 per claim.
      required:
        - serviceTypeCode
        - serviceProvider
        - medicalEvent
      title: MedicareDvaclaimPathologyV1PostRequestBodyContentApplicationJsonSchemaClaim
    DVA_DVA Claim — Pathology_Response_200:
      type: object
      properties:
        claimId:
          type: string
          description: >-
            Unique claim identifier. Out-of-hospital pathology uses an alpha prefix (e.g. `D0744@`); in-hospital
            pathology uses `#` prefix (e.g. `#9876@`).
        status:
          type: string
          description: Always `SUCCESS` on a successful submission.
        correlationId:
          type: string
      title: DVA_DVA Claim — Pathology_Response_200
    MedicareDvaclaimPathologyV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
        severity:
          type: string
        reason:
          type: string
      title: MedicareDvaclaimPathologyV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    PostMedicareDvaclaimPathologyV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaclaimPathologyV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
        correlationId:
          type: string
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareDvaclaimPathologyV1RequestBadRequestError
    MedicareDvaprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Payee provider number as transmitted on the original claim. Pad with leading zeros if there are between 3
            and 7 characters before the check digit.
      required:
        - providerNumber
      description: Payee provider from the original claim transmission; use the same values as on that claim.
      title: MedicareDvaprocessingreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus:
      type: string
      enum:
        - COMPLETE
        - REPORT_NOT_READY
        - REPORT_NOT_FOUND
        - REPORT_EXPIRED
      description: |
        Outcome of the report request.

        | Value | Meaning |
        |-------|---------|
        | COMPLETE | Report returned with claim assessment data |
        | REPORT_NOT_READY | Report not ready yet — retry later |
        | REPORT_NOT_FOUND | Report not found |
        | REPORT_EXPIRED | Report has expired |
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Provider number (stem, location, and check digit).
      required:
        - providerNumber
      description: Servicing provider on the assessed claim.
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership:
      type: object
      properties:
        veteranNumber:
          type: string
          description: DVA file number.
      required:
        - veteranNumber
      title: >-
        MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember:
      type: object
      properties:
        familyName:
          type: string
        givenName:
          type: string
      required:
        - familyName
        - givenName
      title: >-
        MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient:
      type: object
      properties:
        currentMembership:
          $ref: >-
            #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMembership
        currentMember:
          $ref: >-
            #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatientCurrentMember
      required:
        - currentMembership
        - currentMember
      description: Veteran or patient as held when assessed; structure may include further membership fields from Medicare.
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
          description: Service line identifier (for example `0001`).
        itemNumber:
          type: string
          description: MBS item number as returned (may be padded).
        assessmentCode:
          type: string
          description: >-
            Medicare assessment reason code for this service line. Use the [Services Australia lookup
            tool](https://www.servicesaustralia.gov.au/look-up-medicare-reason-code) to map it to a human-readable
            description.
        benefitPaid:
          type: string
          description: Benefit for this line, in cents as a string numeric.
        chargeAmount:
          type: string
          description: Charge for this line, in cents as a string numeric.
      required:
        - id
        - itemNumber
        - assessmentCode
        - benefitPaid
        - chargeAmount
      title: >-
        MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems:
      type: object
      properties:
        id:
          type: string
          description: Medical event identifier within the claim (for example `01`).
        eventDate:
          type: string
          description: Medical event date (ISO 8601 calendar date).
        patient:
          $ref: >-
            #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsPatient
          description: Veteran or patient as held when assessed; structure may include further membership fields from Medicare.
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItemsServiceItems
          description: Service lines within this medical event.
      required:
        - id
        - eventDate
        - patient
        - service
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment:
      type: object
      properties:
        claimId:
          type: string
          description: Claim identifier as assigned when assessed (for example `D0809@`).
        benefitPaid:
          type: string
          description: Total benefit paid for the claim, in cents as a string numeric.
        chargeAmount:
          type: string
          description: Total charge amount for the claim, in cents as a string numeric.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentServiceProvider
          description: Servicing provider on the assessed claim.
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessmentMedicalEventItems
          description: Assessed medical events for the claim.
      required:
        - claimId
        - benefitPaid
        - chargeAmount
        - serviceProvider
        - medicalEvent
      description: >-
        Present when `status` is `COMPLETE`. Assessment snapshot for the claim; Medicare may include additional
        properties beyond those listed.
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment
    DVA_DVA Processing Report_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaStatus'
          description: |
            Outcome of the report request.

            | Value | Meaning |
            |-------|---------|
            | COMPLETE | Report returned with claim assessment data |
            | REPORT_NOT_READY | Report not ready yet — retry later |
            | REPORT_NOT_FOUND | Report not found |
            | REPORT_EXPIRED | Report has expired |
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request.
        claimAssessment:
          $ref: '#/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaClaimAssessment'
          description: >-
            Present when `status` is `COMPLETE`. Assessment snapshot for the claim; Medicare may include additional
            properties beyond those listed.
      required:
        - status
        - correlationId
      description: Processing report result. Additional properties appear when `status` is `COMPLETE`.
      title: DVA_DVA Processing Report_Response_200
    MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: Medicare error code.
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
        reason:
          type: string
          description: Human-readable explanation.
      required:
        - code
        - severity
        - reason
      title: MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareDvaprocessingreportV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request, for support tracing.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvaprocessingreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: One or more validation or business-rule messages from Medicare.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      title: PostMedicareDvaprocessingreportV1RequestBadRequestError0
    PostMedicareDvaprocessingreportV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: Numeric gateway or request-schema error code.
        codeType:
          type: string
          description: Gateway error category (for example `DHSEIN` for JSON schema validation).
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: >-
            Echo of the `correlationId` sent on the request when supplied; may be generated for this call when omitted
            upstream.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareDvaprocessingreportV1RequestBadRequestError1
    PostMedicareDvaprocessingreportV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareDvaprocessingreportV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareDvaprocessingreportV1RequestBadRequestError1'
      title: PostMedicareDvaprocessingreportV1RequestBadRequestError
    MedicareDvapaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Payee provider number as transmitted on the original claim. Pad with leading zeros if there are between 3
            and 7 characters before the check digit.
      required:
        - providerNumber
      description: Payee provider from the original claim transmission; use the same values as on that claim.
      title: MedicareDvapaymentreportV1PostRequestBodyContentApplicationJsonSchemaPayeeProvider
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaStatus:
      type: string
      enum:
        - COMPLETE
        - REPORT_NOT_AVAILABLE
        - REPORT_NOT_READY
        - REPORT_NOT_FOUND
        - REPORT_EXPIRED
      description: |
        Outcome of the report request. When **status** is **COMPLETE**, monetary fields on related objects are
        in cents as string numerics and account numbers are typically masked.

        | Value | Meaning |
        |-------|---------|
        | COMPLETE | Report returned with payment-run data |
        | REPORT_NOT_AVAILABLE | Report not available |
        | REPORT_NOT_READY | Report not ready yet — retry later |
        | REPORT_NOT_FOUND | Report not found |
        | REPORT_EXPIRED | Report has expired |
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaStatus
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun:
      type: object
      properties:
        runDate:
          type: string
          format: date
          description: Payment run date (`YYYY-MM-DD`).
        runNumber:
          type: string
          description: Payment run identifier assigned by Medicare for this deposit cycle.
      required:
        - runDate
        - runNumber
      description: Present when `status` is `COMPLETE`. Identifies the payment run that included this claim.
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo:
      type: object
      properties:
        accountName:
          type: string
          description: Account name on record for the EFT deposit (may be truncated).
        accountNumber:
          type: string
          description: Masked account number (for example leading digits replaced with asterisks).
        bsbCode:
          type: string
          description: BSB for the deposit account (often formatted with a hyphen).
      required:
        - accountName
        - accountNumber
        - bsbCode
      description: Payee provider's financial-institution account details, with the account number masked.
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo:
      type: object
      properties:
        accountInfo:
          $ref: >-
            #/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfoAccountInfo
          description: Payee provider's financial-institution account details, with the account number masked.
        depositAmount:
          type: string
          description: >-
            Total deposit for this run in **cents** as a decimal string (matches the benefit total for a single-claim
            run in simple cases).
      required:
        - accountInfo
        - depositAmount
      description: >-
        Present when `status` is `COMPLETE`. Masked bank / EFT details and deposit amount; amounts are in **cents** as
        decimal strings.
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems:
      type: object
      properties:
        benefit:
          type: string
          description: Medicare benefit paid for this line, in **cents** as a decimal string.
        chargeAmount:
          type: string
          description: Billed charge for this line, in **cents** as a decimal string.
        claimId:
          type: string
          description: Claim identifier as returned on the original assessment (format varies by channel).
        lodgementDate:
          type: string
          format: date
          description: Lodgement date for the claim line (`YYYY-MM-DD`).
        transactionId:
          type: string
          description: Transaction / correlation identifier tying this summary row to the transmitted claim.
      required:
        - benefit
        - chargeAmount
        - claimId
        - lodgementDate
        - transactionId
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems
    DVA_DVA Payment Report_Response_200:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaStatus'
          description: |
            Outcome of the report request. When **status** is **COMPLETE**, monetary fields on related objects are
            in cents as string numerics and account numbers are typically masked.

            | Value | Meaning |
            |-------|---------|
            | COMPLETE | Report returned with payment-run data |
            | REPORT_NOT_AVAILABLE | Report not available |
            | REPORT_NOT_READY | Report not ready yet — retry later |
            | REPORT_NOT_FOUND | Report not found |
            | REPORT_EXPIRED | Report has expired |
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request.
        paymentRun:
          $ref: '#/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentRun'
          description: Present when `status` is `COMPLETE`. Identifies the payment run that included this claim.
        paymentInfo:
          $ref: '#/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaPaymentInfo'
          description: >-
            Present when `status` is `COMPLETE`. Masked bank / EFT details and deposit amount; amounts are in **cents**
            as decimal strings.
        claimSummary:
          type: array
          items:
            $ref: '#/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaClaimSummaryItems'
          description: >-
            Present when `status` is `COMPLETE`. One row per claim line included in the payment run (not only the claim
            you queried).
      required:
        - status
        - correlationId
      description: Payment report result. Payment-run fields appear when `status` is `COMPLETE`.
      title: DVA_DVA Payment Report_Response_200
    MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: Medicare error code.
        severity:
          type: string
          description: Severity for this message (e.g. `Error`).
        reason:
          type: string
          description: Human-readable explanation.
      required:
        - code
        - severity
        - reason
      title: MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
    PostMedicareDvapaymentreportV1RequestBadRequestError0:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity across all messages (typically `Error`).
        correlationId:
          type: string
          description: Echo of the `correlationId` sent on the request, for support tracing.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareDvapaymentreportV1PostResponsesContentApplicationJsonSchemaOneOf0ServiceMessageItems
          description: One or more validation or business-rule messages from Medicare.
      required:
        - highestSeverity
        - correlationId
        - serviceMessage
      title: PostMedicareDvapaymentreportV1RequestBadRequestError0
    PostMedicareDvapaymentreportV1RequestBadRequestError1:
      type: object
      properties:
        code:
          type: integer
          description: Numeric gateway or request-schema error code.
        codeType:
          type: string
          description: Gateway error category (for example `DHSEIN` for JSON schema validation).
        message:
          type: string
          description: Human-readable validation summary.
        correlationId:
          type: string
          description: >-
            Echo of the `correlationId` sent on the request when supplied; may be generated for this call when omitted
            upstream.
      required:
        - code
        - codeType
        - message
        - correlationId
      title: PostMedicareDvapaymentreportV1RequestBadRequestError1
    PostMedicareDvapaymentreportV1RequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/PostMedicareDvapaymentreportV1RequestBadRequestError0'
        - $ref: '#/components/schemas/PostMedicareDvapaymentreportV1RequestBadRequestError1'
      title: PostMedicareDvapaymentreportV1RequestBadRequestError
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaPatient:
      type: object
      properties:
        dvaFileNumber:
          type: string
          description: DVA file number (e.g. `NX901667`).
        givenName:
          type: string
          description: Patient's given name.
        familyName:
          type: string
          description: Patient's family name.
        dateOfBirth:
          type: string
          format: date
          description: ISO date `YYYY-MM-DD`.
        telephone:
          type: string
          description: Patient contact telephone number, digits only.
        residentialAddress:
          type: string
          description: Full residential address as a single line.
      required:
        - dvaFileNumber
        - givenName
        - familyName
        - dateOfBirth
        - telephone
        - residentialAddress
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaPatient
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicingProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare-issued provider number of the servicing provider.
        providerName:
          type: string
          description: Servicing provider's name as it should appear on the voucher.
      required:
        - providerNumber
        - providerName
      description: Provider rendering the services on the voucher.
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicingProvider
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaPayeeProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Payee provider number.
        providerName:
          type: string
          description: Payee provider's name.
      required:
        - providerNumber
        - providerName
      description: Payee when different from the servicing provider; omit or `null` if the same.
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaPayeeProvider
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferralProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Referring/requesting provider's Medicare-issued provider number.
        providerName:
          type: string
          description: Referring/requesting provider's name.
      required:
        - providerNumber
        - providerName
      description: Referring or requesting provider.
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferralProvider
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferral:
      type: object
      properties:
        issueDate:
          type: string
          format: date
          description: Date the referral or request was issued.
        periodOrNotes:
          type:
            - string
            - 'null'
          description: Referral period or other notes.
        provider:
          $ref: '#/components/schemas/DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferralProvider'
          description: Referring or requesting provider.
      required:
        - issueDate
        - provider
      description: Referral or request details when applicable; omit or `null` if none.
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaReferral
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaTreatmentLocationCode:
      type: string
      enum:
        - H
        - R
        - V
      description: |
        Where treatment was provided. When **H**, send **facilityProviderNumber**.

        | Code | Meaning |
        |------|---------|
        | H | Hospital |
        | R | Rooms |
        | V | Home visit / residential care / community health / hostel |
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaTreatmentLocationCode
    DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicesItems:
      type: object
      properties:
        dateOfService:
          type: string
          format: date
          description: Date the service was provided (`YYYY-MM-DD`).
        itemNumber:
          type: string
          description: MBS or DVA item number.
        chargeAmountCents:
          type: string
          description: Charge in whole cents as a decimal string (e.g. `10000` for $100.00).
        associatedText:
          type:
            - string
            - 'null'
          description: Optional line narrative for the service.
      required:
        - dateOfService
        - itemNumber
        - chargeAmountCents
      title: DvaVoucherPostRequestBodyContentApplicationJsonSchemaServicesItems
    MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date
          description: Cannot be in the future or more than 130 years in the past.
        familyName:
          type: string
          description: >-
            1–40 characters. Alpha, numeric, space, apostrophe and hyphen only. If the patient has only one name, supply
            it here and use `Onlyname` as the given name.
        givenName:
          type: string
          description: >-
            1–40 characters. Alpha, numeric, space, apostrophe and hyphen only. If the patient has only one name, supply
            `Onlyname` here and their name in `familyName`.
      required:
        - dateOfBirth
        - familyName
        - givenName
      title: MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity
    MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
          description: 10-digit Medicare card number. Must pass the Medicare check digit routine. The 10th digit must not be `0`.
        memberRefNumber:
          type: string
          description: >-
            Individual reference number (IRN) — the digit to the left of the patient's name on the card. Must be
            `1`–`9`.
      required:
        - memberNumber
        - memberRefNumber
      title: MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientMedicare
    MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatientMedicare
      required:
        - identity
        - medicare
      title: MedicareConcessionverificationV1PostRequestBodyContentApplicationJsonSchemaPatient
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusStatus:
      type: object
      properties:
        code:
          type: integer
          description: Medicare status code (for example `0` for a match, `9633` when a new card has been issued).
        text:
          type: string
          description: Human-readable explanation from Medicare.
      required:
        - code
        - text
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusStatus
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMembership:
      type: object
      properties:
        memberNumber:
          type: string
          description: Corrected Medicare card number.
        memberRefNumber:
          type: string
          description: Corrected Individual Reference Number (IRN).
      description: Present when the patient's Medicare card details differ from what was submitted.
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMembership
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMember:
      type: object
      properties:
        givenName:
          type: string
          description: Patient's given name as held by Medicare.
      description: Present when the patient's name on Medicare differs from what was submitted.
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMember
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatus:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusStatus
        currentMembership:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMembership
          description: Present when the patient's Medicare card details differ from what was submitted.
        currentMember:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatusCurrentMember
          description: Present when the patient's name on Medicare differs from what was submitted.
      description: Medicare identity check outcome. Returned whenever Medicare responded (including partial matches).
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatus
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatusStatus:
      type: object
      properties:
        code:
          type: integer
          description: Concession status code (for example `0` when eligible, `9685` when no concession entitlement is found).
        text:
          type: string
          description: Human-readable explanation from Medicare.
      required:
        - code
        - text
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatusStatus
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatus:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatusStatus
      description: >-
        Concession check outcome. Present on every 200 response — when the Medicare check does not match it carries code
        9781 (check not undertaken). Absent only on 400 validation errors.
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatus
    MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
        severity:
          type: string
        reason:
          type: string
      title: MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    Concession_Concession Verification_Response_200:
      type: object
      properties:
        correlationId:
          type: string
          description: Unique identifier for this transaction. Use for tracing and support.
        medicareStatus:
          $ref: '#/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaMedicareStatus'
          description: Medicare identity check outcome. Returned whenever Medicare responded (including partial matches).
        concessionStatus:
          $ref: >-
            #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaConcessionStatus
          description: >-
            Concession check outcome. Present on every 200 response — when the Medicare check does not match it carries
            code 9781 (check not undertaken). Absent only on 400 validation errors.
        highestSeverity:
          type: string
          description: Present on validation errors. Value is `Error`.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
          description: Present on validation errors. Each entry describes one failure.
      required:
        - correlationId
      title: Concession_Concession Verification_Response_200
    PostMedicareConcessionverificationV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareConcessionverificationV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
        correlationId:
          type: string
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareConcessionverificationV1RequestBadRequestError
    AirV1AuthorisationAccessListPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number of the information provider. Must be current at the request
            date.
        hpioNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16 digits.
        hpiiNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Individual (HPI-I). 16 digits.
      required:
        - providerNumber
      title: AirV1AuthorisationAccessListPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaAccessListItems:
      type: object
      properties:
        code:
          type: string
          description: Capability code. See the *Capability Codes* table.
        name:
          type: string
          description: Capability description as returned by AIR.
        hasAccess:
          type: boolean
          description: '`true` if this provider is authorised for this capability; `false` otherwise.'
      title: AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaAccessListItems
    AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: AIR validation code. See [Validation codes](/air#validation-codes).
        field:
          type: string
          description: Human-readable name of the field that failed validation.
        message:
          type: string
          description: Plain-language description of the validation problem, including the offending value.
      title: AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Authorisation_Authorisation_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: >-
            AIR status code. `AIR-I-*` indicates success; `AIR-E-*` indicates a validation error. See the *Status Codes*
            table.
        codeType:
          type: string
          description: Code-type category. `AIRIBU` on success; `AIREBU` on validation errors.
        message:
          type: string
          description: Status message from AIR.
        accessList:
          type: array
          items:
            $ref: '#/components/schemas/AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaAccessListItems'
          description: Capabilities available to this information provider on AIR. Present on success (`AIR-I-1100`).
        errors:
          type: array
          items:
            $ref: '#/components/schemas/AirV1AuthorisationAccessListPostResponsesContentApplicationJsonSchemaErrorsItems'
          description: One entry per field-level problem with the request. Present on validation errors (`AIR-E-1005`).
        correlationId:
          type: string
          description: >-
            Unique request identifier. Format `urn:uuid:{MinorId}{16 hex chars}`. Include in support tickets so we can
            trace the request.
      title: AIR_Authorisation_Authorisation_Response_200
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number of the entity sending the data. Must be current at the
            submission date.
        hpioNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16 digits.
        hpiiNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Individual (HPI-I). 16 digits.
      required:
        - providerNumber
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender:
      type: string
      enum:
        - F
        - M
        - X
      description: |
        Individual's gender.

        | Code | Meaning |
        |---|---|
        | `F` | Female |
        | `M` | Male |
        | `X` | Non-binary |
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails:
      type: object
      properties:
        dateOfBirth:
          type: string
          description: DDMMYYYY format (e.g. `18042016`). Cannot be a future date or more than 130 years in the past.
        firstName:
          type: string
          description: 1–40 alphanumeric characters. Omit when `onlyNameIndicator` is `true`.
        lastName:
          type: string
          description: 1–40 alphanumeric characters.
        initial:
          type: string
          maxLength: 1
          description: Middle/second name initial.
        onlyNameIndicator:
          type: boolean
          description: >-
            `true` if the individual has only one name (no first name and no initial). Stored only when creating a new
            individual.
        gender:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
          description: |
            Individual's gender.

            | Code | Meaning |
            |---|---|
            | `F` | Female |
            | `M` | Male |
            | `X` | Non-binary |
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard:
      type: object
      properties:
        medicareCardNumber:
          type: string
          description: 10-digit Medicare card number.
        medicareIRN:
          type: string
          description: Individual Reference Number — single digit identifying the family member on the Medicare card.
      description: Medicare card details when known. Provide together with IHI for the best match.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress:
      type: object
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
          description: Only set when `addressLineOne` is provided.
        locality:
          type: string
          description: Suburb or town.
        postCode:
          type: string
          description: 4-digit Australian postcode.
      description: Required when creating a new individual (set `acceptAndConfirm` to `Y`).
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: >
        Aboriginal or Torres Strait Islander descent, as voluntarily provided by the individual. Stored only when
        creating a new individual.


        | Code | Meaning |

        |---|---|

        | `Y` | Of Aboriginal or Torres Strait Islander descent |

        | `N` | Not of Aboriginal or Torres Strait Islander descent |
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: >-
        Set to `Y` on a follow-up Confirm request to create a new individual when AIR previously returned `AIR-W-1004`
        (Individual not found). Must not be combined with `medicareCard` or `ihiNumber` — AIR rejects with `AIR-E-1031`.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual:
      type: object
      properties:
        personalDetails:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
        medicareCard:
          $ref: '#/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard'
          description: Medicare card details when known. Provide together with IHI for the best match.
        address:
          $ref: '#/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress'
          description: Required when creating a new individual (set `acceptAndConfirm` to `Y`).
        ihiNumber:
          type: string
          description: 16-digit Individual Healthcare Identifier (IHI).
        atsiIndicator:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator
          description: >
            Aboriginal or Torres Strait Islander descent, as voluntarily provided by the individual. Stored only when
            creating a new individual.


            | Code | Meaning |

            |---|---|

            | `Y` | Of Aboriginal or Torres Strait Islander descent |

            | `N` | Not of Aboriginal or Torres Strait Islander descent |
        acceptAndConfirm:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm
          description: >-
            Set to `Y` on a follow-up Confirm request to create a new individual when AIR previously returned
            `AIR-W-1004` (Individual not found). Must not be combined with `medicareCard` or `ihiNumber` — AIR rejects
            with `AIR-E-1031`.
      description: >-
        The patient receiving the vaccinations. Required for the Add mode; not required when the request is a Confirm
        with `claimId`.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType:
      type: string
      enum:
        - NIP
        - OTH
      description: |
        Vaccine funding type.

        | Code | Meaning |
        |---|---|
        | `NIP` | National Immunisation Program / Commonwealth |
        | `OTH` | Other |

        Mandatory for some vaccines — see the AIR Reference Data `vaccine/mandatory/vaccineType` endpoint.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration:
      type: string
      enum:
        - PO
        - SC
        - ID
        - IM
        - NS
      description: |
        Route of administration.

        | Code | Meaning |
        |---|---|
        | `PO` | Oral |
        | `SC` | Subcutaneous |
        | `ID` | Intradermal |
        | `IM` | Intramuscular |
        | `NS` | Nasal |

        Mandatory for some vaccines — see the AIR Reference Data `vaccine/mandatory/routeOfAdministration` endpoint.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems:
      type: object
      properties:
        id:
          type: integer
          description: Sequential id within the encounter, starting at 1.
        vaccineCode:
          type: string
          description: >-
            AIR vaccine brand code (e.g. `BEXO`, `BOOST`, `ACAM`). Look up valid values via the [Reference Data](/air)
            vaccine endpoint.
        vaccineDose:
          type: string
          description: |
            Dose number.

            | Value | Meaning |
            |---|---|
            | `B` | Birth dose |
            | `1`–`20` | Dose number for individuals under 20 |
            | `V` | Dose for individuals over 20 (returned by AIR when it adjusts the dose) |
        vaccineBatch:
          type: string
          description: >-
            Batch number. 1–15 characters. Mandatory for some vaccines — see the AIR Reference Data
            `vaccine/mandatory/vaccineBatch` endpoint.
        vaccineType:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType
          description: |
            Vaccine funding type.

            | Code | Meaning |
            |---|---|
            | `NIP` | National Immunisation Program / Commonwealth |
            | `OTH` | Other |

            Mandatory for some vaccines — see the AIR Reference Data `vaccine/mandatory/vaccineType` endpoint.
        routeOfAdministration:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration
          description: |
            Route of administration.

            | Code | Meaning |
            |---|---|
            | `PO` | Oral |
            | `SC` | Subcutaneous |
            | `ID` | Intradermal |
            | `IM` | Intramuscular |
            | `NS` | Nasal |

            Mandatory for some vaccines — see the AIR Reference Data `vaccine/mandatory/routeOfAdministration` endpoint.
      required:
        - id
        - vaccineCode
        - vaccineDose
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare or AIR provider number. Must be current at the date of service.
        hpioNumber:
          type: string
          description: 16-digit HPI-O of the healthcare organisation that administered the vaccine.
        hpiiNumber:
          type: string
          description: 16-digit HPI-I of the healthcare professional that administered the vaccine.
      description: >-
        The provider who administered the vaccine. Omit when `administeredOverseas` is `true`. If omitted otherwise, AIR
        records a generic history provider number.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: Set to `Y` on a Confirm request to accept any pended episodes returned from the initial submission.
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems:
      type: object
      properties:
        id:
          type: integer
          description: Sequential id within the request, starting at 1.
        episodes:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems
          description: Vaccines administered in this encounter.
        immunisationProvider:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider
          description: >-
            The provider who administered the vaccine. Omit when `administeredOverseas` is `true`. If omitted otherwise,
            AIR records a generic history provider number.
        schoolId:
          type: string
          description: Optional. AIR-assigned ID of the school where the vaccine was administered.
        antenatalIndicator:
          type: boolean
          description: >-
            `true` if the individual was pregnant at the time. Mandatory for female individuals aged 10–65 receiving
            certain vaccines — see the AIR Reference Data `vaccine/mandatory/antenatalIndicator` endpoint.
        administeredOverseas:
          type: boolean
          description: '`true` if the vaccine was administered outside Australia. Must not be combined with `immunisationProvider`.'
        countryCode:
          type: string
          description: >-
            Required when `administeredOverseas` is `true`. ICAO country/region code (look up via the AIR Reference Data
            `country` endpoint).
        acceptAndConfirm:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm
          description: Set to `Y` on a Confirm request to accept any pended episodes returned from the initial submission.
        dateOfService:
          type: string
          description: >-
            DDMMYYYY format. Date the vaccinations were administered. Must be after the individual's date of birth and
            not in the future.
      required:
        - id
        - episodes
        - dateOfService
      title: AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: AIR validation code.
        field:
          type: string
          description: Human-readable name of the field that failed validation.
        message:
          type: string
          description: Plain-language description of the validation problem.
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus:
      type: string
      enum:
        - SUCCESS
        - WARNING
      description: |
        Encounter-level outcome.

        | Value | Meaning |
        |---|---|
        | `SUCCESS` | Encounter recorded successfully |
        | `WARNING` | Encounter not recorded successfully |
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus
          description: |
            Encounter-level outcome.

            | Value | Meaning |
            |---|---|
            | `SUCCESS` | Encounter recorded successfully |
            | `WARNING` | Encounter not recorded successfully |
        code:
          type: string
          description: >-
            AIR encounter-level code (e.g. `AIR-I-1000` recorded, `AIR-W-1001` not recorded, `AIR-E-0102` duplicate
            vaccination services).
        text:
          type: string
          description: Message text from AIR.
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus:
      type: string
      enum:
        - VALID
        - INVALID
      description: |
        Episode-level outcome.

        | Value | Meaning |
        |---|---|
        | `VALID` | Episode accepted |
        | `INVALID` | Episode rejected |
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus
          description: |
            Episode-level outcome.

            | Value | Meaning |
            |---|---|
            | `VALID` | Episode accepted |
            | `INVALID` | Episode rejected |
        code:
          type: string
          description: AIR episode-level code (e.g. `AIR-I-1002` valid, `AIR-I-1003` dose adjusted).
        text:
          type: string
          description: Message text from AIR.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems:
      type: object
      properties:
        id:
          type: integer
        vaccineCode:
          type: string
        vaccineDose:
          type: string
          description: >-
            May differ from the submitted dose when AIR adjusted it (e.g. submitted `1` returned as `A01` for an over-20
            individual, with code `AIR-I-1003`).
        vaccineBatch:
          type: string
        vaccineType:
          type: string
        routeOfAdministration:
          type: string
        information:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems:
      type: object
      properties:
        id:
          type: string
          description: Echo of the encounter `id` from the request.
        claimSequenceNumber:
          type: string
          description: >-
            AIR-generated sequence number for this encounter within the claim. Must be set on a Confirm request when
            `claimId` is set.
        antenatalIndicator:
          type: boolean
          description: Echo of `antenatalIndicator` from the request.
        information:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation
        episodes:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems
          description: >-
            Returned per episode that has information to report. `null` when every episode in the encounter was
            straightforward.
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails:
      type: object
      properties:
        claimId:
          type: string
          description: Unique claim identifier assigned by AIR. Reuse on a Confirm request to accept pended episodes.
        encounters:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems
          description: >-
            Populated when AIR has encounter-level or episode-level information to report (warnings, dose adjustments,
            errors). `null` when every encounter recorded cleanly.
      description: >-
        Claim summary. Present on success (`AIR-I-1007`) or partial success (`AIR-W-1008`, `AIR-E-1046`). `null` on
        validation failures and `AIR-W-1004`.
      title: AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails
    AIR_Record Encounter_Record Encounter_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: AIR status code. See [Status codes](/air#status-codes).
        codeType:
          type: string
          description: Code-type category. `AIRIBU` on success, `AIRWBU` on warnings, `AIREBU` on validation errors.
        message:
          type: string
          description: Status message from AIR.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems'
          description: >-
            Field-level validation problems. Present when `statusCode` is `AIR-E-1005`. See [Validation
            codes](/air#validation-codes).
        claimDetails:
          $ref: '#/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails'
          description: >-
            Claim summary. Present on success (`AIR-I-1007`) or partial success (`AIR-W-1008`, `AIR-E-1046`). `null` on
            validation failures and `AIR-W-1004`.
        correlationId:
          type: string
          description: Unique request identifier. Include in support tickets so we can trace the request.
      title: AIR_Record Encounter_Record Encounter_Response_200
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender:
      type: string
      enum:
        - F
        - M
        - X
      description: |
        Individual's gender.

        | Code | Meaning |
        |---|---|
        | `F` | Female |
        | `M` | Male |
        | `X` | Non-binary |
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails:
      type: object
      properties:
        dateOfBirth:
          type: string
          description: DDMMYYYY format. Cannot be in the future or more than 130 years in the past.
        firstName:
          type: string
          description: 1–40 alphanumeric characters.
        lastName:
          type: string
          description: 1–40 alphanumeric characters.
        gender:
          $ref: >-
            #/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
          description: |
            Individual's gender.

            | Code | Meaning |
            |---|---|
            | `F` | Female |
            | `M` | Male |
            | `X` | Non-binary |
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard:
      type: object
      properties:
        medicareCardNumber:
          type: string
          description: 10-digit Medicare card number.
        medicareIRN:
          type: string
          description: Single-digit Individual Reference Number from the Medicare card.
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualAddress:
      type: object
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
          description: Only set when `addressLineOne` is provided.
        locality:
          type: string
          description: Suburb or town.
        postCode:
          type: string
          description: 4-digit Australian postcode.
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualAddress
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividual:
      type: object
      properties:
        personalDetails:
          $ref: >-
            #/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
        medicareCard:
          $ref: '#/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard'
        address:
          $ref: '#/components/schemas/AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividualAddress'
        ihiNumber:
          type: string
          description: 16-digit Individual Healthcare Identifier (IHI).
      description: The patient the catch-up is being recorded for. Must be under 20 — over-20s return `AIR-E-1047`.
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaIndividual
    AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number of the entity sending the data. Must be current at the
            submission date.
        hpioNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16 digits.
        hpiiNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Individual (HPI-I). 16 digits.
      required:
        - providerNumber
      title: AirV11ScheduleCatchupPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV11ScheduleCatchupPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: AIR validation code (e.g. `AIR-E-1047` for over-20, `AIR-E-1026` for insufficient identification).
        field:
          type: string
          description: Human-readable name of the field that failed validation.
        message:
          type: string
          description: Plain-language description of the validation problem.
      title: AirV11ScheduleCatchupPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Planned Catch-up_Planned Catch-up Date_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: AIR status code. See [Status codes](/air#status-codes).
        codeType:
          type: string
          description: >-
            Code-type category. `AIRIBU` on success; `AIRWBU` on warnings (already exists, expired); `AIREBU` on
            validation errors.
        message:
          type: string
          description: Status message from AIR.
        catchupDate:
          type:
            - string
            - 'null'
          description: >-
            DDMMYYYY format. Present on success (`AIR-I-1009`) and on the *already exists* / *expired* warnings
            (`AIR-W-1010`, `AIR-W-1011`). `null` on validation errors.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/AirV11ScheduleCatchupPostResponsesContentApplicationJsonSchemaErrorsItems'
          description: >-
            Field-level validation problems. Present when `statusCode` is `AIR-E-1005`. See [Validation
            codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier. Include in support tickets so we can trace the request.
      title: AIR_Planned Catch-up_Planned Catch-up Date_Response_200
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender:
      type: string
      enum:
        - F
        - M
        - X
      description: |
        Individual's gender.

        | Code | Meaning |
        |---|---|
        | `F` | Female |
        | `M` | Male |
        | `X` | Non-binary |
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails:
      type: object
      properties:
        dateOfBirth:
          type: string
          description: DDMMYYYY format. Required for every identification scenario.
        firstName:
          type: string
          description: 1–40 alphanumeric characters. Omit when `onlyNameIndicator` is `true`.
        lastName:
          type: string
          description: 1–40 alphanumeric characters.
        initial:
          type: string
          maxLength: 1
          description: Middle/second name initial.
        gender:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
          description: |
            Individual's gender.

            | Code | Meaning |
            |---|---|
            | `F` | Female |
            | `M` | Male |
            | `X` | Non-binary |
        onlyNameIndicator:
          type: boolean
          description: '`true` when the individual has only one name. Omit `firstName` and `initial` when this is `true`.'
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard:
      type: object
      properties:
        medicareCardNumber:
          type: string
          description: 10-digit Medicare card number.
        medicareIRN:
          type: string
          description: Single-digit Individual Reference Number from the Medicare card.
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualAddress:
      type: object
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
          description: Only set when `addressLineOne` is provided.
        locality:
          type: string
          description: Suburb or town.
        postCode:
          type: string
          description: >-
            4-digit Australian postcode. Used as a tie-breaker when multiple individuals match on first name, last name,
            and date of birth.
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualAddress
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividual:
      type: object
      properties:
        personalDetails:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
        medicareCard:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
        address:
          $ref: '#/components/schemas/AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividualAddress'
        ihiNumber:
          type: string
          description: 16-digit Individual Healthcare Identifier (IHI).
      description: >-
        Identification details. See the *Minimum identification requirements* table in the operation description for
        valid combinations.
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaIndividual
    AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number of the entity sending the data. Must be current at the
            submission date.
        hpioNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16 digits.
        hpiiNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Individual (HPI-I). 16 digits.
      required:
        - providerNumber
      title: AirV11IndividualDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualPersonalDetails:
      type: object
      properties:
        dateOfBirth:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        initial:
          type:
            - string
            - 'null'
        onlyNameIndicator:
          type: boolean
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualPersonalDetails
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualMedicareCard:
      type: object
      properties:
        medicareCardNumber:
          type: string
        medicareIRN:
          type: string
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualMedicareCard
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualAddress:
      type: object
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
        locality:
          type: string
        postCode:
          type: string
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualAddress
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividual:
      type: object
      properties:
        personalDetails:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualPersonalDetails
        medicareCard:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualMedicareCard
        address:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividualAddress
      description: >-
        The individual's record as held by AIR. May differ from what was submitted (e.g. uppercase names, AIR's stored
        address).
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividual
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsEndDateCode:
      type: string
      enum:
        - ALL
        - LIMITED
        - NONE
      description: >-
        Present when the individual's record has restrictions. See the *End-date code* table in the operation
        description.
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsEndDateCode
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetails:
      type: object
      properties:
        individualIdentifier:
          type: string
          description: >-
            Opaque, encrypted token unique to this individual for this information provider. Reuse on subsequent calls
            (history, exemptions, updates). Do not display to end users.
        individual:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsIndividual
          description: >-
            The individual's record as held by AIR. May differ from what was submitted (e.g. uppercase names, AIR's
            stored address).
        catchupDate:
          type: string
          description: DDMMYYYY format. Empty string when no catch-up is recorded.
        indigenousStatus:
          type: boolean
          description: '`true` when the individual identifies as Aboriginal or Torres Strait Islander.'
        additionalVaccineIndicator:
          type: boolean
          description: '`true` when an *additional vaccines required* indicator is recorded for the individual.'
        medContraindicationIndicator:
          type: boolean
          description: '`true` when a medical contraindication is recorded for the individual.'
        naturalImmunityIndicator:
          type: boolean
          description: '`true` when a natural immunity is recorded for the individual.'
        vaccineTrialIndicator:
          type: boolean
          description: '`true` when a vaccine trial is recorded for the individual.'
        actionRequiredIndicator:
          type: boolean
          description: '`true` when the individual has encounters that need correction (editable encounters in an invalid status).'
        endDateCode:
          $ref: >-
            #/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetailsEndDateCode
          description: >-
            Present when the individual's record has restrictions. See the *End-date code* table in the operation
            description.
      description: >-
        Present on a successful match (`AIR-I-1100`) and on the end-date warnings (`AIR-W-1059`, `AIR-W-1062`). `null`
        on validation errors and `AIR-E-1058`.
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetails
    AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: AIR validation code (`AIR-E-1026` insufficient info, `AIR-E-1035` not found).
        field:
          type: string
        message:
          type: string
      title: AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Identify Individual_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: AIR status code. See [Status codes](/air#status-codes).
        codeType:
          type: string
          description: Code-type category.
        message:
          type: string
          description: Status message from AIR.
        individualDetails:
          oneOf:
            - $ref: '#/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaIndividualDetails'
            - type: 'null'
          description: >-
            Present on a successful match (`AIR-I-1100`) and on the end-date warnings (`AIR-W-1059`, `AIR-W-1062`).
            `null` on validation errors and `AIR-E-1058`.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/AirV11IndividualDetailsPostResponsesContentApplicationJsonSchemaErrorsItems'
          description: >-
            Field-level validation problems. Present when `statusCode` is `AIR-E-1005`. See [Validation
            codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier. Include in support tickets so we can trace the request.
      title: AIR_Individual Details_Identify Individual_Response_200
    AirV13IndividualImmunisationHistoryDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number. Must be the same provider used in the Identify Individual
            call.
        hpioNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16 digits.
        hpiiNumber:
          type: string
          description: Optional. Healthcare Provider Identifier — Individual (HPI-I). 16 digits.
      required:
        - providerNumber
      title: AirV13IndividualImmunisationHistoryDetailsPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsDueListItems:
      type: object
      properties:
        disease:
          type: string
          description: Three-letter disease code (e.g. `HEP` Hepatitis, `TET` Tetanus, `MEA` Measles).
        vaccineDose:
          type: string
          description: Dose number that's due.
        dueDate:
          type: string
          description: DDMMYYYY format. The date the next dose is due.
      title: >-
        AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsDueListItems
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItemsInformation:
      type: object
      properties:
        status:
          type: string
          description: Episode-level status.
        code:
          type:
            - string
            - 'null'
        text:
          type:
            - string
            - 'null'
      title: >-
        AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItemsInformation
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItems:
      type: object
      properties:
        id:
          type: integer
        vaccineBatch:
          type: string
        vaccineCode:
          type: string
        vaccineDose:
          type: string
        routeOfAdministration:
          type: string
        vaccineType:
          type: string
        editable:
          type: boolean
          description: '`true` when your information provider can edit or update this episode.'
        actionRequiredIndicator:
          type: boolean
          description: '`true` when this episode is in an invalid status and needs correction.'
        information:
          $ref: >-
            #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItemsInformation
      title: >-
        AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItems
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItems:
      type: object
      properties:
        episodes:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItemsEpisodesItems
        editable:
          type: boolean
          description: '`true` when your information provider can edit this encounter as a whole.'
        dateOfService:
          type: string
          description: DDMMYYYY format.
        dateSubmitted:
          type: string
          description: DDMMYYYY format.
        schoolId:
          type: string
        administeredOverseas:
          type: boolean
        countryCode:
          type: string
          description: ICAO country/region code (e.g. `AUS`).
        claimSeqNum:
          type: integer
          description: Claim sequence number assigned by AIR.
        immEncSeqNum:
          type: integer
          description: Immunisation encounter sequence number assigned by AIR.
        claimId:
          type: string
          description: AIR claim identifier.
      title: >-
        AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItems
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetails:
      type: object
      properties:
        dueList:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsDueListItems
          description: Vaccines currently due for the individual, by disease.
        encounters:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetailsEncountersItems
          description: Past encounters in submission order.
      description: Present on success. `null` on validation errors.
      title: AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetails
    AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Immunisation History Details_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: AIR status code. See [Status codes](/air#status-codes).
        codeType:
          type: string
          description: Code-type category. `AIRIBU` on success; `AIREBU` on validation errors.
        message:
          type: string
          description: Status message from AIR.
        immunisationDetails:
          oneOf:
            - $ref: >-
                #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaImmunisationDetails
            - type: 'null'
          description: Present on success. `null` on validation errors.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV13IndividualImmunisationHistoryDetailsPostResponsesContentApplicationJsonSchemaErrorsItems
          description: >-
            Field-level validation problems. Present when `statusCode` is `AIR-E-1005`. See [Validation
            codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier. Include in support tickets so we can trace the request.
      title: AIR_Individual Details_Immunisation History Details_Response_200
    AirV1IndividualMedicalContraindicationHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare or AIR provider number.
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualMedicalContraindicationHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItemsTypeCode:
      type: string
      enum:
        - T
        - P
      description: |
        Type of contraindication.

        | Code | Meaning |
        |---|---|
        | `T` | Temporary — `endDate` set |
        | `P` | Permanent — no `endDate` |
      title: >-
        AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItemsTypeCode
    AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItems:
      type: object
      properties:
        vaccineCode:
          type: string
          description: 1–6 character AIR vaccine code (refer to the AIR Vaccine Code Formats guide).
        typeCode:
          $ref: >-
            #/components/schemas/AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItemsTypeCode
          description: |
            Type of contraindication.

            | Code | Meaning |
            |---|---|
            | `T` | Temporary — `endDate` set |
            | `P` | Permanent — no `endDate` |
        startDate:
          type: string
          description: DDMMYYYY format. Date the contraindication period commenced.
        endDate:
          type:
            - string
            - 'null'
          description: DDMMYYYY format. Set on temporary contraindications; `null` on permanent.
        reason:
          type: string
          description: AIR reason code for the contraindication (refer to the AIR Vaccine Code Formats guide).
        anaphylaxisDate:
          type:
            - string
            - 'null'
          description: DDMMYYYY format. Set when the reason is anaphylaxis; `null` otherwise.
      title: >-
        AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItems
    AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Medical Contraindication History_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        medContraindicationList:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaMedContraindicationListItems
          description: Recorded medical contraindications. The whole field is omitted when no contraindications exist.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualMedicalContraindicationHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
          description: Field-level validation problems. See [Validation codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier.
      title: AIR_Individual Details_Medical Contraindication History_Response_200
    AirV1IndividualNaturalImmunityHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare or AIR provider number.
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualNaturalImmunityHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaNaturalImmunityListItems:
      type: object
      properties:
        disease:
          type: string
          description: 1–6 character antigen code for the disease (refer to the AIR Vaccine Code Formats guide).
        notificationDate:
          type: string
          description: DDMMYYYY format. Date AIR was notified of the natural immunity.
        labTestDate:
          type: string
          description: DDMMYYYY format, or empty string. Date of the lab test for the immunity.
        diagnosisDate:
          type: string
          description: DDMMYYYY format, or empty string. Date of clinical diagnosis.
      title: AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaNaturalImmunityListItems
    AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Natural Immunity History_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        naturalImmunityList:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaNaturalImmunityListItems
          description: Recorded natural immunities. The whole field is omitted when no records exist.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualNaturalImmunityHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
          description: Field-level validation problems. See [Validation codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier.
      title: AIR_Individual Details_Natural Immunity History_Response_200
    AirV1IndividualVaccineTrialHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Medicare or AIR provider number.
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualVaccineTrialHistoryPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaVaccineTrialListItems:
      type: object
      properties:
        antigenCode:
          type: string
          description: 1–6 character antigen code (refer to the AIR Vaccine Code Formats guide).
        dose:
          type: string
          description: Dose number — same value set as `vaccineDose` on encounters (`B`, `1`–`20`, `V`).
        startDate:
          type: string
          description: DDMMYYYY format. Date the trial commenced.
        endDate:
          type: string
          description: DDMMYYYY format, or empty string while the trial is ongoing.
      title: AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaVaccineTrialListItems
    AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Vaccine Trial History_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccineTrialList:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaVaccineTrialListItems
          description: Recorded vaccine trials. The whole field is omitted when no records exist.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualVaccineTrialHistoryPostResponsesContentApplicationJsonSchemaErrorsItems
          description: Field-level validation problems. See [Validation codes](/air#validation-codes).
        correlationId:
          type: string
          description: Unique request identifier.
      title: AIR_Individual Details_Vaccine Trial History_Response_200
    AirV1IndividualAdditionalVaccineIndicatorAddPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualAdditionalVaccineIndicatorAddPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualAdditionalVaccineIndicatorAddPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualAdditionalVaccineIndicatorAddPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Add Additional Vaccine Indicator_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualAdditionalVaccineIndicatorAddPostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Individual Details_Add Additional Vaccine Indicator_Response_200
    AirV1IndividualAdditionalVaccineIndicatorRemovePostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualAdditionalVaccineIndicatorRemovePostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualAdditionalVaccineIndicatorRemovePostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualAdditionalVaccineIndicatorRemovePostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Remove Additional Vaccine Indicator_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualAdditionalVaccineIndicatorRemovePostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Individual Details_Remove Additional Vaccine Indicator_Response_200
    AirV1IndividualIndigenousStatusUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualIndigenousStatusUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualIndigenousStatusUpdatePostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualIndigenousStatusUpdatePostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Indigenous Status Update_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualIndigenousStatusUpdatePostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Individual Details_Indigenous Status Update_Response_200
    AirV1IndividualImmunisationHistoryStatementPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualImmunisationHistoryStatementPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaImmunisationHistoryStatement:
      type: object
      properties:
        fileContent:
          type: string
          description: Base64-encoded PDF bytes. Decode and write to a `.pdf` file to render.
      description: Present on success. `null` on errors.
      title: AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaImmunisationHistoryStatement
    AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Immunisation History Statement_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        immunisationHistoryStatement:
          oneOf:
            - $ref: >-
                #/components/schemas/AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaImmunisationHistoryStatement
            - type: 'null'
          description: Present on success. `null` on errors.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualImmunisationHistoryStatementPostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Individual Details_Immunisation History Statement_Response_200
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsVaccineType:
      type: string
      enum:
        - NIP
        - OTH
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsVaccineType
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsRouteOfAdministration:
      type: string
      enum:
        - PO
        - SC
        - ID
        - IM
        - NS
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsRouteOfAdministration
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItems:
      type: object
      properties:
        id:
          type: integer
        vaccineCode:
          type: string
        vaccineDose:
          type: string
        vaccineBatch:
          type: string
        vaccineType:
          $ref: >-
            #/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsVaccineType
        routeOfAdministration:
          $ref: >-
            #/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItemsRouteOfAdministration
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItems
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterImmunisationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
        hpiiNumber:
          type: string
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterImmunisationProvider
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounter:
      type: object
      properties:
        claimId:
          type: string
          description: Claim identifier from the original Record Encounter response.
        claimSeqNum:
          type: integer
          description: Claim sequence number assigned by AIR.
        immEncSeqNum:
          type: integer
          description: Immunisation encounter sequence number assigned by AIR.
        episodes:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterEpisodesItems
          description: >-
            The new state of every episode in this encounter. See [Record
            Encounter](/api-reference/air/record-encounter/record-encounter) for the full episode field set.
        dateOfService:
          type: string
          description: DDMMYYYY format.
        schoolId:
          type: string
        antenatalIndicator:
          type: boolean
        administeredOverseas:
          type: boolean
        countryCode:
          type: string
          description: ICAO country code. Required when `administeredOverseas` is `true`.
        immunisationProvider:
          $ref: >-
            #/components/schemas/AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounterImmunisationProvider
      required:
        - claimId
        - claimSeqNum
        - immEncSeqNum
        - episodes
        - dateOfService
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaEncounter
    AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV13EncounterUpdatePostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItemsInformation:
      type: object
      properties:
        status:
          type: string
        code:
          type: string
        text:
          type: string
      title: AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItemsInformation
    AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItems:
      type: object
      properties:
        id:
          type: integer
        vaccineBatch:
          type: string
        vaccineCode:
          type: string
        vaccineDose:
          type: string
        routeOfAdministration:
          type: string
        vaccineType:
          type: string
        information:
          $ref: >-
            #/components/schemas/AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItemsInformation
      title: AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItems
    AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounter:
      type: object
      properties:
        claimId:
          type: string
        claimSeqNum:
          type: integer
        immEncSeqNum:
          type: integer
        episodes:
          type: array
          items:
            $ref: '#/components/schemas/AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounterEpisodesItems'
        dateOfService:
          type: string
      description: >-
        The updated encounter state. Episode-level `information.code` (e.g. `AIR-I-1002` valid, `AIR-I-1003` dose
        adjusted) appears here.
      title: AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounter
    AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Individual Details_Update Encounter_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        encounter:
          oneOf:
            - $ref: '#/components/schemas/AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaEncounter'
            - type: 'null'
          description: >-
            The updated encounter state. Episode-level `information.code` (e.g. `AIR-I-1002` valid, `AIR-I-1003` dose
            adjusted) appears here.
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/AirV13EncounterUpdatePostResponsesContentApplicationJsonSchemaErrorsItems'
        correlationId:
          type: string
      title: AIR_Individual Details_Update Encounter_Response_200
    AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindicationTypeCode:
      type: string
      enum:
        - T
        - P
      description: |
        Type of contraindication.

        | Code | Meaning |
        |---|---|
        | `T` | Temporary — `endDate` required |
        | `P` | Permanent — `endDate` must be omitted |
      title: AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindicationTypeCode
    AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindication:
      type: object
      properties:
        vaccineCode:
          type: string
          description: 1–6 character AIR vaccine code (refer to the AIR Vaccine Code Formats guide).
        typeCode:
          $ref: >-
            #/components/schemas/AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindicationTypeCode
          description: |
            Type of contraindication.

            | Code | Meaning |
            |---|---|
            | `T` | Temporary — `endDate` required |
            | `P` | Permanent — `endDate` must be omitted |
        endDate:
          type: string
          description: DDMMYYYY format. Required for temporary contraindications; omit for permanent.
        reason:
          type: string
          description: >-
            AIR reason code for the contraindication. Refer to the AIR Vaccine Code Formats guide for valid values per
            vaccine.
        anaphylaxisDate:
          type: string
          description: DDMMYYYY format. Required when `reason` indicates anaphylaxis.
      required:
        - vaccineCode
        - typeCode
        - reason
      title: AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaContraindication
    AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Must be authorised for `MEDCON` capability.
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualMedicalContraindicationRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualMedicalContraindicationRecordPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualMedicalContraindicationRecordPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Medical Exemptions_Record Medical Contraindication_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualMedicalContraindicationRecordPostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Medical Exemptions_Record Medical Contraindication_Response_200
    AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunityDisease:
      type: string
      enum:
        - HEP
        - MEA
        - MUM
        - QAX
        - RUB
        - VAR
      description: |
        Disease the individual is naturally immune to.

        | Code | Meaning |
        |---|---|
        | `HEP` | Hepatitis |
        | `MEA` | Measles |
        | `MUM` | Mumps |
        | `QAX` | Q fever |
        | `RUB` | Rubella |
        | `VAR` | Varicella |
      title: AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunityDisease
    AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunity:
      type: object
      properties:
        disease:
          $ref: >-
            #/components/schemas/AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunityDisease
          description: |
            Disease the individual is naturally immune to.

            | Code | Meaning |
            |---|---|
            | `HEP` | Hepatitis |
            | `MEA` | Measles |
            | `MUM` | Mumps |
            | `QAX` | Q fever |
            | `RUB` | Rubella |
            | `VAR` | Varicella |
        labTestDate:
          type: string
          description: DDMMYYYY format. Date of the lab test confirming the immunity.
        diagnosisDate:
          type: string
          description: DDMMYYYY format. Date of clinical diagnosis.
      required:
        - disease
      title: AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaImmunity
    AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: Must be authorised for `NATIMM` capability.
        hpioNumber:
          type: string
          description: Optional. HPI-O. 16 digits.
        hpiiNumber:
          type: string
          description: Optional. HPI-I. 16 digits.
      required:
        - providerNumber
      title: AirV1IndividualNaturalImmunityRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV1IndividualNaturalImmunityRecordPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      title: AirV1IndividualNaturalImmunityRecordPostResponsesContentApplicationJsonSchemaErrorsItems
    AIR_Medical Exemptions_Record Natural Immunity_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV1IndividualNaturalImmunityRecordPostResponsesContentApplicationJsonSchemaErrorsItems
        correlationId:
          type: string
      title: AIR_Medical Exemptions_Record Natural Immunity_Response_200
    AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItemsAntigensItems:
      type: object
      properties:
        antigenCode:
          type: string
        antigenName:
          type: string
        maximumDose:
          type: integer
        isNaturalImmunityValid:
          type: boolean
      title: AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItemsAntigensItems
    AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        vaccineName:
          type: string
        vaccineCategoryCode:
          type: string
        startDate:
          type: string
          description: ISO date `YYYY-MM-DD`.
        endDate:
          type: string
          description: ISO date `YYYY-MM-DD`. `9999-09-09` means open-ended.
        antigens:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItemsAntigensItems'
        isMedicalContraindicationValid:
          type: boolean
        isVaccineBatchMandatory:
          type: boolean
        vaccineBatchMandatoryStartDate:
          type:
            - string
            - 'null'
        vaccineBatchMandatoryEndDate:
          type:
            - string
            - 'null'
      title: AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Vaccines_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataVaccineGetResponsesContentApplicationJsonSchemaVaccinesItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Vaccines_Response_200
    AirV1RefdataVaccineVaccineCodeGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        vaccineName:
          type: string
        vaccineCategoryCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
        antigens:
          type: array
          items:
            type: object
            additionalProperties:
              description: Any type
      title: AirV1RefdataVaccineVaccineCodeGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Vaccine by Code_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataVaccineVaccineCodeGetResponsesContentApplicationJsonSchemaVaccinesItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Vaccine by Code_Response_200
    AirV1RefdataVaccineCategoryGetResponsesContentApplicationJsonSchemaVaccineCategoriesItems:
      type: object
      properties:
        vaccineCategoryCode:
          type: string
        vaccineCategoryDescription:
          type: string
      title: AirV1RefdataVaccineCategoryGetResponsesContentApplicationJsonSchemaVaccineCategoriesItems
    AIR_Reference Data_Vaccine Categories_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccineCategories:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineCategoryGetResponsesContentApplicationJsonSchemaVaccineCategoriesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Vaccine Categories_Response_200
    AirV1RefdataVaccineFundingTypeGetResponsesContentApplicationJsonSchemaVaccineFundingTypesItems:
      type: object
      properties:
        vaccineFundingTypeCode:
          type: string
        vaccineFundingTypeDescription:
          type: string
      title: AirV1RefdataVaccineFundingTypeGetResponsesContentApplicationJsonSchemaVaccineFundingTypesItems
    AIR_Reference Data_Vaccine Funding Types_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccineFundingTypes:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineFundingTypeGetResponsesContentApplicationJsonSchemaVaccineFundingTypesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Vaccine Funding Types_Response_200
    AirV1RefdataVaccineTypeGetResponsesContentApplicationJsonSchemaVaccineTypesItems:
      type: object
      properties:
        vaccineTypeCode:
          type: string
        vaccineTypeDescription:
          type: string
      title: AirV1RefdataVaccineTypeGetResponsesContentApplicationJsonSchemaVaccineTypesItems
    AIR_Reference Data_Vaccine Types_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccineTypes:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataVaccineTypeGetResponsesContentApplicationJsonSchemaVaccineTypesItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Vaccine Types_Response_200
    AirV1RefdataRouteOfAdministrationGetResponsesContentApplicationJsonSchemaRouteOfAdministrationItems:
      type: object
      properties:
        routeOfAdministrationCode:
          type: string
        routeOfAdministrationDescription:
          type: string
      title: AirV1RefdataRouteOfAdministrationGetResponsesContentApplicationJsonSchemaRouteOfAdministrationItems
    AIR_Reference Data_Routes of Administration_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        routeOfAdministration:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataRouteOfAdministrationGetResponsesContentApplicationJsonSchemaRouteOfAdministrationItems
        correlationId:
          type: string
      title: AIR_Reference Data_Routes of Administration_Response_200
    AirV1RefdataAntigenGetResponsesContentApplicationJsonSchemaAntigensItems:
      type: object
      properties:
        antigenCode:
          type: string
        antigenName:
          type: string
        maximumDose:
          type: integer
        isNaturalImmunityValid:
          type: boolean
      title: AirV1RefdataAntigenGetResponsesContentApplicationJsonSchemaAntigensItems
    AIR_Reference Data_Antigens_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        antigens:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataAntigenGetResponsesContentApplicationJsonSchemaAntigensItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Antigens_Response_200
    AirV1RefdataAntigenAntigenCodeGetResponsesContentApplicationJsonSchemaAntigensItems:
      type: object
      properties:
        antigenCode:
          type: string
        antigenName:
          type: string
        maximumDose:
          type: integer
        isNaturalImmunityValid:
          type: boolean
      title: AirV1RefdataAntigenAntigenCodeGetResponsesContentApplicationJsonSchemaAntigensItems
    AIR_Reference Data_Antigen by Code_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        antigens:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataAntigenAntigenCodeGetResponsesContentApplicationJsonSchemaAntigensItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Antigen by Code_Response_200
    AirV1RefdataCountryGetResponsesContentApplicationJsonSchemaCountriesItems:
      type: object
      properties:
        countryCode:
          type: string
        countryDescription:
          type: string
      title: AirV1RefdataCountryGetResponsesContentApplicationJsonSchemaCountriesItems
    AIR_Reference Data_Countries_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        countries:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataCountryGetResponsesContentApplicationJsonSchemaCountriesItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Countries_Response_200
    AirV1RefdataGenderGetResponsesContentApplicationJsonSchemaGendersItems:
      type: object
      properties:
        genderCode:
          type: string
        genderDescription:
          type: string
      title: AirV1RefdataGenderGetResponsesContentApplicationJsonSchemaGendersItems
    AIR_Reference Data_Genders_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        genders:
          type: array
          items:
            $ref: '#/components/schemas/AirV1RefdataGenderGetResponsesContentApplicationJsonSchemaGendersItems'
        correlationId:
          type: string
      title: AIR_Reference Data_Genders_Response_200
    AirV1RefdataAgeMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaAntenatalIndicator:
      type: object
      properties:
        minimumAge:
          type: integer
        maximumAge:
          type: integer
      title: AirV1RefdataAgeMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaAntenatalIndicator
    AIR_Reference Data_Antenatal Age Range_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        antenatalIndicator:
          $ref: >-
            #/components/schemas/AirV1RefdataAgeMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaAntenatalIndicator
        correlationId:
          type: string
      title: AIR_Reference Data_Antenatal Age Range_Response_200
    AirV1RefdataVaccineMandatoryVaccineBatchGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataVaccineMandatoryVaccineBatchGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Mandatory Vaccine Batch_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineMandatoryVaccineBatchGetResponsesContentApplicationJsonSchemaVaccinesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Mandatory Vaccine Batch_Response_200
    AirV1RefdataVaccineMandatoryRouteOfAdministrationGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataVaccineMandatoryRouteOfAdministrationGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Mandatory Route of Administration_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineMandatoryRouteOfAdministrationGetResponsesContentApplicationJsonSchemaVaccinesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Mandatory Route of Administration_Response_200
    AirV1RefdataVaccineMandatoryVaccineTypeGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataVaccineMandatoryVaccineTypeGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Mandatory Vaccine Type_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineMandatoryVaccineTypeGetResponsesContentApplicationJsonSchemaVaccinesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Mandatory Vaccine Type_Response_200
    AirV1RefdataVaccineMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataVaccineMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Mandatory Antenatal Indicator_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineMandatoryAntenatalIndicatorGetResponsesContentApplicationJsonSchemaVaccinesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Mandatory Antenatal Indicator_Response_200
    AirV1RefdataVaccineAllowableMedicalContraindicationGetResponsesContentApplicationJsonSchemaVaccinesItems:
      type: object
      properties:
        vaccineCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataVaccineAllowableMedicalContraindicationGetResponsesContentApplicationJsonSchemaVaccinesItems
    AIR_Reference Data_Allowable Medical Contraindication_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        vaccines:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataVaccineAllowableMedicalContraindicationGetResponsesContentApplicationJsonSchemaVaccinesItems
        correlationId:
          type: string
      title: AIR_Reference Data_Allowable Medical Contraindication_Response_200
    AirV1RefdataAntigenAllowableNaturalImmunityGetResponsesContentApplicationJsonSchemaAntigensItems:
      type: object
      properties:
        antigenCode:
          type: string
        startDate:
          type: string
        endDate:
          type: string
      title: AirV1RefdataAntigenAllowableNaturalImmunityGetResponsesContentApplicationJsonSchemaAntigensItems
    AIR_Reference Data_Allowable Natural Immunity_Response_200:
      type: object
      properties:
        statusCode:
          type: string
        codeType:
          type: string
        message:
          type: string
        antigens:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV1RefdataAntigenAllowableNaturalImmunityGetResponsesContentApplicationJsonSchemaAntigensItems
        correlationId:
          type: string
      title: AIR_Reference Data_Allowable Natural Immunity_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    minorId:
      type: apiKey
      in: header
      name: x-minor-id
