> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rebateright.com.au/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rebateright.com.au/_mcp/server.

# In-Patient Claim Declaration (PDF)

POST https://test-api.rebateright.com.au/InPatientClaimDeclaration
Content-Type: application/json

**What does the patient consent to before I lodge a Patient Claim?**

The patient agrees to the Patient Claim consent and declaration. This endpoint produces it as a PDF, in the wording
Services Australia publishes, with the patient's and claimant's details filled in.

Test environment only. Services Australia is certifying this service, and it reaches production once certified.

Before you lodge an in-patient Patient Claim (`PC`), present this declaration to the patient, on
screen or printed, and get their verbal consent. [Patient Claims](/in-patient-claiming#patient-claims)
sets out the rule.

| You send                                                       | You get                                                     | Then                                                                                                                                                                 |
| -------------------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The patient and claimant from the Patient Claim you will lodge | The **IMCW Patient Claim Consent and Declaration** as a PDF | Show or print it for the patient, get their verbal consent, then lodge the claim at the Patient Claim endpoint for its [specialty](/in-patient-claiming#specialties) |

## What the PDF carries

The PDF carries the header Services Australia sets, the Location ID, the `accountReferenceId`, the
patient's and claimant's details, the declaration and the privacy notice. The declaration and the
privacy notice follow Services Australia's current version word for word. The last line records the
date and time RebateRight made the PDF.

## Request body

The request takes the same `claim` as the Patient Claim, so you can send the Patient Claim request
unchanged. This endpoint reads the fields below and ignores the rest. It sends nothing to Medicare.

Only `claim.patient.identity.familyName` and `claim.claimant.identity.familyName` are required. An
optional field you leave out prints as a blank.

## Location on the PDF

The PDF prints the **`x-minor-id`** request header as its **Location ID**.

## Response

| Status | Content type      | Meaning                                                                                                                                 |
| ------ | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `200`  | `application/pdf` | The declaration, offered as the download **`InPatientClaimDeclaration.pdf`**.                                                           |
| `400`  | `text/plain`      | The JSON is invalid, a field has the wrong type, or a required field or the `x-minor-id` header is missing. The body names the problem. |

Reference: https://docs.rebateright.com.au/api-reference/medicare-claiming/in-patient-claims/in-patient-claim-declaration-pdf

## Authentication

- `x-api-key` header (required) — API Key authentication via header
- `x-minor-id` header (required) — Your Minor ID is 3 uppercase letters followed by 5 digits, such as `MDE00000`. Send the Minor ID exactly as issued. A malformed value returns `400` with the text `The Minor ID is not valid.` on every endpoint.

## Servers

- `https://test-api.rebateright.com.au` (Test, default)
- `https://api.rebateright.com.au` (Production)

## Request

### Headers

- `x-minor-id` (string, required) — The Minor ID of the clinic you act for. See [Keys, Minor ID and environments](/keys-and-environments).

### Body (application/json)

This endpoint expects an object.

- `claim` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaim, required)

## Response

### 200

The IMCW Patient Claim Consent and Declaration as a PDF, named `InPatientClaimDeclaration.pdf`.

- File download.

## Types

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaim

- `patient` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatient, required) — The patient the claim is for. Printed under **Patient Details**.
- `claimant` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimant, required) — The person who claims the benefit: the patient, or another person who claims for them, such as a parent. Printed under **Claimant Details**.
- `accountReferenceId` (string, optional) — Optional. The claim's `accountReferenceId`, printed beside **Account Reference Id** so the declaration names the claim it covers.

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatient

The patient the claim is for. Printed under **Patient Details**.

- `identity` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientIdentity, required)
- `medicare` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientMedicare, optional)
- `healthFund` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientHealthFund, optional)

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimant

The person who claims the benefit: the patient, or another person who claims for them, such as a parent. Printed under **Claimant Details**.

