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
This page describes all of the validation rules, and quality indications, that will be applied when an Immunisation event is being created or updated within ImmSOT.
| Indication |
Description |
Weighting |
|---|---|---|
| 1 - MINOR | Where a data element that fails validation does not materially impact AIR’s ability to assess vaccination state against the schedule | 1 |
| 2 - MODERATE | Where a data element that fails validation materially impacts AIR’s ability to assess vaccination state against the schedule or undermines the auditability of the record | 2 |
| 3 - MAJOR | Where the vaccine can not be determined or where a data element that fails validation may mean sub-potent delivery. | 3 |
| Rule Name | Field (Database Field name) | FHIR API Name | Run Criteria | Violation Code | Weighting | Quality Matrix Rule | Validation Message |
|---|---|---|---|---|---|---|---|
| valid_nhi | immunisation_event.nhi | patient | Status is ‘Completed' or 'not done’ | 30 | 3 - major | An Immunisation Event must always be associated to a consumer record. | The NHI number provided does not exist in the NHI. An immunisation event must include a valid NHI number. |
| recognised_vaccine_code | vaccine_code | vaccineCode | Status is ‘Completed' or 'not done’ | 170 | 3 - major | A vaccine code must be part of the air-vaccine-product-code value set. | The vaccine code is unrecognised. A vaccine code should be part of the air-vaccine-product-code value set. |
| valid_vaccine_expiration_date | expiration_date | expirationDate | Status is 'Completed' | 270 | 3 - major | A vaccine batch expiry date must not be before the immunisation event date. | An immunisation event should have a vaccine batch expiry date, and the vaccine batch expiry date should not be before the immunisation event date. |
| valid_diluent_expiration_date | diluent_expiration_date | air-diluent.diluentExpiryDate | Status is 'Completed' | 500 | 3 - major | A diluent expiry date must not be before the immunisation event date. | An immunisation event should have a diluent expiry date, and the diluent expiry date should not be before the immunisation event date. |
| valid_vaccine_expiration_date_current_year | expiration_date | expirationDate | Status is ‘Completed’ | 280 | 1 - minor | A vaccine batch expiry date must not be before the immunisation event date. | The vaccine batch expiry date should not be before the immunisation event date. |
| valid_diluent_expiration_date_current_year | diluent_expiration_date | air-diluent.diluentExpiryDate | Status is ‘Completed’ | 520 | 1 - minor | A diluent expiry date must not be before the immunisation event date. | An immunisation event should have a diluent expiry date, and the diluent expiry date should not be before the immunisation event date. |
| esam | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| valid_facility | facility_id | location.managingOrganisation | Status is ‘Completed' or 'not done’ |
390 | 1 - minor | A facility must pass the facility checksum criteria. A facility ID must begin with “F”. The facility system must be https://standards.digital.health.nz/ns/hpi-facility-id |
The facility ID / system is unrecognised. The facility ID should begin with "F", it should pass the facility checksum criteria, and the facility system must be https://standards.digital.health.nz/ns/hpi-facility-id. |
| recognised_route_code | route_code | route | Status is 'Completed' | 290 | 1 - minor | A route code must be part of the air-route-code value set | The route code is unrecognised. A route code should be part of the air-route-code value set. |
| recognised_body_site | body_site_code | site.coding[].code | Status is 'Completed' | 310 | 1 - minor | A body site code must be part of the air-site-code value set | The body site code is unrecognised. A body site code should be part of the air-site-code value set. |
| recognised_health_worker_function_code | health_worker_function | performer[].function | Status is ‘Completed' or 'not done’ | 470 | 1 - minor | A health worker function value must be part of the air-vaccinator-function-code value set. | One or more health worker function value is unrecognised. A health worker function value should be part of the air-vaccinator-function-code value set. |
| valid_health_worker_id | identification_number | performer[].actor | Status is ‘completed’ or ‘not done’ | 430 | 2 - moderate | The health worker system must be one of the following: https://standards.digital.health.nz/ns/air-vhw-id https://standards.digital.health.nz/ns/hpi-person-id https://standards.digital.health.nz/ns/medical-council-id https://standards.digital.health.nz/ns/nursing-council-id https://standards.digital.health.nz/ns/air-cir-id https://standards.digital.health.nz/ns/pharmacy-council-id https://standards.digital.health.nz/ns/paramedic-council-id https://standards.digital.health.nz/ns/midwifery-council-id https://HCA A health worker identification number must pass the checksum criteria when the health worker system is https://standards.digital.health.nz/ns/hpi-person-id |
One or more health worker is unrecognised. An immunisation event should have a health worker identification number that passes the checksum criteria when the system is https://standards.digital.health.nz/ns/hpi-person-id, or it should have a health worker identification number and the system https://standards.digital.health.nz/ns/air-vhw-id or https://standards.digital.health.nz/ns/medical-council-id or https://standards.digital.health.nz/ns/nursing-council-id or https://standards.digital.health.nz/ns/air-cir-id or https://standards.digital.health.nz/ns/pharmacy-council-id or https://standards.digital.health.nz/ns/paramedic-council-id or https://standards.digital.health.nz/ns/midwifery-council-id or https://HCA |
| recognised_indication_code | reasonCode.value | code | Status is 'Completed' or 'not done’ | 150 | 2 - moderate | An indication code must be part of the air-indication-code value set. | One or more indication code is unrecognised. An indication code should be part of the air-indication-code value set. |
| required_vaccine_batch_number | lot_number | lotNumber | Status is ‘Completed' AND Status Reason is not ‘Overseas Vaccination’ or ‘Historic Vaccination’ |
250 | 1 - minor | An immunisation event must have a vaccine batch number | An immunisation event should have a vaccine batch number. |
| recognised_status_reason_code | status_reason_code | statusReason | Status is ‘Completed’ or ‘not done’ | 510 | 2 - Moderate | A status reason must be part of the air-status-reason-code value set | The status reason is unrecognised. A status reason should be part of the air-status-reason-code value set. |
| immunisation_event_date_after_DOD | immunisation_event_date | occurrence | Status is ‘Completed’ or ‘not done’ | 710 | 2 - Moderate | Where a consumer has a date of death, the Immunisation occurrence date must not be after | The immunisation event date is after the consumer’s date of death |
| immunisation_event_date_before_DOB | immunisation_event_date | occurrence | Status is ‘Completed’ or ‘not done’ | 720 | 2 - Moderate | The Immunisation occurrence date must be on or after the consumer’s date of birth | The immunisation event date is before the consumer’s date of birth |
| immunisation_event_future_date | immunisation_event_date | occurrence | Status is ‘Completed’ or ‘not done’ | 750 | 2 - Moderate | The immunisation occurrence date cannot be in the future | The immunisation event date cannot be in the future |
| duplicates | N/A | N/A | Status is ‘Completed’ or ‘not done’ | 800 | N/A - Duplicates do not have a weighting and do not contribute to scoring | Two or more immunisation events must not match on consumer, vaccine code, and occurrence date (excluding the time component). | This Immunization resource has been identified as a duplicate of existing Immunization resources |
| serology_observation_date_future | serology_observation.datetime | Immunisation Event Status is ‘Completed’ or ‘not done’ | 610 | 2 - Moderate | The serology observation date cannot be in the future | The serology observation date cannot be in the future | |
| recognised_ relationship _code |
imms.relationship.code | AIRRelatedPerson.relationship.coding.code | Status is ‘Completed' or 'not done’ | 1 - minor | A relationship code should be part of the air-related-person-relationship value set | The related person relationship code is unrecognised. A relationship code should be part of the air-related-person-relationship value set. |