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/medicare-claiming/bulk-bill-claim/llms.txt. For full documentation content, see https://docs.rebateright.com.au/api-reference/medicare-claiming/bulk-bill-claim/llms-full.txt.

# Bulk Bill Claim — General

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

## General services claim

Submit a bulk bill claim for general (out-of-hospital) Medicare services. Use `serviceTypeCode: O`. A claim may contain up to 80 medical events, each with up to 14 services.

Referral details, referral override code, and self deemed code must not be set on general service claims.

`medicalEventDate` must not be more than 1 year before submission.

Reference: https://docs.rebateright.com.au/api-reference/medicare-claiming/bulk-bill-claim/bulk-bill-claim-general

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /Medicare/bulkbillstoreforward/general/v1:
    post:
      operationId: bulk-bill-claim-general
      summary: Bulk Bill Claim — General
      description: >-
        ## General services claim


        Submit a bulk bill claim for general (out-of-hospital) Medicare
        services. Use `serviceTypeCode: O`. A claim may contain up to 80 medical
        events, each with up to 14 services.


        Referral details, referral override code, and self deemed code must not
        be set on general service claims.


        `medicalEventDate` must not be more than 1 year before submission.
      tags:
        - subpackage_medicareClaiming.subpackage_medicareClaiming/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 Claim — General_Response_200
        '400':
          description: >-
            Validation or business-rule failure; body includes `serviceMessage`
            entries and `correlationId`.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError
      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/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim
              required:
                - claim
servers:
  - url: https://api.rebateright.com.au
  - url: https://test-api.rebateright.com.au
components:
  schemas:
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider:
      type: object
      properties:
        providerNumber:
          type: string
      required:
        - providerNumber
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity:
      type: object
      properties:
        givenName:
          type: string
        familyName:
          type: string
        dateOfBirth:
          type: string
          format: date
      required:
        - givenName
        - familyName
        - dateOfBirth
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare:
      type: object
      properties:
        memberNumber:
          type: string
        memberRefNumber:
          type: string
      required:
        - memberNumber
        - memberRefNumber
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient:
      type: object
      properties:
        identity:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientIdentity
        medicare:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatientMedicare
      required:
        - identity
        - medicare
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems:
      type: object
      properties:
        id:
          type: string
        itemNumber:
          type: string
        chargeAmount:
          type: string
        aftercareOverrideInd:
          type: string
        duplicateServiceOverrideInd:
          type: string
        multipleProcedureOverrideInd:
          type: string
        numberOfPatientsSeen:
          type: string
        restrictiveOverrideCode:
          type: string
        text:
          type: string
      required:
        - id
        - itemNumber
        - chargeAmount
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems:
      type: object
      properties:
        id:
          type: string
        authorisationDate:
          type: string
          format: date
        createDateTime:
          type: string
          format: date-time
        medicalEventDate:
          type: string
          format: date
          description: >-
            Date the service was rendered. Must not be more than 1 year before
            submission.
        medicalEventTime:
          type: string
        submissionAuthorityInd:
          type: string
          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/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsPatient
        service:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItemsServiceItems
      required:
        - id
        - authorisationDate
        - createDateTime
        - medicalEventDate
        - submissionAuthorityInd
        - patient
        - service
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
    MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaim:
      type: object
      properties:
        serviceTypeCode:
          type: string
          description: Must be `O` for general out-of-hospital services.
        serviceProvider:
          $ref: >-
            #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimServiceProvider
        medicalEvent:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostRequestBodyContentApplicationJsonSchemaClaimMedicalEventItems
      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. Format is a letter prefix, 4
            digits, and a `@` suffix (e.g. `F3848@`).
        status:
          type: string
          description: Always `SUCCESS` on a successful submission.
        correlationId:
          type: string
          description: Unique identifier for the request, for support tracing.
      required:
        - claimId
        - status
        - correlationId
      title: Medicare Claiming_Bulk Bill Claim_Bulk Bill Claim — General_Response_200
    MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems:
      type: object
      properties:
        code:
          type: string
          description: Medicare error code.
        severity:
          type: string
        reason:
          type: string
          description: Human-readable error message.
      required:
        - code
        - severity
        - reason
      title: >-
        MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
    PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError:
      type: object
      properties:
        highestSeverity:
          type: string
          description: Highest severity level across all messages. E.g. `Error`.
        serviceMessage:
          type: array
          items:
            $ref: >-
              #/components/schemas/MedicareBulkbillstoreforwardGeneralV1PostResponsesContentApplicationJsonSchemaServiceMessageItems
        correlationId:
          type: string
      required:
        - highestSeverity
        - serviceMessage
        - correlationId
      title: PostMedicareBulkbillstoreforwardGeneralV1RequestBadRequestError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    minorId:
      type: apiKey
      in: header
      name: x-minor-id

