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

Resource Profile: SA Questionnaire

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

The HNZ interpretation of a Pharmac Special Authority form at a point in time (D3), derived by the pharmac-direct-query-service.

Phase 1: the Questionnaire canonical is an identifier, not a resolvable address. No Questionnaire resource is published at the canonical URL in Phase 1; form definitions remain base64 encoded XML and MathML retrieved from the pharmac-direct-query-service. This profile documents the constraints the canonical and linkId values must satisfy.

  • url is https://fhir-ig.digital.health.nz/special-authority/Questionnaire/{formNumber} and SHALL NOT contain | or #.
  • version is the form version (a truncation of form_definition_sha256) and SHALL be identical, character for character, to saFormVersion. No case folding, trimming or normalisation.
  • The linkId of each criterion is the criterionIdentifier: five characters, zero padded, numeric (D18).
  • Criteria items are not marked required, so a partial QuestionnaireResponse is valid against the profile.

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
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: que-0, que-2, sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.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
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.version This element must be supported. This element is included in summaries. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.item This element must be supported. C 0..* BackboneElement Questions and sections within the Questionnaire
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.required C 0..1 boolean SHALL NOT be true for criteria items
Questionnaire.item.answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
Questionnaire.item.answerOption C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.answerOption.value[x].valueInteger integer
Questionnaire.item.answerOption.value[x].valueDate date
Questionnaire.item.answerOption.value[x].valueTime time
Questionnaire.item.answerOption.value[x].valueString string
Questionnaire.item.answerOption.value[x].valueCoding Coding
Questionnaire.item.answerOption.value[x].valueReference Reference(Resource)
Questionnaire.item.initial C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.url This element must be supported. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.version This element must be supported. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.status This element must be supported. 1..1 code draft | active | retired | unknown
Questionnaire.item This element must be supported. 0..* BackboneElement Questions and sections within the Questionnaire
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Questionnaire.item.required 0..1 boolean SHALL NOT be true for criteria items

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: que-0, que-2, sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.id This element is included in summaries. 0..1 id Logical id of this artifact
Questionnaire.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Questionnaire.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
Questionnaire.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Questionnaire.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
Questionnaire.contained 0..* Resource Contained, inline Resources
Questionnaire.extension 0..* Extension Additional content defined by implementations
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.identifier This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
Questionnaire.subjectType This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.date This element is included in summaries. 0..1 dateTime Date last changed
Questionnaire.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
Questionnaire.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Questionnaire.description 0..1 markdown Natural language description of the questionnaire
Questionnaire.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Questionnaire.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Questionnaire.purpose 0..1 markdown Why this questionnaire is defined
Questionnaire.copyright 0..1 markdown Use and/or publishing restrictions
Questionnaire.approvalDate 0..1 date When the questionnaire was approved by publisher
Questionnaire.lastReviewDate 0..1 date When the questionnaire was last reviewed
Questionnaire.effectivePeriod This element is included in summaries. 0..1 Period When the questionnaire is expected to be used
Questionnaire.code This element is included in summaries. 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item This element must be supported. C 0..* BackboneElement Questions and sections within the Questionnaire
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13
Questionnaire.item.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.definition 0..1 uri ElementDefinition - details for the item
Questionnaire.item.code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.prefix 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.enableWhen.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
Questionnaire.item.required C 0..1 boolean SHALL NOT be true for criteria items
Questionnaire.item.repeats C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly C 0..1 boolean Don't allow human editing
Questionnaire.item.maxLength C 0..1 integer No more than this many characters
Questionnaire.item.answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
Questionnaire.item.answerOption C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.answerOption.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.answerOption.value[x].valueInteger integer
Questionnaire.item.answerOption.value[x].valueDate date
Questionnaire.item.answerOption.value[x].valueTime time
Questionnaire.item.answerOption.value[x].valueString string
Questionnaire.item.answerOption.value[x].valueCoding Coding
Questionnaire.item.answerOption.value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.initialSelected 0..1 boolean Whether option is selected by default
Questionnaire.item.initial C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.initial.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.enableBehavior Base required EnableWhenBehavior 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)

This structure is derived from Questionnaire

Summary

