For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.rebateright.com.au/api-reference/dva/llms.txt. For full documentation content, see https://docs.rebateright.com.au/api-reference/dva/llms-full.txt.

# DVA Claim — Specialist

POST https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1
Content-Type: application/json

> 🚧 **Coming Soon** — This endpoint is not yet available.
> RebateRight is completing DVA certification. Availability will be announced when certification is complete.

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.

#### Claim ID

On success, Services Australia returns a `claimId` in the format `A0001@` (alpha prefix + 4 numerics + `@` suffix).

#### Status Codes

| Code | Meaning |
|---|---|
| `9202` | Field-level validation failure — see `serviceMessage` for detail |
| `9006` | Provider not authorised for this function |
| `9777` | Duplicate transaction ID — resubmit with a unique transaction ID |
| `3004` | Daily claim limit of 2,500 reached for this payee provider and location |


Reference: https://docs.rebateright.com.au/api-reference/dva/dva-claim-specialist

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /Medicare/dvaclaim/specialist/v1:
    post:
      operationId: dva-claim-specialist
      summary: DVA Claim — Specialist
      description: >
        > 🚧 **Coming Soon** — This endpoint is not yet available.

        > RebateRight is completing DVA certification. Availability will be
        announced when certification is complete.


        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.


        #### Claim ID


        On success, Services Australia returns a `claimId` in the format
        `A0001@` (alpha prefix + 4 numerics + `@` suffix).


        #### Status Codes


        | Code | Meaning |

        |---|---|

        | `9202` | Field-level validation failure — see `serviceMessage` for
        detail |

        | `9006` | Provider not authorised for this function |

        | `9777` | Duplicate transaction ID — resubmit with a unique transaction
        ID |

        | `3004` | Daily claim limit of 2,500 reached for this payee provider
        and location |
      tags:
        - subpackage_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
servers:
  - url: https://api.rebateright.com.au
  - url: https://test-api.rebateright.com.au
components:
  schemas:
    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 was authorised for submission by the
        provider.


        | 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
          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 was authorised for submission by
            the provider.


            | 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
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    minorId:
      type: apiKey
      in: header
      name: x-minor-id

```

## SDK Code Examples

```python Specialist Referral
import requests

url = "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1"

payload = { "claim": {
        "serviceTypeCode": "S",
        "serviceProvider": { "providerNumber": "2447781L" },
        "medicalEvent": [
            {
                "id": "01",
                "authorisationDate": "2026-04-09",
                "createDateTime": "2026-04-09T10:00:00+10:00",
                "medicalEventDate": "2026-04-09",
                "submissionAuthorityInd": "Y",
                "treatmentLocationCode": "R",
                "acceptedDisability": {
                    "ind": "Y",
                    "code": "OSTEOARTHRITIS"
                },
                "patient": {
                    "identity": {
                        "dateOfBirth": "1958-09-27",
                        "familyName": "IAN",
                        "givenName": "JANET",
                        "sex": "2"
                    },
                    "veteranMembership": { "veteranNumber": "NX901667" }
                },
                "service": [
                    {
                        "id": "0001",
                        "itemNumber": "104",
                        "chargeAmount": "25000"
                    }
                ],
                "referral": {
                    "issueDate": "2026-01-01",
                    "periodCode": "S",
                    "typeCode": "S",
                    "provider": { "providerNumber": "2447791K" }
                }
            }
        ]
    } }
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Specialist Referral
const url = 'https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"claim":{"serviceTypeCode":"S","serviceProvider":{"providerNumber":"2447781L"},"medicalEvent":[{"id":"01","authorisationDate":"2026-04-09","createDateTime":"2026-04-09T10:00:00+10:00","medicalEventDate":"2026-04-09","submissionAuthorityInd":"Y","treatmentLocationCode":"R","acceptedDisability":{"ind":"Y","code":"OSTEOARTHRITIS"},"patient":{"identity":{"dateOfBirth":"1958-09-27","familyName":"IAN","givenName":"JANET","sex":"2"},"veteranMembership":{"veteranNumber":"NX901667"}},"service":[{"id":"0001","itemNumber":"104","chargeAmount":"25000"}],"referral":{"issueDate":"2026-01-01","periodCode":"S","typeCode":"S","provider":{"providerNumber":"2447791K"}}}]}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Specialist Referral
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1"

	payload := strings.NewReader("{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"OSTEOARTHRITIS\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1958-09-27\",\n            \"familyName\": \"IAN\",\n            \"givenName\": \"JANET\",\n            \"sex\": \"2\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901667\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"104\",\n            \"chargeAmount\": \"25000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-01-01\",\n          \"periodCode\": \"S\",\n          \"typeCode\": \"S\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Specialist Referral
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"OSTEOARTHRITIS\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1958-09-27\",\n            \"familyName\": \"IAN\",\n            \"givenName\": \"JANET\",\n            \"sex\": \"2\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901667\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"104\",\n            \"chargeAmount\": \"25000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-01-01\",\n          \"periodCode\": \"S\",\n          \"typeCode\": \"S\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Specialist Referral
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"OSTEOARTHRITIS\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1958-09-27\",\n            \"familyName\": \"IAN\",\n            \"givenName\": \"JANET\",\n            \"sex\": \"2\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901667\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"104\",\n            \"chargeAmount\": \"25000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-01-01\",\n          \"periodCode\": \"S\",\n          \"typeCode\": \"S\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}")
  .asString();
