Health New Zealand Te Whatu Ora Shared Care FHIR API
0.4.7 - release New Zealand flag

Health New Zealand Te Whatu Ora Shared Care FHIR API - Local Development build (v0.4.7) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Dunedin Hospital Outpatients

The Outpatients Appointments API exposes Hospital Outpatient appointments as FHIR Appointments and other related resources. The API provides a single view of outpatient appointments from multiple appointment scheduling systems used within Health NZ.

This allows an appointment management solution to display appointment information and as functionality to manage the workflow of appointments, including confirming, arriving and departing a patient from their appointment.

Currently, the APIs support integration with the following Hospital Outpatients systems:

  • SIPICS – Te Waipounamu regional Patient Administration System (PAS), including clinic-based appointments as well as other ad hoc and day surgery appointments.
  • Cardiobase – Southern district Cardiology information system for Cardiology procedure appointments.
  • Karisma – Southern district Radiology information system for Radiology procedure appointments.

Some functionality of the API is currently limited based on the underlying appointment booking system:

  • Southern Radiology appointments only support retrieval. Updates (confirm, arrive, depart) are not currently supported.

Additionally, a Patient resource is exposed to provide Patient demographic information held within the Hospital Patient Administration System (PAS). The Patient resource is read-only; patient demographics can't be updated through this API.

Appointment Modality

In this IG, the appointment method (how the appointment will be delivered) is conveyed using the Appointment.extension:appointmentMethod extension and is the authoritative indicator of delivery method: in-person, telephone, telehealth, or home-visit.

Location references are used to express “where”, and are expected to remain meaningful regardless of method (i.e., they are not a proxy for appointment method).

For in-person, the Appointment should include a facility/clinic Location representing where the patient is expected to attend.

For telephone and telehealth, implementers should still include an appropriate Location when available, such as the service owning clinic/site and/or a virtual Location (rather than omitting Location entirely), so operational workflows (routing, clinic ownership, reporting) remain intact.

For home-visit, the Appointment should include a Location representing the patient’s home/visit location when it is represented as a Location resource.

In all cases, do not infer appointment method from Location; use extension:appointmentMethod for method and Location purely for location context.

Use Cases

1. Appointment Created or Updated
2. Confirm Appointment
3. Arrive Appointment
4. Depart Appointment
5. Retrieve Te Waipounamu Patient Demographics

Appointment Created Or Updated

An event notification will be sent to subscribers for any new or updated appointments, the details can then be retrieved from the Appointment API.

Appointment Created/UpdatedAppointment Created/UpdatedAppointmentShared CareShared CareNEMSBooking AdministratorBooking AdministratorAppointmentAppointmentShared CareShared CareNEMSNEMSAppointmentAppointmentBooking AdministratorBooking AdministratorAppointmentScheduling SystemAppointmentScheduling SystemShared CareFHIR ServerShared CareFHIR ServerNEMSNEMSAppointmentManagement SystemAppointmentManagement SystemAppointmentShared CareShared CareNEMS[01]Subscribe to appointment-updated event[02]Book appointment[03]Appointment Resource Created/Updated[04]publish appointment-updated event[05]appointment-updated event notification[06]Get Appointment[07]Appointment Resource

Confirm Appointment

Update the Appointment Scheduling System to indicate the Patient has confirmed they can attend the appointment.

Key information:

Element Expected update/information
AppointmentResponse.appointment Reference to the Appointment by its FHIR id, e.g. Appointment/{id}
AppointmentResponse.participantType http://terminology.hl7.org/CodeSystem/v3-ParticipationType#SBJ
AppointmentResponse.participantStatus 'accepted'

see AppointmentResponse example

Patient Confirms AppointmentPatient Confirms AppointmentAppointmentShared CareShared CareNEMSAppointmentBooking AdministratorBooking AdministratorAppointmentAppointmentShared CareShared CareNEMSNEMSAppointmentAppointmentPatient/AdministratorPatient/AdministratorBooking AdministratorBooking AdministratorAppointmentScheduling SystemAppointmentScheduling SystemShared CareFHIR ServerShared CareFHIR ServerNEMSNEMSAppointmentManagement SystemAppointmentManagement SystemPatient/AdministratorPatient/AdministratorAppointmentShared CareShared CareNEMSAppointment[01]Subscribe to appointment-updated eventalt[Appointment confirmed through Appointment Management System][02]Confirms Appointment[03]POST AppointmentResponse Resource[04]Update Appointment to confirmed[Appointment confirmed through Appointment Scheduling System][05]Confirms Appointment[06]Appointment Resource Updated[07]publish appointment-updated event[08]appointment-updated event notification