Mandatory: 2 elements
Must-Support: 9 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: que-0, que-2, sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.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
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.version This element must be supported. This element is included in summaries. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.item This element must be supported. C 0..* BackboneElement Questions and sections within the Questionnaire
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.required C 0..1 boolean SHALL NOT be true for criteria items
Questionnaire.item.answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
Questionnaire.item.answerOption C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.answerOption.value[x].valueInteger integer
Questionnaire.item.answerOption.value[x].valueDate date
Questionnaire.item.answerOption.value[x].valueTime time
Questionnaire.item.answerOption.value[x].valueString string
Questionnaire.item.answerOption.value[x].valueCoding Coding
Questionnaire.item.answerOption.value[x].valueReference Reference(Resource)
Questionnaire.item.initial C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)

Differential View

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.url This element must be supported. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.version This element must be supported. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.status This element must be supported. 1..1 code draft | active | retired | unknown
Questionnaire.item This element must be supported. 0..* BackboneElement Questions and sections within the Questionnaire
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Questionnaire.item.required 0..1 boolean SHALL NOT be true for criteria items

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: que-0, que-2, sa-q-1, sa-q-2, sa-q-3, sa-q-4, sa-q-5
Questionnaire.id This element is included in summaries. 0..1 id Logical id of this artifact
Questionnaire.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Questionnaire.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
Questionnaire.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Questionnaire.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
Questionnaire.contained 0..* Resource Contained, inline Resources
Questionnaire.extension 0..* Extension Additional content defined by implementations
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. 1..1 uri Canonical of the form: .../Questionnaire/{formNumber}
Questionnaire.identifier This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 1..1 string Form version - identical to saFormVersion
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
Questionnaire.subjectType This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.date This element is included in summaries. 0..1 dateTime Date last changed
Questionnaire.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
Questionnaire.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Questionnaire.description 0..1 markdown Natural language description of the questionnaire
Questionnaire.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Questionnaire.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Questionnaire.purpose 0..1 markdown Why this questionnaire is defined
Questionnaire.copyright 0..1 markdown Use and/or publishing restrictions
Questionnaire.approvalDate 0..1 date When the questionnaire was approved by publisher
Questionnaire.lastReviewDate 0..1 date When the questionnaire was last reviewed
Questionnaire.effectivePeriod This element is included in summaries. 0..1 Period When the questionnaire is expected to be used
Questionnaire.code This element is included in summaries. 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item This element must be supported. C 0..* BackboneElement Questions and sections within the Questionnaire
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13
Questionnaire.item.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. 1..1 string criterionIdentifier (five character, zero padded) for boolean/string items
Questionnaire.item.definition 0..1 uri ElementDefinition - details for the item
Questionnaire.item.code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.prefix 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.text This element must be supported. 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.enableWhen.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
Questionnaire.item.required C 0..1 boolean SHALL NOT be true for criteria items
Questionnaire.item.repeats C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly C 0..1 boolean Don't allow human editing
Questionnaire.item.maxLength C 0..1 integer No more than this many characters
Questionnaire.item.answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
Questionnaire.item.answerOption C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.answerOption.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.answerOption.value[x].valueInteger integer
Questionnaire.item.answerOption.value[x].valueDate date
Questionnaire.item.answerOption.value[x].valueTime time
Questionnaire.item.answerOption.value[x].valueString string
Questionnaire.item.answerOption.value[x].valueCoding Coding
Questionnaire.item.answerOption.value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.initialSelected 0..1 boolean Whether option is selected by default
Questionnaire.item.initial C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.initial.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.enableBehavior Base required EnableWhenBehavior 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
sa-q-1 error Questionnaire Questionnaire.url SHALL NOT contain a pipe ('|') or a fragment marker ('#'). url.contains('|').not() and url.contains('#').not()
sa-q-2 warning Questionnaire Questionnaire.url SHOULD sit under the HSAAP Special Authority Questionnaire canonical base. url.startsWith('https://fhir-ig.digital.health.nz/special-authority/Questionnaire/')
sa-q-3 error Questionnaire Only group, display, boolean and string items are permitted (Assumption 1). repeat(item).all(type = 'group' or type = 'display' or type = 'boolean' or type = 'string')
sa-q-4 error Questionnaire The linkId of every boolean or string item SHALL be a criterionIdentifier: a five character, zero padded numeric string (D18). repeat(item).where(type = 'boolean' or type = 'string').all(linkId.matches('^[0-9]{5}$'))
sa-q-5 error Questionnaire Criteria items SHALL NOT be marked required, so that a partial QuestionnaireResponse is valid against the profile (D14). repeat(item).where(type = 'boolean' or type = 'string').all(required.exists().not() or required = false)

This structure is derived from Questionnaire

Summary

Mandatory: 2 elements
Must-Support: 9 elements

 

Other representations of profile: CSV, Excel, Schematron