Tiro.health Implementation Guide
0.1.0 - ci-build

Tiro.health Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Tiro Questionnaire

Official URL: http://fhir.tiro.health/StructureDefinition/tiro-questionnaire Version: 0.1.0
Draft as of 2025-10-16 Computable Name: TiroQuestionnaire

Profile for a Tiro Questionnaire

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

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: Filtersdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: cnl-0, que-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... status ?!ΣC 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... Slices for item C 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
.... item:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... type C 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.
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... repeats C 0..1 boolean Whether the item may repeat
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
.... item:answer SC 0..1 BackboneElement Questions and sections within the Questionnaire
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... extension 0..0
....... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.
........ coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... version 0..1 string Version of the system - if relevant
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
......... userSelected 0..1 boolean If this coding was chosen directly by the user
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... type C 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.
Required Pattern: group
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... repeats C 0..1 boolean Whether the item may repeat
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Questionnaire.item.type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​extension:itemControl.​value[x] Base extensible Questionnaire Item UI Control Codes Value Set 📦5.2.0 FHIR Extensions Pack v5.2
Questionnaire.item:answer.​type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerOption.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​initial.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-1a error Questionnaire.item, Questionnaire.item:answer Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item, Questionnaire.item:answer Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item, Questionnaire.item:answer Display items cannot have child items type='display' implies item.empty()
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item, Questionnaire.item:answer Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item, Questionnaire.item:answer A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item, Questionnaire.item:answer Only coding, decimal, integer, date, dateTime, time, string or quantity items can have answerOption or answerValueSet (type='coding' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item, Questionnaire.item:answer Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen, Questionnaire.item:answer.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is boolean)
que-8 error Questionnaire.item, Questionnaire.item:answer Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item, Questionnaire.item:answer Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item, Questionnaire.item:answer Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or answerConstraint='optionOrString' or maxLength.empty()
que-11 error Questionnaire.item, Questionnaire.item:answer If one or more answerOption is present, initial cannot be present. Use answerOption.initialSelected instead answerOption.empty() or initial.empty()
que-12 error Questionnaire.item, Questionnaire.item:answer If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 1 implies enableBehavior.exists()
que-13 error Questionnaire.item, Questionnaire.item:answer Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item, Questionnaire.item:answer Can only have answerConstraint if answerOption or answerValueSet are present. (This is a warning because extensions may serve the same purpose) answerConstraint.exists() implies answerOption.exists() or answerValueSet.exists()
que-15 warning Questionnaire.item.linkId, Questionnaire.item:answer.linkId Link ids should be 255 characters or less $this.length() <= 255

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* Questionnaire A structured set of questions
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... Slices for item 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
.... item:answer S 0..1 BackboneElement Questions and sections within the Questionnaire
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... value[x]
........ coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Required Pattern: group

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: cnl-0, que-2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this questionnaire, represented as an absolute URI (globally unique)
Constraints: cnl-1
... identifier Σ 0..* Identifier Business identifier for questionnaire
... version Σ 0..1 string Business version of the questionnaire
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 0..1 string Name for this questionnaire (computer friendly)
... title Σ 0..1 string Name for this questionnaire (human friendly)
... derivedFrom Σ 0..* canonical(Questionnaire) Based on Questionnaire
... status ?!ΣC 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType Σ 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.
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description Σ 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed by the publisher
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code Σ 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... Slices for item C 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
.... item:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... definition 0..1 uri ElementDefinition - details for the item
..... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
..... prefix 0..1 string E.g. "1(a)", "2.5.3"
..... text 0..1 string Primary text for the item
..... type C 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.
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... disabledDisplay 0..1 code hidden | protected
Binding: QuestionnaireItemDisabledDisplay (required): Defines how disabled elements should be rendered
..... required C 0..1 boolean Whether the item must be included in data results
..... repeats C 0..1 boolean Whether the item may repeat
..... readOnly C 0..1 boolean Don't allow human editing
..... maxLength C 0..1 integer No more than these many characters
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
...... initialSelected 0..1 boolean Whether option is selected by default
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
..... item 0..* See item (Questionnaire) Nested questionnaire items
.... item:answer SC 0..1 BackboneElement Questions and sections within the Questionnaire
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... version 0..1 string Version of the system - if relevant
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
......... userSelected 0..1 boolean If this coding was chosen directly by the user
........ text Σ 0..1 string Plain text representation of the concept
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... definition 0..1 uri ElementDefinition - details for the item
..... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
..... prefix 0..1 string E.g. "1(a)", "2.5.3"
..... text 0..1 string Primary text for the item
..... type C 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.
Required Pattern: group
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... disabledDisplay 0..1 code hidden | protected
Binding: QuestionnaireItemDisabledDisplay (required): Defines how disabled elements should be rendered
..... required C 0..1 boolean Whether the item must be included in data results
..... repeats C 0..1 boolean Whether the item may repeat
..... readOnly C 0..1 boolean Don't allow human editing
..... maxLength C 0..1 integer No more than these many characters
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
...... initialSelected 0..1 boolean Whether option is selected by default
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
..... item 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base required All Languages 📍5.0.0 FHIR Std.
Questionnaire.versionAlgorithm[x] Base extensible Version Algorithm 📍5.0.0 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Questionnaire.subjectType Base required Resource Types 📍5.0.0 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item.type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.enableBehavior Base required Enable When Behavior 📍5.0.0 FHIR Std.
Questionnaire.item.disabledDisplay Base required Questionnaire Item Disabled Display 📍5.0.0 FHIR Std.
Questionnaire.item.answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​extension:itemControl.​value[x] Base extensible Questionnaire Item UI Control Codes Value Set 📦5.2.0 FHIR Extensions Pack v5.2
Questionnaire.item:answer.​code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableBehavior Base required Enable When Behavior 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​disabledDisplay Base required Questionnaire Item Disabled Display 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerOption.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​initial.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-1a error Questionnaire.item, Questionnaire.item:answer Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item, Questionnaire.item:answer Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item, Questionnaire.item:answer Display items cannot have child items type='display' implies item.empty()
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item, Questionnaire.item:answer Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item, Questionnaire.item:answer A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item, Questionnaire.item:answer Only coding, decimal, integer, date, dateTime, time, string or quantity items can have answerOption or answerValueSet (type='coding' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item, Questionnaire.item:answer Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen, Questionnaire.item:answer.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is boolean)
que-8 error Questionnaire.item, Questionnaire.item:answer Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item, Questionnaire.item:answer Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item, Questionnaire.item:answer Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or answerConstraint='optionOrString' or maxLength.empty()
que-11 error Questionnaire.item, Questionnaire.item:answer If one or more answerOption is present, initial cannot be present. Use answerOption.initialSelected instead answerOption.empty() or initial.empty()
que-12 error Questionnaire.item, Questionnaire.item:answer If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 1 implies enableBehavior.exists()
que-13 error Questionnaire.item, Questionnaire.item:answer Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item, Questionnaire.item:answer Can only have answerConstraint if answerOption or answerValueSet are present. (This is a warning because extensions may serve the same purpose) answerConstraint.exists() implies answerOption.exists() or answerValueSet.exists()
que-15 warning Questionnaire.item.linkId, Questionnaire.item:answer.linkId Link ids should be 255 characters or less $this.length() <= 255

