HSAAP Special Authority FHIR Implementation Guide
0.1.1 - draft New Zealand flag

HSAAP Special Authority FHIR Implementation Guide - Local Development build (v0.1.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Extension: Approval Detail

Official URL: https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-detail Version: 0.1.1
Draft as of 2026-10-16 Computable Name: ApprovalDetail

Approval facts that have no existing FHIR element, including the Approval status and the provider (pharmacy) identity (D16, D24). Approval status is carried here because ClaimResponse.status is bound to the financial resource status value set, which cannot express ACTIVE, CANCELLED or REVOKED.

formNumber and formVersion are facts about the Approval. They deliberately do not reuse the Questionnaire.url|version canonical used for submission (D16).

Context of Use

    This extension may be used on the following element(s)

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: doco
Extension C 0..* Extension Approval Detail
Constraints: sa-detail-1
Extension.extension 2..* Extension Extension
Extension.Slices for extension Content/Rules for all slices
Extension.Slices for extension.extension:approvalType This element must be supported. 1..1 Extension CHEM | RISK | HOSP | EXCP | TEMPLETON ... (legacy ZST.8)
Extension.Slices for extension.extension:approvalType.extension 0..0 Extension
Extension.Slices for extension.extension:approvalType.url 1..1 uri "approvalType"
Extension.Slices for extension.extension:approvalType.value[x] 0..1 code Value of extension
Binding: SA Approval Type (extensible)
Extension.Slices for extension.extension:status This element must be supported. 1..1 Extension ACTIVE | CANCELLED | REVOKED
Extension.Slices for extension.extension:status.extension 0..0 Extension
Extension.Slices for extension.extension:status.url 1..1 uri "status"
Extension.Slices for extension.extension:status.value[x] 0..1 code Value of extension
Binding: SA Approval Status (required)
Extension.Slices for extension.extension:formNumber This element must be supported. 0..1 Extension Schedule form number. Absent for EXCP and TEMPLETON.
Extension.Slices for extension.extension:formNumber.extension 0..0 Extension
Extension.Slices for extension.extension:formNumber.url 1..1 uri "formNumber"
Extension.Slices for extension.extension:formNumber.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:formVersion This element must be supported. 0..1 Extension Schedule form version. Null-tolerant: absent for pre-HSAAP Approvals.
Extension.Slices for extension.extension:formVersion.extension 0..0 Extension
Extension.Slices for extension.extension:formVersion.url 1..1 uri "formVersion"
Extension.Slices for extension.extension:formVersion.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:providerIdType This element must be supported. 0..1 Extension CLAIMANT_NUMBER
Extension.Slices for extension.extension:providerIdType.extension 0..0 Extension
Extension.Slices for extension.extension:providerIdType.url 1..1 uri "providerIdType"
Extension.Slices for extension.extension:providerIdType.value[x] 0..1 code Value of extension
Binding: SA Provider Id Type (required)
Extension.Slices for extension.extension:providerId This element must be supported. 0..1 Extension Pharmacy (provider) identifier
Extension.Slices for extension.extension:providerId.extension 0..0 Extension
Extension.Slices for extension.extension:providerId.url 1..1 uri "providerId"
Extension.Slices for extension.extension:providerId.value[x] 0..1 Identifier Value of extension
Extension.Slices for extension.extension:providerId.value[x].system 1..1 uri The namespace for the identifier value
Extension.Slices for extension.extension:providerId.value[x].value 1..1 string The value that is unique
Extension.url 1..1 uri "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-detail"

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension C 0..* Extension Approval Detail
Constraints: sa-detail-1
Extension.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:approvalType This element must be supported. 1..1 Extension CHEM | RISK | HOSP | EXCP | TEMPLETON ... (legacy ZST.8)
Extension.Slices for extension.extension:approvalType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:approvalType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:approvalType.url 1..1 uri "approvalType"
Extension.Slices for extension.extension:approvalType.value[x] 0..1 code Value of extension
Binding: SA Approval Type (extensible)
Extension.Slices for extension.extension:status This element must be supported. 1..1 Extension ACTIVE | CANCELLED | REVOKED
Extension.Slices for extension.extension:status.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:status.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:status.url 1..1 uri "status"
Extension.Slices for extension.extension:status.value[x] 0..1 code Value of extension
Binding: SA Approval Status (required)
Extension.Slices for extension.extension:formNumber This element must be supported. 0..1 Extension Schedule form number. Absent for EXCP and TEMPLETON.
Extension.Slices for extension.extension:formNumber.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:formNumber.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:formNumber.url 1..1 uri "formNumber"
Extension.Slices for extension.extension:formNumber.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:formVersion This element must be supported. 0..1 Extension Schedule form version. Null-tolerant: absent for pre-HSAAP Approvals.
Extension.Slices for extension.extension:formVersion.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:formVersion.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:formVersion.url 1..1 uri "formVersion"
Extension.Slices for extension.extension:formVersion.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:providerIdType This element must be supported. 0..1 Extension CLAIMANT_NUMBER
Extension.Slices for extension.extension:providerIdType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerIdType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:providerIdType.url 1..1 uri "providerIdType"
Extension.Slices for extension.extension:providerIdType.value[x] 0..1 code Value of extension
Binding: SA Provider Id Type (required)
Extension.Slices for extension.extension:providerId This element must be supported. 0..1 Extension Pharmacy (provider) identifier
Extension.Slices for extension.extension:providerId.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerId.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:providerId.url 1..1 uri "providerId"
Extension.Slices for extension.extension:providerId.value[x] 0..1 Identifier Value of extension
Extension.Slices for extension.extension:providerId.value[x].id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerId.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:providerId.value[x].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 .
Extension.Slices for extension.extension:providerId.value[x].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.
Extension.Slices for extension.extension:providerId.value[x].system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Extension.Slices for extension.extension:providerId.value[x].value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Extension.Slices for extension.extension:providerId.value[x].period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Extension.Slices for extension.extension:providerId.value[x].assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Extension.url 1..1 uri "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-detail"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: Approval facts that have no existing FHIR element, including the Approval status and the provider (pharmacy) identity (D16, D24). Approval status is carried here because ClaimResponse.status is bound to the financial resource status value set, which cannot express ACTIVE, CANCELLED or REVOKED. formNumber and formVersion are facts about the Approval. They deliberately do not reuse the Questionnaire.url|version canonical used for submission (D16).

  • approvalType: code: An Extension
  • status: code: An Extension
  • formNumber: string: An Extension
  • formVersion: string: An Extension
  • providerIdType: code: An Extension
  • providerId: Identifier: The pharmacy's identifier, system-qualified so that the approval-provider-id token search can match on system|value. Present only where the Approval carries a provider, e.g. a dispensing-linked Approval.

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension C 0..* Extension Approval Detail
Constraints: sa-detail-1
Extension.extension 2..* Extension Extension
Extension.Slices for extension Content/Rules for all slices
Extension.Slices for extension.extension:approvalType This element must be supported. 1..1 Extension CHEM | RISK | HOSP | EXCP | TEMPLETON ... (legacy ZST.8)
Extension.Slices for extension.extension:approvalType.extension 0..0 Extension
Extension.Slices for extension.extension:approvalType.url 1..1 uri "approvalType"
Extension.Slices for extension.extension:approvalType.value[x] 0..1 code Value of extension
Binding: SA Approval Type (extensible)
Extension.Slices for extension.extension:status This element must be supported. 1..1 Extension ACTIVE | CANCELLED | REVOKED
Extension.Slices for extension.extension:status.extension 0..0 Extension
Extension.Slices for extension.extension:status.url 1..1 uri "status"
Extension.Slices for extension.extension:status.value[x] 0..1 code Value of extension
Binding: SA Approval Status (required)
Extension.Slices for extension.extension:formNumber This element must be supported. 0..1 Extension Schedule form number. Absent for EXCP and TEMPLETON.
Extension.Slices for extension.extension:formNumber.extension 0..0 Extension
Extension.Slices for extension.extension:formNumber.url 1..1 uri "formNumber"
Extension.Slices for extension.extension:formNumber.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:formVersion This element must be supported. 0..1 Extension Schedule form version. Null-tolerant: absent for pre-HSAAP Approvals.
Extension.Slices for extension.extension:formVersion.extension 0..0 Extension
Extension.Slices for extension.extension:formVersion.url 1..1 uri "formVersion"
Extension.Slices for extension.extension:formVersion.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:providerIdType This element must be supported. 0..1 Extension CLAIMANT_NUMBER
Extension.Slices for extension.extension:providerIdType.extension 0..0 Extension
Extension.Slices for extension.extension:providerIdType.url 1..1 uri "providerIdType"
Extension.Slices for extension.extension:providerIdType.value[x] 0..1 code Value of extension
Binding: SA Provider Id Type (required)
Extension.Slices for extension.extension:providerId This element must be supported. 0..1 Extension Pharmacy (provider) identifier
Extension.Slices for extension.extension:providerId.extension 0..0 Extension
Extension.Slices for extension.extension:providerId.url 1..1 uri "providerId"
Extension.Slices for extension.extension:providerId.value[x] 0..1 Identifier Value of extension
Extension.Slices for extension.extension:providerId.value[x].system 1..1 uri The namespace for the identifier value
Extension.Slices for extension.extension:providerId.value[x].value 1..1 string The value that is unique
Extension.url 1..1 uri "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-detail"
Extension.value[x] 0..0 Value of extension

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension C 0..* Extension Approval Detail
Constraints: sa-detail-1
Extension.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:approvalType This element must be supported. 1..1 Extension CHEM | RISK | HOSP | EXCP | TEMPLETON ... (legacy ZST.8)
Extension.Slices for extension.extension:approvalType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:approvalType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:approvalType.url 1..1 uri "approvalType"
Extension.Slices for extension.extension:approvalType.value[x] 0..1 code Value of extension
Binding: SA Approval Type (extensible)
Extension.Slices for extension.extension:status This element must be supported. 1..1 Extension ACTIVE | CANCELLED | REVOKED
Extension.Slices for extension.extension:status.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:status.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:status.url 1..1 uri "status"
Extension.Slices for extension.extension:status.value[x] 0..1 code Value of extension
Binding: SA Approval Status (required)
Extension.Slices for extension.extension:formNumber This element must be supported. 0..1 Extension Schedule form number. Absent for EXCP and TEMPLETON.
Extension.Slices for extension.extension:formNumber.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:formNumber.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:formNumber.url 1..1 uri "formNumber"
Extension.Slices for extension.extension:formNumber.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:formVersion This element must be supported. 0..1 Extension Schedule form version. Null-tolerant: absent for pre-HSAAP Approvals.
Extension.Slices for extension.extension:formVersion.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:formVersion.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:formVersion.url 1..1 uri "formVersion"
Extension.Slices for extension.extension:formVersion.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:providerIdType This element must be supported. 0..1 Extension CLAIMANT_NUMBER
Extension.Slices for extension.extension:providerIdType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerIdType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:providerIdType.url 1..1 uri "providerIdType"
Extension.Slices for extension.extension:providerIdType.value[x] 0..1 code Value of extension
Binding: SA Provider Id Type (required)
Extension.Slices for extension.extension:providerId This element must be supported. 0..1 Extension Pharmacy (provider) identifier
Extension.Slices for extension.extension:providerId.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerId.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:providerId.url 1..1 uri "providerId"
Extension.Slices for extension.extension:providerId.value[x] 0..1 Identifier Value of extension
Extension.Slices for extension.extension:providerId.value[x].id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:providerId.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:providerId.value[x].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 .
Extension.Slices for extension.extension:providerId.value[x].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.
Extension.Slices for extension.extension:providerId.value[x].system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Extension.Slices for extension.extension:providerId.value[x].value This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Extension.Slices for extension.extension:providerId.value[x].period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Extension.Slices for extension.extension:providerId.value[x].assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
Extension.url 1..1 uri "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-detail"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: Approval facts that have no existing FHIR element, including the Approval status and the provider (pharmacy) identity (D16, D24). Approval status is carried here because ClaimResponse.status is bound to the financial resource status value set, which cannot express ACTIVE, CANCELLED or REVOKED. formNumber and formVersion are facts about the Approval. They deliberately do not reuse the Questionnaire.url|version canonical used for submission (D16).

  • approvalType: code: An Extension
  • status: code: An Extension
  • formNumber: string: An Extension
  • formVersion: string: An Extension
  • providerIdType: code: An Extension
  • providerId: Identifier: The pharmacy's identifier, system-qualified so that the approval-provider-id token search can match on system|value. Present only where the Approval carries a provider, e.g. a dispensing-linked Approval.

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:approvalType.​value[x] Base extensible SA Approval Type 📦0.1.1 This IG
Extension.extension:status.​value[x] Base required SA Approval Status 📦0.1.1 This IG
Extension.extension:providerIdType.​value[x] Base required SA Provider Id Type 📦0.1.1 This IG
Extension.extension:providerId.​value[x].use Base required IdentifierUse 📍4.0.1 FHIR Std.
Extension.extension:providerId.​value[x].type Base extensible IdentifierType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
sa-detail-1 error Extension providerIdType and providerId are either both present or both absent. extension('providerIdType').exists() = extension('providerId').exists()