Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V1)
1.29.0-SNAPSHOT - ci-build
New Zealand
Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V1) - Local Development build (v1.29.0-SNAPSHOT) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
The AIR validates Immunisation Events during create and update operations to identify potential and exact duplicates. The definition of a duplicate is where ImmSOT holds multiple immunisation event records for one immunisation event.
Exact duplicates, where all non-system fields are equal, are handled prior to being saved in the AIR. Potential duplicates are close copies that require administrative review to resolve after being saved in the AIR.
Existing immunisation events satisfying these conditions with respect to the new immunisation event is eligible for duplicate checking:
Exact duplicates are where two or more immunisation events match on:
Potential duplicate Data Quality violations are raised when two or more immunisation events are not exact duplicates, yet match on:
Potential duplicates can occur any time. When the record is identified as potential duplicate, then the submitted status of the record being created or updated is kept and the record is saved. Matching immunisation records will be flagged as duplicates so that an AIR Admin can retrieve and resolve the issue. The Admin may change the status of one to "Entered in Error", triggering a 'delete' notification to the source PMS and the patient's enrolled GP.
Create: When a record is identified as an exact duplicate during a create operation, the status of the submitted record is changed to "entered-in-error" with status reason SNOMED 445672005, "Duplicate report". This leaves the existing record unaffected.
Update: When an update makes it an Exact or Potential Duplicate of another record, the submitted record is updated and a Potential Duplicate quality violation is raised.
Bulk Update (HealthLink AIR Broker only): both Add and Update HL7 messages to the broker (RXA-19 = 'A' or 'U') use Upsert logic in the AIR.
Delete HL7 messages (RXA-19 = 'D') are translated as having status 'entered-in-error'. The AIR finds one matching record and marks it entered-in-error.
See the relevant Use Case pages for example responses. API clients are required to anticipate these outcomes and provide a suitable user experience when they occur. Note that significant changes have been made in version 2 of the API, aiming to reduce the frequency of duplicates and responses requiring user action.
* marks changes in version 2 of the API from version 1 (this version).
| Endpoint | Potential Duplicate | Exact Duplicate | ||
|---|---|---|---|---|
| Normal behaviour | Double-Dose | Normal behaviour | Double-Dose | |
Create |
Create new record, raise DQ |
Create new record, no DQ |
entered-in-error, Duplicate report* |
|
Update |
Apply update, raise DQ |
Apply update, no DQ |
Apply update, raise DQ* |
Apply update, no DQ* |
Bulk Update (HL Broker only) |
Single match: update existing record |
If time and/or body site differ, create new record, no DQ |
Single match: update existing record* |
|