This structure is derived from Questionnaire

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Must-Support: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Questionnaire.item (ordered, Open at End)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: cnl-0, que-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... status ?!ΣC 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... Slices for item C 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
.... item:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... type C 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.
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... repeats C 0..1 boolean Whether the item may repeat
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
.... item:answer SC 0..1 BackboneElement Questions and sections within the Questionnaire
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... extension 0..0
....... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.
........ coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... version 0..1 string Version of the system - if relevant
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
......... userSelected 0..1 boolean If this coding was chosen directly by the user
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... type C 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.
Required Pattern: group
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... repeats C 0..1 boolean Whether the item may repeat
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Questionnaire.item.type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​extension:itemControl.​value[x] Base extensible Questionnaire Item UI Control Codes Value Set 📦5.2.0 FHIR Extensions Pack v5.2
Questionnaire.item:answer.​type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerOption.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​initial.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-1a error Questionnaire.item, Questionnaire.item:answer Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item, Questionnaire.item:answer Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item, Questionnaire.item:answer Display items cannot have child items type='display' implies item.empty()
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item, Questionnaire.item:answer Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item, Questionnaire.item:answer A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item, Questionnaire.item:answer Only coding, decimal, integer, date, dateTime, time, string or quantity items can have answerOption or answerValueSet (type='coding' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item, Questionnaire.item:answer Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen, Questionnaire.item:answer.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is boolean)
que-8 error Questionnaire.item, Questionnaire.item:answer Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item, Questionnaire.item:answer Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item, Questionnaire.item:answer Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or answerConstraint='optionOrString' or maxLength.empty()
que-11 error Questionnaire.item, Questionnaire.item:answer If one or more answerOption is present, initial cannot be present. Use answerOption.initialSelected instead answerOption.empty() or initial.empty()
que-12 error Questionnaire.item, Questionnaire.item:answer If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 1 implies enableBehavior.exists()
que-13 error Questionnaire.item, Questionnaire.item:answer Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item, Questionnaire.item:answer Can only have answerConstraint if answerOption or answerValueSet are present. (This is a warning because extensions may serve the same purpose) answerConstraint.exists() implies answerOption.exists() or answerValueSet.exists()
que-15 warning Questionnaire.item.linkId, Questionnaire.item:answer.linkId Link ids should be 255 characters or less $this.length() <= 255

