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

Resource Profile: Online GP Appointment

Official URL: https://fhir-ig.digital.health.nz/shared-care/StructureDefinition/OnlineGPAppointment Version: 1.1.0
Active as of 2026-10-13 Computable Name: OnlineGPAppointment

A FHIR resource profile for operational reporting of Online GP Appointment.

A FHIR resource profile for operational reporting of Online GP Appointment.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, patient-or-data-absent-reason
Appointment.meta This element is included in summaries. 1..1 Meta Metadata about the resource
Appointment.meta.source This element is included in summaries. C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.Slices for tag This element is included in summaries. 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId This element is included in summaries. 1..1 Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Appointment.meta.Slices for tag.tag:correlationId.system This element is included in summaries. 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..1 Identifier External Ids for this item
Appointment.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Appointment.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.reasonCode This element is included in summaries. 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Organization
Appointment.supportingInformation.identifier This element is included in summaries. C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
Appointment.supportingInformation.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.Slices for participant C 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Constraints: app-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:All Slices Content/Rules for all slices
Appointment.Slices for participant.participant:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:All Slices.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:patient C 0..1 BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.Slices for participant.participant:patient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:patient.actor This element is included in summaries. 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.Slices for participant.participant:patient.actor.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value This element is included in summaries. C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Example General: 123456
Appointment.Slices for participant.participant:patient.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.meta.tag:correlationId Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG
Appointment.supportingInformation.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant:patient.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: patient-or-data-absent-reason
Appointment.meta 1..1 Meta Metadata about the resource
Appointment.meta.source C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.Slices for tag 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId 1..1 Coding Tags applied to this resource
Appointment.meta.Slices for tag.tag:correlationId.system 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.code 1..1 code Symbol in syntax defined by the system
Appointment.contained 0..0 Contained, inline Resources
Appointment.identifier 0..1 Identifier External Ids for this item
Appointment.identifier.system 1..1 uri The namespace for the identifier value
Appointment.identifier.value 1..1 string The value that is unique
Appointment.serviceType 0..0 The specific service that is to be performed during this appointment
Appointment.specialty 0..0 The specialty of a practitioner that would be required to perform the service requested in this appointment
Appointment.appointmentType 0..0 The style of appointment or patient that has been booked in the slot (not service type)
Appointment.reasonCode 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.reasonReference 0..0 Reason the appointment is to take place (resource)
Appointment.priority 0..0 Used to make informed decisions if needing to re-prioritize
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.type 1..1 uri Type the reference refers to (e.g. "Patient")
Required Pattern: Organization
Appointment.supportingInformation.identifier C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.use 0..1 code usual | official | temp | secondary | old (If known)
Required Pattern: official
Appointment.supportingInformation.identifier.system 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value 1..1 string The value that is unique
Appointment.minutesDuration 0..0 Can be less than start/end (e.g. estimate)
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.patientInstruction 0..0 Detailed information and instructions for the patient
Appointment.basedOn 0..0 The service request this appointment is allocated to assess
Appointment.Slices for participant 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:patient 0..1 BackboneElement Participants involved in appointment
Appointment.Slices for participant.participant:patient.actor 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.type 1..1 uri Type the reference refers to (e.g. "Patient")
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.system 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Appointment.Slices for participant.participant:patient.actor.display 0..0 Remove from all examples. Never return in a response. Never save if provided.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, patient-or-data-absent-reason
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 1..1 Meta Metadata about the resource
Appointment.meta.id 0..1 string Unique id for inter-element referencing
Appointment.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Appointment.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Appointment.meta.source This element is included in summaries. C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Appointment.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Appointment.meta.Slices for tag This element is included in summaries. 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId This element is included in summaries. 1..1 Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Appointment.meta.Slices for tag.tag:correlationId.id 0..1 string Unique id for inter-element referencing
Appointment.meta.Slices for tag.tag:correlationId.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.meta.Slices for tag.tag:correlationId.system This element is included in summaries. 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.version This element is included in summaries. 0..1 string Version of the system - if relevant
Appointment.meta.Slices for tag.tag:correlationId.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Appointment.meta.Slices for tag.tag:correlationId.display This element is included in summaries. 0..1 string Representation defined by the system
Appointment.meta.Slices for tag.tag:correlationId.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Appointment.extension 0..* Extension Additional content defined by implementations
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..1 Identifier External Ids for this item
Appointment.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Appointment.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.reasonCode This element is included in summaries. 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.id 0..1 string Unique id for inter-element referencing
Appointment.supportingInformation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.supportingInformation.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Appointment.supportingInformation.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Organization
Appointment.supportingInformation.identifier This element is included in summaries. C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.supportingInformation.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.supportingInformation.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
Appointment.supportingInformation.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.supportingInformation.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.supportingInformation.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.supportingInformation.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.supportingInformation.display This element is included in summaries. 0..1 string Text alternative for the resource
Appointment.start This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.comment 0..1 string Additional comments
Appointment.Slices for participant C 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Constraints: app-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:All Slices Content/Rules for all slices
Appointment.Slices for participant.participant:All Slices.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:All Slices.extension 0..* Extension Additional content defined by implementations
Appointment.Slices for participant.participant:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:All Slices.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.Slices for participant.participant:All Slices.actor This element is included in summaries. 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:All Slices.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.Slices for participant.participant:All Slices.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:All Slices.period 0..1 Period Participation period of the actor
Appointment.Slices for participant.participant:patient C 0..1 BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.Slices for participant.participant:patient.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.extension 0..* Extension Additional content defined by implementations
Appointment.Slices for participant.participant:patient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:patient.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.Slices for participant.participant:patient.actor This element is included in summaries. 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.actor.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for participant.participant:patient.actor.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Appointment.Slices for participant.participant:patient.actor.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.actor.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for participant.participant:patient.actor.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.Slices for participant.participant:patient.actor.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.Slices for participant.participant:patient.actor.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value This element is included in summaries. C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Example General: 123456
Appointment.Slices for participant.participant:patient.actor.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.Slices for participant.participant:patient.actor.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.Slices for participant.participant:patient.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.Slices for participant.participant:patient.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:patient.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.meta.tag:correlationId Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG
Appointment.supportingInformation.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.
Appointment.participant:patient.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant:patient.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()

This structure is derived from Appointment

Summary

Mandatory: 12 elements(7 nested mandatory elements)
Fixed: 1 element
Prohibited: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Appointment.meta.tag
  • The element 1 is sliced based on the value of Appointment.participant

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, patient-or-data-absent-reason
Appointment.meta This element is included in summaries. 1..1 Meta Metadata about the resource
Appointment.meta.source This element is included in summaries. C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.Slices for tag This element is included in summaries. 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId This element is included in summaries. 1..1 Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Appointment.meta.Slices for tag.tag:correlationId.system This element is included in summaries. 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..1 Identifier External Ids for this item
Appointment.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Appointment.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.reasonCode This element is included in summaries. 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Organization
Appointment.supportingInformation.identifier This element is included in summaries. C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
Appointment.supportingInformation.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.Slices for participant C 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Constraints: app-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:All Slices Content/Rules for all slices
Appointment.Slices for participant.participant:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:All Slices.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:patient C 0..1 BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.Slices for participant.participant:patient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:patient.actor This element is included in summaries. 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.Slices for participant.participant:patient.actor.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value This element is included in summaries. C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Example General: 123456
Appointment.Slices for participant.participant:patient.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.meta.tag:correlationId Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG
Appointment.supportingInformation.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant:patient.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()

Differential View

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: patient-or-data-absent-reason
Appointment.meta 1..1 Meta Metadata about the resource
Appointment.meta.source C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.Slices for tag 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId 1..1 Coding Tags applied to this resource
Appointment.meta.Slices for tag.tag:correlationId.system 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.code 1..1 code Symbol in syntax defined by the system
Appointment.contained 0..0 Contained, inline Resources
Appointment.identifier 0..1 Identifier External Ids for this item
Appointment.identifier.system 1..1 uri The namespace for the identifier value
Appointment.identifier.value 1..1 string The value that is unique
Appointment.serviceCategory 0..0 A broad categorization of the service that is to be performed during this appointment
Appointment.serviceType 0..0 The specific service that is to be performed during this appointment
Appointment.specialty 0..0 The specialty of a practitioner that would be required to perform the service requested in this appointment
Appointment.appointmentType 0..0 The style of appointment or patient that has been booked in the slot (not service type)
Appointment.reasonCode 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.reasonReference 0..0 Reason the appointment is to take place (resource)
Appointment.priority 0..0 Used to make informed decisions if needing to re-prioritize
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.type 1..1 uri Type the reference refers to (e.g. "Patient")
Required Pattern: Organization
Appointment.supportingInformation.identifier C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.use 0..1 code usual | official | temp | secondary | old (If known)
Required Pattern: official
Appointment.supportingInformation.identifier.system 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value 1..1 string The value that is unique
Appointment.minutesDuration 0..0 Can be less than start/end (e.g. estimate)
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.patientInstruction 0..0 Detailed information and instructions for the patient
Appointment.basedOn 0..0 The service request this appointment is allocated to assess
Appointment.Slices for participant 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:patient 0..1 BackboneElement Participants involved in appointment
Appointment.Slices for participant.participant:patient.actor 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.type 1..1 uri Type the reference refers to (e.g. "Patient")
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.system 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Appointment.Slices for participant.participant:patient.actor.display 0..0 Remove from all examples. Never return in a response. Never save if provided.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, patient-or-data-absent-reason
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 1..1 Meta Metadata about the resource
Appointment.meta.id 0..1 string Unique id for inter-element referencing
Appointment.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Appointment.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Appointment.meta.source This element is included in summaries. C 1..1 uri HPI Facility ID from where the record is sourced
Constraints: hpi-location-url-format
Appointment.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Appointment.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Appointment.meta.Slices for tag This element is included in summaries. 1..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.meta.Slices for tag.tag:correlationId This element is included in summaries. 1..1 Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Appointment.meta.Slices for tag.tag:correlationId.id 0..1 string Unique id for inter-element referencing
Appointment.meta.Slices for tag.tag:correlationId.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.meta.Slices for tag.tag:correlationId.system This element is included in summaries. 1..1 uri Hub correlation ID system
Required Pattern: https://hub.services.digital.health.nz/ns/correlation-id
Appointment.meta.Slices for tag.tag:correlationId.version This element is included in summaries. 0..1 string Version of the system - if relevant
Appointment.meta.Slices for tag.tag:correlationId.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Appointment.meta.Slices for tag.tag:correlationId.display This element is included in summaries. 0..1 string Representation defined by the system
Appointment.meta.Slices for tag.tag:correlationId.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Appointment.extension 0..* Extension Additional content defined by implementations
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..1 Identifier External Ids for this item
Appointment.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Appointment.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.reasonCode This element is included in summaries. 1..* CodeableConcept Coded reason this appointment is scheduled
Binding: NZ Appointment Reason Codes Code System (required)
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 1..1 Reference(Organization) The provider organisation that owns this appointment
Appointment.supportingInformation.id 0..1 string Unique id for inter-element referencing
Appointment.supportingInformation.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.supportingInformation.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Appointment.supportingInformation.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Organization
Appointment.supportingInformation.identifier This element is included in summaries. C 1..1 Identifier Logical reference, when literal reference is not known
Constraints: hpiOrganizationIdPattern
Appointment.supportingInformation.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.supportingInformation.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.supportingInformation.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
Appointment.supportingInformation.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.supportingInformation.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Required Pattern: https://standards.digital.health.nz/ns/hpi-organisation-id
Appointment.supportingInformation.identifier.value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Appointment.supportingInformation.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.supportingInformation.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.supportingInformation.display This element is included in summaries. 0..1 string Text alternative for the resource
Appointment.start This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created C 0..1 dateTime The date that this appointment was initially created
Constraints: full-datetime-with-timezone
Appointment.comment 0..1 string Additional comments
Appointment.Slices for participant C 1..* BackboneElement Participants involved in appointment
Slice: Unordered, Open by pattern:actor.type
Constraints: app-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for participant.participant:All Slices Content/Rules for all slices
Appointment.Slices for participant.participant:All Slices.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:All Slices.extension 0..* Extension Additional content defined by implementations
Appointment.Slices for participant.participant:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:All Slices.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.Slices for participant.participant:All Slices.actor This element is included in summaries. 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:All Slices.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.Slices for participant.participant:All Slices.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:All Slices.period 0..1 Period Participation period of the actor
Appointment.Slices for participant.participant:patient C 0..1 BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.Slices for participant.participant:patient.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.extension 0..* Extension Additional content defined by implementations
Appointment.Slices for participant.participant:patient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.Slices for participant.participant:patient.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.Slices for participant.participant:patient.actor This element is included in summaries. 1..1 Reference(NZ Patient | Patient) Person, Location/HealthcareService or Device
Appointment.Slices for participant.participant:patient.actor.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.actor.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for participant.participant:patient.actor.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Appointment.Slices for participant.participant:patient.actor.type This element is included in summaries. 1..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Required Pattern: Patient
Appointment.Slices for participant.participant:patient.actor.identifier This element is included in summaries. 1..1 Identifier Logical reference, when literal reference is not known
Appointment.Slices for participant.participant:patient.actor.identifier.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for participant.participant:patient.actor.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for participant.participant:patient.actor.identifier.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Appointment.Slices for participant.participant:patient.actor.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Appointment.Slices for participant.participant:patient.actor.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/nhi-id
Appointment.Slices for participant.participant:patient.actor.identifier.value This element is included in summaries. C 1..1 string Must be an absolute URL reference to the patient on the NHI system. See constraints for details.
Constraints: nhi-value-format
Example General: 123456
Appointment.Slices for participant.participant:patient.actor.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Appointment.Slices for participant.participant:patient.actor.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Appointment.Slices for participant.participant:patient.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.Slices for participant.participant:patient.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.Slices for participant.participant:patient.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.meta.tag:correlationId Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.reasonCode Base required NZ Appointment Reason Codes Code System 📦0.4.7 This IG
Appointment.supportingInformation.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.supportingInformation.​identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.
Appointment.participant:patient.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.participant:patient.​actor.identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.participant:patient.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant:patient.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
full-datetime-with-timezone error Appointment.created DateTime must be ISO 8601 format with time and timezone (e.g., 2026-01-01T00:00:00+13:00 or 2026-01-01T00:00:00Z). Date-only values are not accepted. toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
hpi-location-url-format error Appointment.meta.source Reference must be an HPI facility URL with format https://standards.digital.health.nz/ns/hpi-facility-id/FZZ111-A matches('^https://standards.digital.health.nz/ns/hpi-facility-id/F[A-Za-z0-9]{2}[0-9]{3}-[A-Za-z0-9]$')
hpiOrganizationIdPattern error Appointment.supportingInformation.identifier HPI Organisation ID must conform to format (GXXnnn-C). system = 'https://standards.digital.health.nz/ns/hpi-organisation-id' implies value.matches('^G[a-zA-Z0-9]{2}[0-9]{3}-[a-zA-Z0-9]$')
nhi-value-format error Appointment.participant:patient.actor.identifier.value Reference must be an NHI Patient URL with format ZZZ1111 or ZZZ11AA matches('^[A-Z]{3}([0-9]{4}|[0-9]{2}[A-Z]{2})$')
patient-or-data-absent-reason error Appointment Either a patient participant must be present, or a participant with a data-absent-reason extension on actor must be provided, but not both. participant.where(actor.type = 'Patient').exists() xor participant.where(actor.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()).exists()

This structure is derived from Appointment

Summary

Mandatory: 12 elements(7 nested mandatory elements)
Fixed: 1 element
Prohibited: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Appointment.meta.tag
  • The element 1 is sliced based on the value of Appointment.participant

 

Other representations of profile: CSV, Excel, Schematron