```

## SDK Code Examples

```python Success
import requests

url = "https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/v1"

payload = { "claim": {
        "serviceTypeCode": "O",
        "serviceProvider": { "providerNumber": "2447781L" },
        "medicalEvent": [
            {
                "id": "01",
                "authorisationDate": "2025-09-16",
                "createDateTime": "2025-09-16T10:30:00+10:00",
                "medicalEventDate": "2025-09-16",
                "submissionAuthorityInd": "Y",
                "patient": {
                    "identity": {
                        "givenName": "Edmond",
                        "familyName": "FLETCHER",
                        "dateOfBirth": "1986-12-18"
                    },
                    "medicare": {
                        "memberNumber": "4951525561",
                        "memberRefNumber": "2"
                    }
                },
                "service": [
                    {
                        "id": "0001",
                        "itemNumber": "23",
                        "chargeAmount": "15000",
                        "aftercareOverrideInd": "Y"
                    }
                ]
            }
        ]
    } }
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript Success
const url = 'https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/v1';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"claim":{"serviceTypeCode":"O","serviceProvider":{"providerNumber":"2447781L"},"medicalEvent":[{"id":"01","authorisationDate":"2025-09-16","createDateTime":"2025-09-16T10:30:00+10:00","medicalEventDate":"2025-09-16","submissionAuthorityInd":"Y","patient":{"identity":{"givenName":"Edmond","familyName":"FLETCHER","dateOfBirth":"1986-12-18"},"medicare":{"memberNumber":"4951525561","memberRefNumber":"2"}},"service":[{"id":"0001","itemNumber":"23","chargeAmount":"15000","aftercareOverrideInd":"Y"}]}]}}'
};

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

```go Success
package main

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

func main() {

	url := "https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/v1"

	payload := strings.NewReader("{\n  \"claim\": {\n    \"serviceTypeCode\": \"O\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2025-09-16\",\n        \"createDateTime\": \"2025-09-16T10:30:00+10:00\",\n        \"medicalEventDate\": \"2025-09-16\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"patient\": {\n          \"identity\": {\n            \"givenName\": \"Edmond\",\n            \"familyName\": \"FLETCHER\",\n            \"dateOfBirth\": \"1986-12-18\"\n          },\n          \"medicare\": {\n            \"memberNumber\": \"4951525561\",\n            \"memberRefNumber\": \"2\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"23\",\n            \"chargeAmount\": \"15000\",\n            \"aftercareOverrideInd\": \"Y\"\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 Success
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/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\": \"O\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2025-09-16\",\n        \"createDateTime\": \"2025-09-16T10:30:00+10:00\",\n        \"medicalEventDate\": \"2025-09-16\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"patient\": {\n          \"identity\": {\n            \"givenName\": \"Edmond\",\n            \"familyName\": \"FLETCHER\",\n            \"dateOfBirth\": \"1986-12-18\"\n          },\n          \"medicare\": {\n            \"memberNumber\": \"4951525561\",\n            \"memberRefNumber\": \"2\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"23\",\n            \"chargeAmount\": \"15000\",\n            \"aftercareOverrideInd\": \"Y\"\n          }\n        ]\n      }\n    ]\n  }\n}"

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

```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/v1")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"claim\": {\n    \"serviceTypeCode\": \"O\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2025-09-16\",\n        \"createDateTime\": \"2025-09-16T10:30:00+10:00\",\n        \"medicalEventDate\": \"2025-09-16\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"patient\": {\n          \"identity\": {\n            \"givenName\": \"Edmond\",\n            \"familyName\": \"FLETCHER\",\n            \"dateOfBirth\": \"1986-12-18\"\n          },\n          \"medicare\": {\n            \"memberNumber\": \"4951525561\",\n            \"memberRefNumber\": \"2\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"23\",\n            \"chargeAmount\": \"15000\",\n            \"aftercareOverrideInd\": \"Y\"\n          }\n        ]\n      }\n    ]\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/v1', [
  'body' => '{
  "claim": {
    "serviceTypeCode": "O",
    "serviceProvider": {
      "providerNumber": "2447781L"
    },
    "medicalEvent": [
      {
        "id": "01",
        "authorisationDate": "2025-09-16",
        "createDateTime": "2025-09-16T10:30:00+10:00",
        "medicalEventDate": "2025-09-16",
        "submissionAuthorityInd": "Y",
        "patient": {
          "identity": {
            "givenName": "Edmond",
            "familyName": "FLETCHER",
            "dateOfBirth": "1986-12-18"
          },
          "medicare": {
            "memberNumber": "4951525561",
            "memberRefNumber": "2"
          }
        },
        "service": [
          {
            "id": "0001",
            "itemNumber": "23",
            "chargeAmount": "15000",
            "aftercareOverrideInd": "Y"
          }
        ]
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

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

```csharp Success
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/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\": \"O\",\n    \"serviceProvider\": {\n      \"providerNumber\": \"2447781L\"\n    },\n    \"medicalEvent\": [\n      {\n        \"id\": \"01\",\n        \"authorisationDate\": \"2025-09-16\",\n        \"createDateTime\": \"2025-09-16T10:30:00+10:00\",\n        \"medicalEventDate\": \"2025-09-16\",\n        \"submissionAuthorityInd\": \"Y\",\n        \"patient\": {\n          \"identity\": {\n            \"givenName\": \"Edmond\",\n            \"familyName\": \"FLETCHER\",\n            \"dateOfBirth\": \"1986-12-18\"\n          },\n          \"medicare\": {\n            \"memberNumber\": \"4951525561\",\n            \"memberRefNumber\": \"2\"\n          }\n        },\n        \"service\": [\n          {\n            \"id\": \"0001\",\n            \"itemNumber\": \"23\",\n            \"chargeAmount\": \"15000\",\n            \"aftercareOverrideInd\": \"Y\"\n          }\n        ]\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Success
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["claim": [
    "serviceTypeCode": "O",
    "serviceProvider": ["providerNumber": "2447781L"],
    "medicalEvent": [
      [
        "id": "01",
        "authorisationDate": "2025-09-16",
        "createDateTime": "2025-09-16T10:30:00+10:00",
        "medicalEventDate": "2025-09-16",
        "submissionAuthorityInd": "Y",
        "patient": [
          "identity": [
            "givenName": "Edmond",
            "familyName": "FLETCHER",
            "dateOfBirth": "1986-12-18"
          ],
          "medicare": [
            "memberNumber": "4951525561",
            "memberRefNumber": "2"
          ]
        ],
        "service": [
          [
            "id": "0001",
            "itemNumber": "23",
            "chargeAmount": "15000",
            "aftercareOverrideInd": "Y"
          ]
        ]
      ]
    ]
  ]] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/Medicare/bulkbillstoreforward/general/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()
```