NZ Shared Digital Health Record API
1.1.6 - release
NZ Shared Digital Health Record API, published by Health New Zealand. This guide is not an authorized publication; it is the continuous build for version 1.1.6 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/tewhatuora/fhir-sdhr/ and changes regularly. See the Directory of published versions
This domain contains immunisation records sourced from the Aotearoa Immunisation Register (AIR).
FHIR artifacts
Immunisation records document vaccines administered to a person and form part of their longitudinal immunisation history.
Immunisation information supports understanding of vaccination status, previous vaccine administration, and related clinical decision-making across primary, community, hospital, outreach, telehealth, and after-hours care settings.
This domain supports visibility of a person's immunisation history and immunisation status.
Immunisation information may support:
Immunisation information from SDHR should be treated as shared clinical context and does not replace clinical assessment, local documentation, or review of source records where these are required.
Immunization searches require patient. AIR receives the originally requested NHI and resolves linked NHIs for its records. SDHR does not combine separate AIR searches for linked NHIs.
For this patient search, AIR returns the patient's full immunisation history in one response, subject to AIR's filters and access restrictions. SDHR applies its additional filters and sorts the results locally in memory. SDHR does not paginate the results: it returns all remaining matches in a single Bundle.
| Parameter | Supported behaviour |
|---|---|
date |
Occurrence date filter, applied by SDHR. Supports eq, ge, gt, le and lt; repeat the parameter for a range. Unprefixed values use eq, matching the UTC calendar day. |
location |
Facility identifier or reference, applied by SDHR. |
vaccine-code |
Token match against vaccineCode using system\|code or bare code. |
product |
Token match against the AIR administered-product extension, using system\|code or bare code; distinct from vaccine-code. |
vaccine-code:text, product:text |
Case-insensitive substring match against the relevant concept text or coding display, applied by SDHR. |
target-disease, status, status-reason |
Forwarded to AIR. |
_sort |
Applied locally by SDHR: date for oldest first or -date for newest first. Default: newest first. |
Other parameters and modifiers, or unsupported date comparators, return HTTP 400. In particular, _count, _include and _revinclude are not accepted. Records marked entered-in-error are removed from search results. Records without a parseable occurrence date sort last in descending order and first in ascending order.
Because AIR returns the full patient history in one response, SDHR does not retrieve extra pages or create SDHR pages. Any paging links supplied by AIR are passed through without rewriting them for the local filters; their presence does not mean SDHR implements pagination. Normally, Bundle.total is the number of visible Immunization entries after filtering. If AIR supplies meta.security, SDHR retains AIR's total, or uses zero when AIR omits it; the total may therefore differ from the number of visible entries.
Global SDHR participation checks apply across linked NHIs, while AIR applies its own Restricted Access rules. When AIR returns Bundle.meta.security code REDACTED, SDHR preserves it. Existing AIR outcome entries are retained. If AIR supplies no outcome entry, SDHR adds an informational OperationOutcome with issue code informational and details code sdhr-records-withheld-at-source from https://fhir-ig.digital.health.nz/sdhr/CodeSystem/sdhr-outcome-codes.
Consumers must inspect Bundle security metadata and outcome entries before interpreting an empty result as an absence of immunisation records.