- `identity` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimantIdentity, required)
- `medicare` (InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimantMedicare, optional)

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientIdentity

- `familyName` (string, required) — The patient's family name, printed beside **Family Name**.
- `givenName` (string, optional) — The patient's given name, printed beside **First Name**.
- `dateOfBirth` (date, optional) — The patient's date of birth (`YYYY-MM-DD`), printed as sent beside **Date of Birth**.

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientMedicare

- `memberNumber` (string, optional) — The patient's 10-digit Medicare card number, printed beside **Medicare Number**.
- `memberRefNumber` (string, optional) — The patient's Individual Reference Number (IRN), printed beside **IRN**.

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimPatientHealthFund

- `organisation` (string, optional) — The patient's fund code, such as `TST`, printed beside **Health Fund**.
- `memberNumber` (string, optional) — The patient's health fund membership number, printed beside **Membership Number**.
- `memberRefNumber` (string, optional) — The patient's Universal Patient Identifier (UPI) on the membership, printed beside **Member Reference Number**.

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimantIdentity

- `familyName` (string, required) — The claimant's family name, printed beside **Family Name**.
- `givenName` (string, optional) — The claimant's given name, printed beside **First Name**.
- `dateOfBirth` (date, optional) — The claimant's date of birth (`YYYY-MM-DD`), printed as sent beside **Date of Birth**.

### InPatientClaimDeclarationPostRequestBodyContentApplicationJsonSchemaClaimClaimantMedicare

- `memberNumber` (string, optional) — The claimant's 10-digit Medicare card number, printed beside **Medicare Number**.
- `memberRefNumber` (string, optional) — The claimant's Individual Reference Number (IRN), printed beside **IRN**.

## Examples

**Request**

```json
{
  "claim": {
    "patient": {
      "identity": {
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      },
      "medicare": {
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      },
      "healthFund": {
        "organisation": "TST",
        "memberNumber": "1234567",
        "memberRefNumber": "1"
      }
    },
    "claimant": {
      "identity": {
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      },
      "medicare": {
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      }
    },
    "accountReferenceId": "PCGEN01"
  }
}
```

**SDK Code**

```python Patient Is the Claimant
import requests

url = "https://test-api.rebateright.com.au/InPatientClaimDeclaration"

payload = { "claim": {
        "patient": {
            "identity": {
                "familyName": "FLETCHER",
                "givenName": "Edmond",
                "dateOfBirth": "1986-12-18"
            },
            "medicare": {
                "memberNumber": "4951525561",
                "memberRefNumber": "2"
            },
            "healthFund": {
                "organisation": "TST",
                "memberNumber": "1234567",
                "memberRefNumber": "1"
            }
        },
        "claimant": {
            "identity": {
                "familyName": "FLETCHER",
                "givenName": "Edmond",
                "dateOfBirth": "1986-12-18"
            },
            "medicare": {
                "memberNumber": "4951525561",
                "memberRefNumber": "2"
            }
        },
        "accountReferenceId": "PCGEN01"
    } }
headers = {
    "x-minor-id": "<minorId>",
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript Patient Is the Claimant
const url = 'https://test-api.rebateright.com.au/InPatientClaimDeclaration';
const options = {
  method: 'POST',
  headers: {
    'x-minor-id': '<minorId>',
    'x-api-key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '{"claim":{"patient":{"identity":{"familyName":"FLETCHER","givenName":"Edmond","dateOfBirth":"1986-12-18"},"medicare":{"memberNumber":"4951525561","memberRefNumber":"2"},"healthFund":{"organisation":"TST","memberNumber":"1234567","memberRefNumber":"1"}},"claimant":{"identity":{"familyName":"FLETCHER","givenName":"Edmond","dateOfBirth":"1986-12-18"},"medicare":{"memberNumber":"4951525561","memberRefNumber":"2"}},"accountReferenceId":"PCGEN01"}}'
};

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

```go Patient Is the Claimant
package main

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

