AIR Integration
What is the AIR?
The Australian Immunisation Register (AIR) is a national register that records all vaccinations given to individuals of all ages living in Australia. This includes people who are not eligible for Medicare, such as newborns, newly arrived immigrants and student visa holders.
RebateRight & AIR
RebateRight sends your AIR requests to Services Australia under RebateRight’s Notice of Integration, with the PRODA authentication Services Australia requires. Request and response bodies follow AIR’s own shapes.
Before your first AIR request
Each vaccination location needs 3 things in place:
- A recognised vaccination provider. A medical practitioner, midwife or nurse practitioner with a Medicare provider number is recognised automatically. Any other provider, such as a council or a pharmacy, applies for recognition with Services Australia’s IM004 form and receives an AIR provider number.
- The HW027 form, with the location’s Minor ID. The HW027 form is needed before the first AIR request, including at a clinic that records vaccinations but does not claim through RebateRight. The Minor ID page explains how to get the Minor ID and submit the form.
- A provider number that matches the Minor ID. AIR checks the Minor ID in
x-minor-idagainst the information provider number on every request. AIR returnsAIR-E-1039when the provider number is not linked to that Minor ID. AIR returnsAIR-E-1063when it has not authorised the provider for the service requested.
Response envelope
When AIR answers, its JSON response carries these fields beside the endpoint’s own data:
Pre-flight errors
When the request body has a structural fault, such as invalid JSON, a missing top-level required field or a field of the wrong type, the response uses a separate envelope. It carries codeType: DHSEIN in place of statusCode and errors[]:
Common messages:
Pre-flight errors come from Services Australia’s gateway, which checks the request’s structure before AIR applies its business rules. RebateRight passes them through unchanged. AIR’s own validation errors use the standard envelope with statusCode: AIR-E-1005 instead.
Responses from RebateRight
RebateRight answers some requests itself, in plain text: a 400 for a missing body or Minor ID, a 401 for a missing or invalid API Key and a 503 when it cannot complete the request. Troubleshooting gives the cause and the fix for each.
When Services Australia returns a body that is not JSON, such as a 404 for an unknown path, RebateRight keeps Services Australia’s HTTP status and returns a JSON body. That body sets invalidResponseFromServicesAustralia to true, holds the raw text in body and carries the correlationId.
Status codes
AIR uses a three-tier prefix:
The response envelope carries codes in 2 places:
statusCode. The top-level outcome for the request.errors[].code. Field-level validation problems, present only whenstatusCodeisAIR-E-1005.
AIR returns its outcomes, including validation errors, as HTTP 200 with a statusCode. Gateway errors and RebateRight’s own responses carry no statusCode. Read the HTTP status first, then read statusCode on an HTTP 200 response.
Display message and errors[].message exactly as AIR returns them. Services Australia requires unchanged wording.
Top-level statusCode values
AIR returns one of these codes in statusCode for the overall outcome of each request.
Validation codes
AIR returns these codes in errors[] when statusCode is AIR-E-1005. Each entry has code, field and message, and message carries Services Australia’s full text. The table below summarises each code so you can match it during integration.
Encounter, episode and assessment codes
Record Encounter returns an encounter’s outcome in claimDetails.encounters[].information.code and each episode’s outcome in claimDetails.encounters[].episodes[].information.code. Update Encounter and Immunisation History Details return episode codes in the same information object.
AIR also checks each episode against the individual’s existing history. When the check finds an issue, the episode’s information.code carries one of these assessment reason codes:
Reference data
The Reference Data endpoints return the vaccines, antigens and codes the other AIR endpoints accept. Take vaccine and antigen codes, and their descriptions, from these endpoints rather than hard-coding them. AIR caches each response for one hour, so a change takes up to an hour to appear. Store the reference data in your software, refresh it daily or weekly, and keep a way to force a refresh.
Display requirements
Services Australia sets what software using AIR shows its users. Full vaccine and disease names come from the Reference Data endpoints.