```

```php Specialist Referral
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1', [
  'body' => '{
  "claim": {
    "serviceTypeCode": "S",
    "serviceProvider": {
      "providerNumber": "2447781L"
    },
    "medicalEvent": [
      {
        "id": "01",
        "authorisationDate": "2026-04-09",
        "createDateTime": "2026-04-09T10:00:00+10:00",
        "medicalEventDate": "2026-04-09",
        "submissionAuthorityInd": "Y",
        "treatmentLocationCode": "R",
        "acceptedDisability": {
          "ind": "Y",
          "code": "OSTEOARTHRITIS"
        },
        "patient": {
          "identity": {
            "dateOfBirth": "1958-09-27",
            "familyName": "IAN",
            "givenName": "JANET",
            "sex": "2"
          },
          "veteranMembership": {
            "veteranNumber": "NX901667"
          }
        },
        "service": [
          {
            "id": "0001",
            "itemNumber": "104",
            "chargeAmount": "25000"
          }
        ],
        "referral": {
          "issueDate": "2026-01-01",
          "periodCode": "S",
          "typeCode": "S",
          "provider": {
            "providerNumber": "2447791K"
          }
        }
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Specialist Referral
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"OSTEOARTHRITIS\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1958-09-27\",\n            \"familyName\": \"IAN\",\n            \"givenName\": \"JANET\",\n            \"sex\": \"2\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901667\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"104\",\n            \"chargeAmount\": \"25000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-01-01\",\n          \"periodCode\": \"S\",\n          \"typeCode\": \"S\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Specialist Referral
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["claim": [
    "serviceTypeCode": "S",
    "serviceProvider": ["providerNumber": "2447781L"],
    "medicalEvent": [
      [
        "id": "01",
        "authorisationDate": "2026-04-09",
        "createDateTime": "2026-04-09T10:00:00+10:00",
        "medicalEventDate": "2026-04-09",
        "submissionAuthorityInd": "Y",
        "treatmentLocationCode": "R",
        "acceptedDisability": [
          "ind": "Y",
          "code": "OSTEOARTHRITIS"
        ],
        "patient": [
          "identity": [
            "dateOfBirth": "1958-09-27",
            "familyName": "IAN",
            "givenName": "JANET",
            "sex": "2"
          ],
          "veteranMembership": ["veteranNumber": "NX901667"]
        ],
        "service": [
          [
            "id": "0001",
            "itemNumber": "104",
            "chargeAmount": "25000"
          ]
        ],
        "referral": [
          "issueDate": "2026-01-01",
          "periodCode": "S",
          "typeCode": "S",
          "provider": ["providerNumber": "2447791K"]
        ]
      ]
    ]
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python Diagnostic Imaging
import requests

url = "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1"

payload = { "claim": {
        "serviceTypeCode": "S",
        "serviceProvider": { "providerNumber": "2447781L" },
        "medicalEvent": [
            {
                "id": "01",
                "authorisationDate": "2026-04-09",
                "createDateTime": "2026-04-09T10:00:00+10:00",
                "medicalEventDate": "2026-04-09",
                "submissionAuthorityInd": "Y",
                "treatmentLocationCode": "R",
                "acceptedDisability": {
                    "ind": "Y",
                    "code": "HYPERTENSION"
                },
                "patient": {
                    "identity": {
                        "dateOfBirth": "1964-02-03",
                        "familyName": "VINCE",
                        "givenName": "SEPPO",
                        "sex": "1"
                    },
                    "veteranMembership": { "veteranNumber": "NX901670" }
                },
                "service": [
                    {
                        "id": "0001",
                        "itemNumber": "57000",
                        "chargeAmount": "18000"
                    }
                ],
                "referral": {
                    "issueDate": "2026-04-01",
                    "typeCode": "D",
                    "provider": { "providerNumber": "2447791K" }
                }
            }
        ]
    } }
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Diagnostic Imaging
const url = 'https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"claim":{"serviceTypeCode":"S","serviceProvider":{"providerNumber":"2447781L"},"medicalEvent":[{"id":"01","authorisationDate":"2026-04-09","createDateTime":"2026-04-09T10:00:00+10:00","medicalEventDate":"2026-04-09","submissionAuthorityInd":"Y","treatmentLocationCode":"R","acceptedDisability":{"ind":"Y","code":"HYPERTENSION"},"patient":{"identity":{"dateOfBirth":"1964-02-03","familyName":"VINCE","givenName":"SEPPO","sex":"1"},"veteranMembership":{"veteranNumber":"NX901670"}},"service":[{"id":"0001","itemNumber":"57000","chargeAmount":"18000"}],"referral":{"issueDate":"2026-04-01","typeCode":"D","provider":{"providerNumber":"2447791K"}}}]}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Diagnostic Imaging
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1"

	payload := strings.NewReader("{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"HYPERTENSION\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1964-02-03\",\n            \"familyName\": \"VINCE\",\n            \"givenName\": \"SEPPO\",\n            \"sex\": \"1\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901670\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"57000\",\n            \"chargeAmount\": \"18000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-04-01\",\n          \"typeCode\": \"D\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Diagnostic Imaging
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"HYPERTENSION\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1964-02-03\",\n            \"familyName\": \"VINCE\",\n            \"givenName\": \"SEPPO\",\n            \"sex\": \"1\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901670\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"57000\",\n            \"chargeAmount\": \"18000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-04-01\",\n          \"typeCode\": \"D\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Diagnostic Imaging
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"HYPERTENSION\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1964-02-03\",\n            \"familyName\": \"VINCE\",\n            \"givenName\": \"SEPPO\",\n            \"sex\": \"1\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901670\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"57000\",\n            \"chargeAmount\": \"18000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-04-01\",\n          \"typeCode\": \"D\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}")
  .asString();
```

```php Diagnostic Imaging
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1', [
  'body' => '{
  "claim": {
    "serviceTypeCode": "S",
    "serviceProvider": {
      "providerNumber": "2447781L"
    },
    "medicalEvent": [
      {
        "id": "01",
        "authorisationDate": "2026-04-09",
        "createDateTime": "2026-04-09T10:00:00+10:00",
        "medicalEventDate": "2026-04-09",
        "submissionAuthorityInd": "Y",
        "treatmentLocationCode": "R",
        "acceptedDisability": {
          "ind": "Y",
          "code": "HYPERTENSION"
        },
        "patient": {
          "identity": {
            "dateOfBirth": "1964-02-03",
            "familyName": "VINCE",
            "givenName": "SEPPO",
            "sex": "1"
          },
          "veteranMembership": {
            "veteranNumber": "NX901670"
          }
        },
        "service": [
          {
            "id": "0001",
            "itemNumber": "57000",
            "chargeAmount": "18000"
          }
        ],
        "referral": {
          "issueDate": "2026-04-01",
          "typeCode": "D",
          "provider": {
            "providerNumber": "2447791K"
          }
        }
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Diagnostic Imaging
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"claim\": {\n    \"serviceTypeCode\": \"S\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2026-04-09\",\n        \"createDateTime\": \"2026-04-09T10:00:00+10:00\",\n        \"medicalEventDate\": \"2026-04-09\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"treatmentLocationCode\": \"R\",\n        \"acceptedDisability\": {\n          \"ind\": \"Y\",\n          \"code\": \"HYPERTENSION\"\n        },\n        \"patient\": {\n          \"identity\": {\n            \"dateOfBirth\": \"1964-02-03\",\n            \"familyName\": \"VINCE\",\n            \"givenName\": \"SEPPO\",\n            \"sex\": \"1\"\n          },\n          \"veteranMembership\": {\n            \"veteranNumber\": \"NX901670\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"57000\",\n            \"chargeAmount\": \"18000\"\n          }\n        ],\n        \"referral\": {\n          \"issueDate\": \"2026-04-01\",\n          \"typeCode\": \"D\",\n          \"provider\": {\n            \"providerNumber\": \"2447791K\"\n          }\n        }\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Diagnostic Imaging
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["claim": [
    "serviceTypeCode": "S",
    "serviceProvider": ["providerNumber": "2447781L"],
    "medicalEvent": [
      [
        "id": "01",
        "authorisationDate": "2026-04-09",
        "createDateTime": "2026-04-09T10:00:00+10:00",
        "medicalEventDate": "2026-04-09",
        "submissionAuthorityInd": "Y",
        "treatmentLocationCode": "R",
        "acceptedDisability": [
          "ind": "Y",
          "code": "HYPERTENSION"
        ],
        "patient": [
          "identity": [
            "dateOfBirth": "1964-02-03",
            "familyName": "VINCE",
            "givenName": "SEPPO",
            "sex": "1"
          ],
          "veteranMembership": ["veteranNumber": "NX901670"]
        ],
        "service": [
          [
            "id": "0001",
            "itemNumber": "57000",
            "chargeAmount": "18000"
          ]
        ],
        "referral": [
          "issueDate": "2026-04-01",
          "typeCode": "D",
          "provider": ["providerNumber": "2447791K"]
        ]
      ]
    ]
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/Medicare/dvaclaim/specialist/v1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```