HL7® FHIR® New Zealand Base Implementation Guide
3.1.0 - Draft

HL7® FHIR® New Zealand Base Implementation Guide, published by HL7 New Zealand. This guide is not an authorized publication; it is the continuous build for version 3.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7NZ/nzbase/ and changes regularly. See the Directory of published versions

Extension: ScopeOfPractice

Official URL: http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice Version: 1.0.0
Active as of 2025-09-12 Computable Name: ScopeOfPractice

The type or range of health services a practitioner is authorised to perform, as determined by the Responsible Authority or professional body.

Context of Use

Example of extension

    <extension
               url="http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice">
      <extension url="code">
        <valueCodeableConcept>
          <coding>
            <system
                    value="https://standards.digital.health.nz/ns/practitioner-scope-of-practice-code"/>
            <code value="CHIR"/>
            <display value="Chiropractor"/>
          </coding>
        </valueCodeableConcept>
      </extension>
      <extension url="period">
        <valuePeriod>
          <start value="2020-01-01"/>
          <end value="2020-12-31"/>
        </valuePeriod>
      </extension>
    </extension>

Note that this is applied to the qualification element, not the resource root. See the full example below.

Example instances

Practitioner with scope of practice

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Extension Content

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

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:code 0..1 Extension Extension
..... extension 0..0
..... url 1..1 uri "code"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: Scope of practice (preferred)
.... extension:period 0..1 Extension Extension
..... extension 0..0
..... url 1..1 uri "period"
..... value[x] 0..1 Period Value of extension
... url 1..1 uri "http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice"
... value[x] 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Extension
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:code 0..1 Extension Extension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "code"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: Scope of practice (preferred)
.... extension:period 0..1 Extension Extension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "period"
..... value[x] 0..1 Period Value of extension
... url 1..1 uri "http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: The type or range of health services a practitioner is authorised to perform, as determined by the Responsible Authority or professional body.

  • code: CodeableConcept: A code identifying the services that the practitioner is permitted to perform
  • period: Period: The period the scope of practice is effective

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:code 0..1 Extension Extension
..... extension 0..0
..... url 1..1 uri "code"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: Scope of practice (preferred)
.... extension:period 0..1 Extension Extension
..... extension 0..0
..... url 1..1 uri "period"
..... value[x] 0..1 Period Value of extension
... url 1..1 uri "http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice"
... value[x] 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension 0..* Extension Extension
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:code 0..1 Extension Extension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "code"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: Scope of practice (preferred)
.... extension:period 0..1 Extension Extension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "period"
..... value[x] 0..1 Period Value of extension
... url 1..1 uri "http://hl7.org.nz/fhir/StructureDefinition/scope-of-practice"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: The type or range of health services a practitioner is authorised to perform, as determined by the Responsible Authority or professional body.

  • code: CodeableConcept: A code identifying the services that the practitioner is permitted to perform
  • period: Period: The period the scope of practice is effective

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSetURI
Extension.extension:code.value[x]preferredPractitionerScopeOfPractice(a valid code from Scope of practice)
https://nzhts.digital.health.nz/fhir/ValueSet/practitioner-scope-of-practice-code
From this IG

Constraints

IdGradePath(s)DetailsRequirements
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()