Differential View

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* Questionnaire A structured set of questions
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... Slices for item 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
.... item:answer S 0..1 BackboneElement Questions and sections within the Questionnaire
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... value[x]
........ coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Required Pattern: group

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
Constraints: cnl-0, que-2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:renderType S 1..1 canonical() Render Type
URL: http://fhir.tiro.health/StructureDefinition/render-type
.... extension:orientation 0..1 code Item Orientation
URL: http://fhir.tiro.health/StructureDefinition/orientation
Binding: Questionnaire Item Orientation (required)
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this questionnaire, represented as an absolute URI (globally unique)
Constraints: cnl-1
... identifier Σ 0..* Identifier Business identifier for questionnaire
... version Σ 0..1 string Business version of the questionnaire
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 0..1 string Name for this questionnaire (computer friendly)
... title Σ 0..1 string Name for this questionnaire (human friendly)
... derivedFrom Σ 0..* canonical(Questionnaire) Based on Questionnaire
... status ?!ΣC 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType Σ 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.
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description Σ 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed by the publisher
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code Σ 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... Slices for item C 0..* BackboneElement Questions and sections within the Questionnaire
Slice: Ordered, Open At End by value:extension(http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl)
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
.... item:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... definition 0..1 uri ElementDefinition - details for the item
..... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
..... prefix 0..1 string E.g. "1(a)", "2.5.3"
..... text 0..1 string Primary text for the item
..... type C 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.
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... disabledDisplay 0..1 code hidden | protected
Binding: QuestionnaireItemDisabledDisplay (required): Defines how disabled elements should be rendered
..... required C 0..1 boolean Whether the item must be included in data results
..... repeats C 0..1 boolean Whether the item may repeat
..... readOnly C 0..1 boolean Don't allow human editing
..... maxLength C 0..1 integer No more than these many characters
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
...... initialSelected 0..1 boolean Whether option is selected by default
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
..... item 0..* See item (Questionnaire) Nested questionnaire items
.... item:answer SC 0..1 BackboneElement Questions and sections within the Questionnaire
Constraints: que-1a, que-1b, que-1c, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, que-14
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:itemControl S 1..1 (Complex) E.g. Fly-over, Table, Checkbox, Combo-box, Lookup, etc.
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
......... system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/questionnaire-item-control
......... version 0..1 string Version of the system - if relevant
......... code 1..1 code Symbol in syntax defined by the system
Fixed Value: list
......... display 1..1 string Representation defined by the system
Fixed Value: Answer Container
......... userSelected 0..1 boolean If this coding was chosen directly by the user
........ text Σ 0..1 string Plain text representation of the concept
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId C 1..1 string Unique id for item in questionnaire
Constraints: que-15
..... definition 0..1 uri ElementDefinition - details for the item
..... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
..... prefix 0..1 string E.g. "1(a)", "2.5.3"
..... text 0..1 string Primary text for the item
..... type C 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.
Required Pattern: group
..... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... question 1..1 string The linkId of question that determines whether item is enabled/disabled
...... operator C 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
...... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... answerBoolean boolean
....... answerDecimal decimal
....... answerInteger integer
....... answerDate date
....... answerDateTime dateTime
....... answerTime time
....... answerString string
....... answerCoding Coding
....... answerQuantity Quantity
....... answerReference Reference(Resource)
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... disabledDisplay 0..1 code hidden | protected
Binding: QuestionnaireItemDisabledDisplay (required): Defines how disabled elements should be rendered
..... required C 0..1 boolean Whether the item must be included in data results
..... repeats C 0..1 boolean Whether the item may repeat
..... readOnly C 0..1 boolean Don't allow human editing
..... maxLength C 0..1 integer No more than these many characters
..... answerConstraint C 0..1 code optionsOnly | optionsOrType | optionsOrString
Binding: QuestionnaireAnswerConstraint (required): Indicates differnt modes for restricting values when options or valueset are specified
..... answerValueSet C 0..1 canonical(ValueSet) ValueSet containing permitted answers
..... answerOption C 0..* BackboneElement Permitted answer
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueInteger integer
....... valueDate date
....... valueTime time
....... valueString string
....... valueCoding Coding
....... valueReference Reference(Resource)
...... initialSelected 0..1 boolean Whether option is selected by default
..... initial C 0..* BackboneElement Initial value(s) when item is first rendered
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
....... valueBoolean boolean
....... valueDecimal decimal
....... valueInteger integer
....... valueDate date
....... valueDateTime dateTime
....... valueTime time
....... valueString string
....... valueUri uri
....... valueAttachment Attachment
....... valueCoding Coding
....... valueQuantity Quantity
....... valueReference Reference(Resource)
..... item 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base required All Languages 📍5.0.0 FHIR Std.
Questionnaire.versionAlgorithm[x] Base extensible Version Algorithm 📍5.0.0 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Questionnaire.subjectType Base required Resource Types 📍5.0.0 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item.type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.enableBehavior Base required Enable When Behavior 📍5.0.0 FHIR Std.
Questionnaire.item.disabledDisplay Base required Questionnaire Item Disabled Display 📍5.0.0 FHIR Std.
Questionnaire.item.answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​extension:itemControl.​value[x] Base extensible Questionnaire Item UI Control Codes Value Set 📦5.2.0 FHIR Extensions Pack v5.2
Questionnaire.item:answer.​code Base example Questionnaire Question Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​type Base required Questionnaire Item Type 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.operator Base required Questionnaire Item Operator 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableWhen.answer[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​enableBehavior Base required Enable When Behavior 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​disabledDisplay Base required Questionnaire Item Disabled Display 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerConstraint Base required Questionnaire answer constraints value set 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​answerOption.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.
Questionnaire.item:answer.​initial.value[x] Base example Questionnaire Answer Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-1a error Questionnaire.item, Questionnaire.item:answer Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item, Questionnaire.item:answer Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item, Questionnaire.item:answer Display items cannot have child items type='display' implies item.empty()
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item, Questionnaire.item:answer Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item, Questionnaire.item:answer A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item, Questionnaire.item:answer Only coding, decimal, integer, date, dateTime, time, string or quantity items can have answerOption or answerValueSet (type='coding' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item, Questionnaire.item:answer Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen, Questionnaire.item:answer.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is boolean)
que-8 error Questionnaire.item, Questionnaire.item:answer Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item, Questionnaire.item:answer Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item, Questionnaire.item:answer Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or answerConstraint='optionOrString' or maxLength.empty()
que-11 error Questionnaire.item, Questionnaire.item:answer If one or more answerOption is present, initial cannot be present. Use answerOption.initialSelected instead answerOption.empty() or initial.empty()
que-12 error Questionnaire.item, Questionnaire.item:answer If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 1 implies enableBehavior.exists()
que-13 error Questionnaire.item, Questionnaire.item:answer Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item, Questionnaire.item:answer Can only have answerConstraint if answerOption or answerValueSet are present. (This is a warning because extensions may serve the same purpose) answerConstraint.exists() implies answerOption.exists() or answerValueSet.exists()
que-15 warning Questionnaire.item.linkId, Questionnaire.item:answer.linkId Link ids should be 255 characters or less $this.length() <= 255

This structure is derived from Questionnaire

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Must-Support: 3 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Questionnaire.item (ordered, Open at End)

 

Other representations of profile: CSV, Excel, Schematron