Arrive Appointment

Update the Appointment Scheduling System to indicate the patient has arrived for their appointment.

Key information:

Element Expected update/information
Encounter.status 'arrived'
Encounter.class AMB (ambulatory) or IMP (inpatient) from https://terminology.hl7.org/3.1.0/ValueSet-v3-ActEncounterCode.html
Encounter.subject Patient.Identifier
Encounter.appointment Reference to the Appointment by its FHIR id, e.g. Appointment/{id}

see Encounter create example

Patient Arrives for AppointmentPatient Arrives for AppointmentAppointmentShared CareShared CareNEMSAppointmentAdministratorAdministratorAppointmentAppointmentShared CareShared CareNEMSNEMSAppointmentAppointmentPatient/AdministratorPatient/AdministratorAdministratorAdministratorAppointmentScheduling SystemAppointmentScheduling SystemShared CareFHIR ServerShared CareFHIR ServerNEMSNEMSAppointmentManagement SystemAppointmentManagement SystemPatient/AdministratorPatient/AdministratorAppointmentShared CareShared CareNEMSAppointment[01]Subscribe to appointment-updated eventalt[Patent arrived through Appointment Management System][02]Arrives for Appointment[03]POST Encounter Resource (reference to Appointment)[04]Create encounter for AppointmentUpdate appointment status (arrived)[Patent arrived through Appointment Scheduling System][05]Confirms Appointment[06]Appointment Resource Updated[07]Publish appointment-updated event[08]appointment-updated event notification

Depart Appointment

Update the Appointment Scheduling System to indicate the patient has departed from their appointment.

Key information:

Element Expected update/information
Encounter.appointment Reference to the Appointment by its FHIR id, e.g. Appointment/{id}
Encounter.subject Patient.Identifier
Encounter.status 'finished'
Encounter.period.start arrival time
Encounter.period.end departure time

see Encounter update example

Patient Departs AppointmentPatient Departs AppointmentAppointmentShared CareShared CareNEMSAppointmentAdministratorAdministratorAppointmentAppointmentShared CareShared CareNEMSNEMSAppointmentAppointmentAdministratorAdministratorAdministratorAdministratorAppointmentScheduling SystemAppointmentScheduling SystemShared CareFHIR ServerShared CareFHIR ServerNEMSNEMSAppointmentManagement SystemAppointmentManagement SystemAdministratorAdministratorAppointmentShared CareShared CareNEMSAppointment[01]Subscribe to appointment-updated eventalt[Patient departed through Appointment Management System][02]Departs from Appointment[03]Update Encounter Resource (reference to Appointment)[04]Update encounter for AppointmentUpdate appointment status (fulfilled)[Patient departed through Appointment Scheduling System][05]Departs patient from Appointment[06]Appointment Resource Updated[07]publish appointment-updated event[08]appointment-updated event notification

Retrieve Te Waipounamu Patient Demographics

Retrieve Patient Demographics from a Patient in the Te Waipounamu regional Patient Administration System.

Patient details, including contact details, are maintained in the Patient Administration System, not through this API.

​see Patient Response example

Retrieve Patient DemographicsRetrieve Patient DemographicsPatient Administration SystemPatient Administration SystemAppointment FHIRNEMSAppointmentAdministratorAdministratorPatient Administration SystemPatient Administration SystemAppointment FHIRAppointment FHIRNEMSNEMSAppointmentAppointmentAdministratorAdministratorPatient Administration System(PAS)Patient Administration System(PAS)Appointment FHIRInterfaceAppointment FHIRInterfaceNEMSNEMSAppointmentManagement SystemAppointmentManagement SystemPatient Administration SystemPatient Administration SystemAppointment FHIRNEMSAppointment[01]Subscribe to patient-updated event[02]Patient details updated[03]Publish patient-updated event[04]patient-updated event notification[05]Get Patient Resource (by NHI)[06]Retrieve patient demographics[07]Patient demographics[08]Patient Resource