Aotearoa Immunisation Register (AIR) FHIR Implementation Guide
2.7.0 - ci-build
New Zealand
Aotearoa Immunisation Register (AIR) FHIR Implementation Guide - Local Development build (v2.7.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://standards.digital.health.nz/fhir/air/CapabilityStatement/AIRCapabilityStatement | Version: 2.7.0 | |||
| Draft as of 2023-02-14 | Computable Name: AIRCapabilityStatement | |||
The Aotearoa Immunisation Register (AIR) FHIR v4.0.1 API
Raw OpenAPI-Swagger Definition file | Download
jsonNote to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
serverOAuthtransactioninteraction.| Conformance | Operation | Documentation |
|---|---|---|
| SHALL | $process-message | POST| [base]/$process-message| http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message| system/MessageHeader.u |
The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include_revinclude| Resource Type | Profile | R | S | U | C | H-I | Searches | _include | _revinclude | Operations |
|---|---|---|---|---|---|---|---|---|---|---|
| Immunization | https://standards.digital.health.nz/fhir/air/StructureDefinition/air-immunization | y | y | y | y | patient, protocolApplied.targetDisease, status-reason:not-in, status:not-in, data-quality | *, Immunization.patient, Immunization.performer.actor, Immunization.location | $upsert, $bulk-update | ||
| Patient | https://standards.digital.health.nz/fhir/air/StructureDefinition/air-patient | y | $update-state, $reassign-schedules, $patient-history |
createPOST|[base]/Immunization/|The "create" operation is used to create a new immunisation event. This method performs validation checks to ensure that the event is valid before it is created.
Returns either the created Immunization record or if there were any issues with the create, the response will contain an OperationOutcome resource array. The OperationOutcome resource has an informational issue indicating that the create operation failed. The issue array of the OperationOutcome resource would contain additional issues with appropriate severity and code values.|system/Immunization.c
readGET|[base]/Immunization/[id]|The "read" operation is used to read an immunisation event. This method takes an immunisation event id and returns back the FHIR resource for the immunization event.|system/Immunization.r
updatePUT|[base]/Immunization/[id]| The "update" operation is used to update an existing immunisation event. This method checks if the immunisation event with the given ID exists, and if it does, it updates the event with the new details provided. The method also performs validation checks to ensure that the updated event is valid before it is saved.
Returns either the the updated immunisation record or an OperationOutcome if there were any issues with the update.
On success - returns the updated immunisation record. data quality issues will be identified and sent as part of the response in the meta section of the resource.
On Fail - if there were any issues with the update, the response will contain an OperationOutcome resource array. The OperationOutcome resource has an informational issue indicating that the update operation failed. The issue array of the OperationOutcome resource would contain additional issues with appropriate severity and code values.|system/Immunization.u
history-instanceGET|[base]/Immunization/[id]_history|The _history interaction is used to return all the versions of an immunization event including the data quality. This method takes an immsot_id and returns back the FHIR bundle, which is a collection of immunization event resources where each resource in the bundle represents a version.|system/Immunization.r, air-admin/Immunization.r
| Conformance | Parameter | Type | Documentation |
|---|---|---|---|
| SHALL | patient | reference | NHI number of the patient |
| SHALL | protocolApplied.targetDisease | token | Vaccine-preventable disease being targeted by an immunisation. |
| SHALL | status-reason:not-in | token | Exclude immunisation events with specified status reason codes |
| SHALL | status:not-in | token | Exclude immunisation events with specified statuses |
| SHALL | data-quality | special | Query search for immunisation events with data quality issues. Restricted to admin users. |
| Conformance | Parameters | Types |
|---|---|---|
| patient | reference | |
| patient(+protocolApplied.targetDisease+status-reason:not-in+status:not-in) | reference(+token+token+token) |
| Conformance | Operation | Documentation |
|---|---|---|
| SHALL | $upsert | Update or add an immunisation event |
| SHALL | $bulk-update | Update or add immunisation events in bulk. |
readGET|[base]/Patient/[id]|Read the current state of an ImmSOT Consumer. Consumer state held in ImmSOT is returned as a FHIR AIR Patient. When an optional header "origin-nhi-version" is included which contains the NHI version, the API will check if it is the same NHI version we have stored in ImmSoT database for the Consumer. If it is the same, we return the current data we have in ImmSoT database. If it is not the same, we do a Consumer sync with NHI and update the data we have in ImmSoT database and then return this updated data in the response.|system/Patient.r, air-test/Patient.r
| Conformance | Operation | Documentation |
|---|---|---|
| SHALL | $update-state | Update the current state of an ImmSOT Consumer. Updates the Consumer state and/or sub status only. Input is the Consumer version previously read (used for operation optimistic locking) and the desired Consumer state. At least one of state and subStatus must be specified. If state or subStatus is not specified, then these attributes will not be updated. Setting subStatus to null will clear the current sub status. A 412 Preconditioned Failed will be returned if the version received in the payload does not match the server version. |
| SHALL | $reassign-schedules | Reassign immunisation schedules for a patient. Cancels the existing schedules and then creates a new set of schedules based on the new onboarding date. Input is the new onboarding date. |
| SHALL | $patient-history | Fetch all the versions of an ImmSOT Patient/Consumer. |