> ## Documentation Index
> Fetch the complete documentation index at: https://docs.halth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Medicare claim

> Create a Medicare claim for a patient



## OpenAPI

````yaml https://api.halth.com/v1/au/api-yaml post /v1/au/medicare/claims
openapi: 3.0.0
info:
  title: GovAU Connect Service
  description: HaltH connector for Australian Government services
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.halth.com
    description: Production
  - url: https://api.stg.halth.com
    description: Staging
security:
  - apiKey: []
tags: []
paths:
  /v1/au/medicare/claims:
    post:
      tags:
        - Medicare Claim
      summary: Create a Medicare claim
      description: Create a Medicare claim for a patient
      operationId: MedicareClaimController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MedicareClaimCreateParams'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/MedicareClaim'
                      page:
                        type: number
                        example: 1
                      limit:
                        type: number
                        example: 10
                      totalItems:
                        type: number
                        example: 100
                      totalPages:
                        type: number
                        example: 10
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicareClaim'
components:
  schemas:
    MedicareClaimCreateParams:
      type: object
      properties:
        locationId:
          type: string
          example: prlo_39SaCy77MShwXBMzwFVSMHOtXdq
          description: Location ID
        type:
          enum:
            - patient
            - bulk_bill
          type: string
          example: patient
          description: Type of claim
        claimant:
          description: Optional override for the claimant if different from the patient.
          allOf:
            - $ref: '#/components/schemas/MedicareClaimCreateClaimantParams'
        reference:
          type: string
          minLength: 1
          maxLength: 9
          example: INV000001
          description: Reference number to identify the claim in the system
        paymentStatus:
          enum:
            - full_paid
            - part_paid
            - not_paid
          type: string
          example: full_paid
          description: Payment status
        paymentAmount:
          type: number
          minimum: 50
          maximum: 9999999
          example: 25000
          description: Total amount that has already been paid
        submit:
          type: boolean
          example: true
          description: >-
            Whether to submit the claim to Medicare Online immediately or store
            for later submission
        transactionId:
          type: string
          maxLength: 255
          example: btrn_39Q57MwxjLyx7PBXZObTpY4JQr6
          description: Transaction ID
        serviceProvider:
          $ref: '#/components/schemas/MedicareClaimProviderParams'
        payeeProvider:
          $ref: '#/components/schemas/MedicareClaimProviderParams'
        patient:
          $ref: '#/components/schemas/MedicareClaimCreateMemberParams'
        referral:
          $ref: '#/components/schemas/MedicareClaimReferralParams'
        overrides:
          $ref: '#/components/schemas/MedicareClaimOverrides'
        items:
          minItems: 1
          maxItems: 16
          type: array
          items:
            $ref: '#/components/schemas/MedicareClaimItemParams'
        metadata:
          type: object
      required:
        - locationId
        - type
        - paymentStatus
        - submit
        - serviceProvider
        - patient
        - items
    ApiResponse:
      type: object
      properties: {}
    MedicareClaim:
      type: object
      properties:
        id:
          type: string
        status:
          enum:
            - created
            - submitted
            - confirmed
            - rejected
            - requires_review
            - in_review
            - cancelled
            - failed
          type: string
        locationId:
          type: string
        reference:
          type: string
        patientMedicareCardId:
          type: string
        claimantMedicareCardId:
          type: string
        createdAt:
          format: date-time
          type: string
        type:
          enum:
            - patient
            - bulk_bill
          type: string
        totalChargeAmount:
          type: number
        totalRebateAmount:
          type: number
        totalGapAmount:
          type: number
        itemsCount:
          type: number
        mcolTransactionId:
          type: string
        mcolClaimId:
          type: string
        mcolErrorCode:
          type: string
        mcolErrorMessage:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/MedicareClaimItem'
        paymentStatus:
          enum:
            - full_paid
            - part_paid
            - not_paid
          type: string
        transactionId:
          type: string
        referral:
          $ref: '#/components/schemas/MedicareClaimReferral'
        referralOverrideCode:
          enum:
            - E
            - H
            - L
            - 'N'
          type: string
      required:
        - id
        - status
        - locationId
        - createdAt
        - type
        - totalChargeAmount
        - totalRebateAmount
        - totalGapAmount
        - itemsCount
        - mcolTransactionId
        - items
        - paymentStatus
    MedicareClaimCreateClaimantParams:
      type: object
      properties:
        medicareCardId:
          type: string
          example: mccd_39SaCy77MShwXBMzwFVSMHOtXdq
          description: Medicare card ID
        residentialAddress:
          $ref: '#/components/schemas/AddressDetails'
        phoneNumber:
          type: string
        bankAccount:
          $ref: '#/components/schemas/BankAccountCreateParams'
      required:
        - medicareCardId
    MedicareClaimProviderParams:
      type: object
      properties:
        providerNumber:
          type: string
          example: 2447391F
          description: Provider number
      required:
        - providerNumber
    MedicareClaimCreateMemberParams:
      type: object
      properties:
        medicareCardId:
          type: string
          example: mccd_39SaCy77MShwXBMzwFVSMHOtXdq
          description: Medicare card ID
      required:
        - medicareCardId
    MedicareClaimReferralParams:
      type: object
      properties:
        providerNumber:
          type: string
          example: 2447391F
          description: Provider number
        issuedAt:
          type: string
          example: '2026-07-01T10:07:55.435Z'
          description: Issued at
        typeCode:
          enum:
            - S
            - D
            - P
          type: string
          example: S
          description: |-
            Referral type code.
            S = Specialist referral
            D = Diagnostic referral/request
            P = Pathology request
        periodCode:
          enum:
            - S
            - 'N'
            - I
          type: string
          example: S
          default: S
          description: |-
            Referral period code.
            S = Standard (12 months for a GP, 3 months for a Specialist)
      required:
        - providerNumber
        - issuedAt
    MedicareClaimOverrides:
      type: object
      properties:
        referralOverrideCode:
          enum:
            - E
            - H
            - L
            - 'N'
          type: string
          description: >-
            Indicates why a service that normally requires a referral was
            provided without one.

            E = Emergency

            H = Hospital

            L = Lost referral

            N = Not required
    MedicareClaimItemParams:
      type: object
      properties:
        itemCode:
          type: string
          maxLength: 255
          example: '903'
          description: MBS item code
        quantity:
          type: number
          minimum: 0
          maximum: 99
          example: 1
          description: Quantity of the item (fields irradiated or 15-minute time blocks)
        chargeAmount:
          type: number
          minimum: 100
          maximum: 9999999
          example: 25000
          description: Price in cents of each item
        serviceDate:
          type: string
          example: '2026-01-01'
          description: Date of the service
        serviceTime:
          type: string
          pattern: /^\d{2}:\d{2}:\d{2}\.\d+(Z|[+-]\d{2}:\d{2})$/
          example: 10:00:00.0+10:00
          description: Time of the service in hh:mm:ss.sTZD format
        duration:
          type: number
          minimum: 1
          maximum: 999
          example: 30
          description: Duration of the service in minutes
        notes:
          type: string
          maxLength: 1000
          description: Notes about the service. May be required when using certain options.
        patientCount:
          type: number
          minimum: 1
          maximum: 99
          example: 1
          description: Number of patients seen
        overrides:
          $ref: '#/components/schemas/MedicareClaimItemOverrides'
        site:
          $ref: '#/components/schemas/MedicareClaimItemSiteParams'
      required:
        - itemCode
        - chargeAmount
        - serviceDate
    MedicareClaimItem:
      type: object
      properties:
        id:
          type: string
        itemCode:
          type: string
        chargeAmount:
          type: number
        rebateAmount:
          type: number
        gapAmount:
          type: number
        mcolAssessmentCode:
          type: string
        mcolErrorCode:
          type: string
        mcolErrorMessage:
          type: string
        patientCount:
          type: number
        quantity:
          type: number
      required:
        - id
        - itemCode
        - chargeAmount
        - rebateAmount
        - gapAmount
    MedicareClaimReferral:
      type: object
      properties:
        providerNumber:
          type: string
        issuedAt:
          type: string
        periodCode:
          type: string
        typeCode:
          type: string
      required:
        - providerNumber
        - issuedAt
    AddressDetails:
      type: object
      properties:
        line1:
          type: string
        line2:
          type: string
          nullable: true
        suburb:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        postcode:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
      required:
        - line1
    BankAccountCreateParams:
      type: object
      properties:
        routingNumber:
          type: string
          example: '123456'
          description: The routing number of the bank account
        accountNumber:
          type: string
          example: '123456789'
          description: The account number of the bank account
        accountName:
          type: string
          example: Test Account
          description: The name of the bank account
        countryCode:
          type: string
          enum:
            - AU
          example: AU
          description: The country of the bank account
      required:
        - routingNumber
        - accountNumber
        - accountName
        - countryCode
    MedicareClaimItemOverrides:
      type: object
      properties:
        overrideMultipleProcedureRule:
          type: boolean
          description: >-
            Override the multiple procedure rule. Notes with explanation
            required when true. Example use would be if multiple related item
            numbers were billed but the provider believes the usual
            multiple-procedure reduction should not apply due to clinical
            justification.
        overrideDuplicateServiceRule:
          type: boolean
          description: >-
            Override the duplicate service rule. Notes with explanation required
            when true. Example use would be if patient receives the same service
            on the same day from the same provider.
        overrideAftercareRule:
          type: boolean
          description: >-
            If a provider believes the service is not normal aftercare this can
            be set to true to request full assessment.
        overrideRestrictionCode:
          enum:
            - SP
            - NR
            - NC
          type: string
          description: Declare that a restrictive rule should be overridden.
        referralSelfDeemedCode:
          enum:
            - SD
            - SS
          type: string
          description: >-
            Indicates that the servicing provider is "self-deeming" the
            referral/request requirement under specific Medicare rules, instead
            of supplying an actual referral

            SD = Self Deemed

            SS = Substituted
    MedicareClaimItemSiteParams:
      type: object
      properties:
        locationSpecificPracticeNumber:
          type: string
          minLength: 1
          maxLength: 6
          example: '12345'
          description: >-
            Location specific practice number (LSP Number). Identifies the exact
            site of diagnostic imaging and radiation oncology services.
        isHospital:
          type: boolean
          example: true
          description: Whether the service is provided in a hospital.
        facilityId:
          type: string
          minLength: 8
          maxLength: 8
          example: 731247FT
          description: >-
            The Commonwealth Hospital Facility Provider Number. A unique
            identifier of a Registered Hospital or Day Care Facility.
        specimenCollectionPointId:
          type: string
          minLength: 3
          maxLength: 5
          example: '1234'
          description: >-
            Specimen collection point ID (SCP ID). Used to identify the site
            where the pathology specimen was collected.

````