func main() {

	url := "https://test-api.rebateright.com.au/InPatientClaimDeclaration"

	payload := strings.NewReader("{\n  \"claim\": {\n    \"patient\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      },\n      \"healthFund\": {\n        \"organisation\": \"TST\",\n        \"memberNumber\": \"1234567\",\n        \"memberRefNumber\": \"1\"\n      }\n    },\n    \"claimant\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      }\n    },\n    \"accountReferenceId\": \"PCGEN01\"\n  }\n}")

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

	req.Header.Add("x-minor-id", "<minorId>")
	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 Patient Is the Claimant
require 'uri'
require 'net/http'

url = URI("https://test-api.rebateright.com.au/InPatientClaimDeclaration")

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

request = Net::HTTP::Post.new(url)
request["x-minor-id"] = '<minorId>'
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"claim\": {\n    \"patient\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      },\n      \"healthFund\": {\n        \"organisation\": \"TST\",\n        \"memberNumber\": \"1234567\",\n        \"memberRefNumber\": \"1\"\n      }\n    },\n    \"claimant\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      }\n    },\n    \"accountReferenceId\": \"PCGEN01\"\n  }\n}"

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

```java Patient Is the Claimant
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://test-api.rebateright.com.au/InPatientClaimDeclaration")
  .header("x-minor-id", "<minorId>")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"claim\": {\n    \"patient\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      },\n      \"healthFund\": {\n        \"organisation\": \"TST\",\n        \"memberNumber\": \"1234567\",\n        \"memberRefNumber\": \"1\"\n      }\n    },\n    \"claimant\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      }\n    },\n    \"accountReferenceId\": \"PCGEN01\"\n  }\n}")
  .asString();
```

```php Patient Is the Claimant
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://test-api.rebateright.com.au/InPatientClaimDeclaration', [
  'body' => '{
  "claim": {
    "patient": {
      "identity": {
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      },
      "medicare": {
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      },
      "healthFund": {
        "organisation": "TST",
        "memberNumber": "1234567",
        "memberRefNumber": "1"
      }
    },
    "claimant": {
      "identity": {
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      },
      "medicare": {
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      }
    },
    "accountReferenceId": "PCGEN01"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
    'x-minor-id' => '<minorId>',
  ],
]);

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

```csharp Patient Is the Claimant
using RestSharp;

var client = new RestClient("https://test-api.rebateright.com.au/InPatientClaimDeclaration");
var request = new RestRequest(Method.POST);
request.AddHeader("x-minor-id", "<minorId>");
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"claim\": {\n    \"patient\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      },\n      \"healthFund\": {\n        \"organisation\": \"TST\",\n        \"memberNumber\": \"1234567\",\n        \"memberRefNumber\": \"1\"\n      }\n    },\n    \"claimant\": {\n      \"identity\": {\n        \"familyName\": \"FLETCHER\",\n        \"givenName\": \"Edmond\",\n        \"dateOfBirth\": \"1986-12-18\"\n      },\n      \"medicare\": {\n        \"memberNumber\": \"4951525561\",\n        \"memberRefNumber\": \"2\"\n      }\n    },\n    \"accountReferenceId\": \"PCGEN01\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Patient Is the Claimant
import Foundation

let headers = [
  "x-minor-id": "<minorId>",
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["claim": [
    "patient": [
      "identity": [
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      ],
      "medicare": [
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      ],
      "healthFund": [
        "organisation": "TST",
        "memberNumber": "1234567",
        "memberRefNumber": "1"
      ]
    ],
    "claimant": [
      "identity": [
        "familyName": "FLETCHER",
        "givenName": "Edmond",
        "dateOfBirth": "1986-12-18"
      ],
      "medicare": [
        "memberNumber": "4951525561",
        "memberRefNumber": "2"
      ]
    ],
    "accountReferenceId": "PCGEN01"
  ]] as [String : Any]

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

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