New Zealand Health Terminology Service (NZHTS) Implementation Guide
0.1.0 - ci-build

New Zealand Health Terminology Service (NZHTS) Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

Behavior: Capability Statements

The following artifacts define the specific capabilities that different types of systems are expected to have in order to comply with this implementation guide. Systems conforming to this implementation guide are expected to declare conformance to one or more of the following capability statements.

FHIR Conformance statement for Ontoserver®

NZHTS instance of Ontoserver implementing the HL7 FHIR terminology server specification

Structures: Resource Profiles

These define constraints on FHIR resources for systems conforming to this implementation guide.

New Zealand Immunisation Reaction Event

An Observation recording an adverse reaction event following a COVID-19 immunisation, where the reaction is coded from a reference set that exists only in the SNOMED CT New Zealand edition.

The profile adds one meaningful constraint: a required binding of Observation.code to a SNOMED CT implicit ValueSet - the members of the New Zealand COVID-19 adverse reaction event from immunisation reference set. There is no locally defined ValueSet resource; the binding points straight at the implicit URL:

http://snomed.info/sct/21000210109?fhir_vs=refset/61231000210108

Reading that URL left to right:

  • http://snomed.info/sct - the SNOMED CT code system. This is unchanged whatever edition is in play; there is no separate "NZ SNOMED" code system URI. The edition is named in Coding.version (see Naming the edition in instances below), not in Coding.system.
  • /21000210109 - the module id of the SNOMED CT New Zealand edition. This is what scopes resolution to NZ edition content, and it is the reason the URL resolves at all: the reference set is NZ edition content and is not present in the international edition.
  • ?fhir_vs=refset/61231000210108 - expand to the members of this reference set.

A terminology server holding the NZ edition (such as NZHTS) expands this URL directly, so the reference set does not have to be copied into this IG as an extensional ValueSet - contrast NZSmokingStatus, which enumerates its concepts and must be maintained by hand as the underlying content changes.

The binding is what makes the reference set enforceable: a validator configured against a server holding the NZ edition will expand the implicit URL and reject any code that is not a member.

Naming the edition in instances

Conforming instances must set Coding.version to the SNOMED CT NZ edition URI:

http://snomed.info/sct/21000210109

This is not decoration. It is what lets a validator - or any consumer - determine which terminology server can answer questions about the code. The terminology server registry declares NZHTS authoritative for the pattern:

http://snomed.info/sct|http://snomed.info/sct/21000210109*

which matches on system and version. A coding that gives only system = http://snomed.info/sct is unqualified SNOMED CT: it will be routed to a general-purpose terminology server, which does not hold the NZ edition, cannot expand this reference set, and will fail to validate the code. Omitting the version is the single most common reason NZ edition content fails validation in an IG build.

Version pinning

Both the implicit ValueSet URL above and Coding.version use the bare edition URI, with no release appended, meaning "the current release of the NZ edition". Reference set membership therefore shifts as the edition is updated. Where a reproducible expansion is needed - a published conformance test, or a frozen release of a downstream IG - either may be pinned to a specific release:

http://snomed.info/sct/21000210109/version/20260401?fhir_vs=refset/61231000210108
http://snomed.info/sct/21000210109/version/20260401

Pinning trades currency for reproducibility: a pinned URI stops resolving once that release is no longer served. This profile and its examples use the unpinned edition URI so that they track the current NZ edition.

Use in context

In R4 an immunisation reaction is referenced from Immunization.reaction.detail, a Reference(Observation). See ImmunisationReactionEventExample and the Immunization that refers to it.

Terminology: Value Sets

These define sets of codes used by systems conforming to this implementation guide.

New Zealand Smoking Status

An extensional, version-pinned representation of the New Zealand smoking status reference set.

Terminology: Code Systems

These define new code systems used by systems conforming to this implementation guide.

SNOMED CT NZ Edition Smoking Status Fragment

A non-authoritative fragment of the SNOMED CT New Zealand Edition containing the concepts used by the New Zealand smoking status reference set. This resource exists to support local IG publication and validation; SNOMED CT NZ Edition remains the authoritative terminology source.

Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

COVID-19 Immunisation Example

The COVID-19 immunisation that the adverse reaction event followed. Immunization.reaction.detail references the Observation carrying the NZ-edition-coded reaction.

As with the reaction, vaccineCode.version names the SNOMED CT New Zealand edition, so that the coding resolves against a server holding that edition.

Immunisation Reaction Event Example

An adverse reaction event following a COVID-19 immunisation. Observation.code carries a SNOMED CT concept that is a member of the New Zealand COVID-19 adverse reaction event from immunisation reference set (61231000210108), enforced by the required binding on NzImmunisationReactionEvent.

Coding.system is the plain SNOMED CT URI - there is no separate "NZ SNOMED" code system. The NZ edition is named in Coding.version, which carries the edition URI:

http://snomed.info/sct/21000210109

Setting the version is not merely documentation. It is what allows a validator, or any consumer, to work out which terminology server can answer questions about this code. The terminology server registry declares NZHTS authoritative for http://snomed.info/sct|http://snomed.info/sct/21000210109* - a match on system and version. A coding that omits the version is just unqualified SNOMED CT, and will be routed to a general-purpose server that does not hold the NZ edition and cannot resolve NZ edition content.

The version here is the edition URI, with no release appended, meaning "the current release of the NZ edition". It could be pinned to a specific release - http://snomed.info/sct/21000210109/version/20260401 - which buys reproducibility at the cost of going stale when that release is no longer served.

Other

These are resources that are used within this implementation guide that do not fit into one of the other categories.

smoking-status-example