NZ Shared Digital Health Record API
0.4.0 - draft

NZ Shared Digital Health Record API - Local Development build (v0.4.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: SDHREncounter

Official URL: https://fhir-ig.digital.health.nz/sdhr/StructureDefinition/SDHREncounter Version: 0.4.0
Draft as of 2025-05-22 Computable Name: SDHREncounter

Encounter resource to record an instance of an interaction between patient and healthcare provider

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..* Encounter An interaction during which services are provided to the patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... identifier Σ 0..* Identifier A local identifier MAY be added to this section. If used, system MUST be specified.
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code The local identifier use SHOULD be set to secondary, where the SDHR resource id is considered the primary identifier.
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri System for the local identifier. This MUST be consistent per PMS/Health Application
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
Example Local Identifier System: https://fhir.example.co.nz
.... value Σ 1..1 string The actual local identifier value, e.g. ec2d6cad-1e19-46ee-accf-dc460a680710
ele-1: All FHIR elements must have a @value or children
Example General: 123456
Example Local Identifier Value: ec2d6cad-1e19-46ee-accf-dc460a680710
... status ?!Σ 1..1 code planned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.


ele-1: All FHIR elements must have a @value or children
... class Σ 1..1 Coding Classification of patient encounter
Binding: ValueSet for EncounterStatus (required)
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 0..1 string Must be an absolute URL reference to the patient on the NHI system. E.g. https://api.hip.digital.health.nz/fhir/Patient/ZZZ0008
ele-1: All FHIR elements must have a @value or children
.... type Σ 0..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).


ele-1: All FHIR elements must have a @value or children
Required Pattern: Patient
... participant Σ 1..* BackboneElement List of participants involved in the encounter
ele-1: All FHIR elements must have a @value or children
.... individual Σ 1..1 Reference(Practitioner) Persons involved in the encounter other than the patient
ele-1: All FHIR elements must have a @value or children
..... extension 0..0
..... reference ΣC 0..1 string Must be an absolute URL reference to the practitioner on the HPI system E.g. https://api.hip.digital.health.nz/fhir/Practitioner/99ZZZZ
ele-1: All FHIR elements must have a @value or children
..... type Σ 0..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).


ele-1: All FHIR elements must have a @value or children
Required Pattern: Practitioner
... period 1..1 Period The start and end time of the encounter
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Encounter.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classrequiredSDHREncounterClassValueSet
https://fhir-ig.digital.health.nz/sdhr/ValueSet/sdhr-encounter-class-valueset
from this IG
Encounter.subject.typeextensiblePattern: Patient
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Encounter.participant.individual.typeextensiblePattern: Practitioner
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorEncounterIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron