Data Sharing Framework (DSF) Implementation Guide
2.0.0 - ci-build

Data Sharing Framework (DSF) Implementation Guide - Local Development build (v2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: DSF Questionnaire ( Abstract )

Official URL: http://dsf.dev/fhir/StructureDefinition/questionnaire Version: 1.5.0
Active as of 2024-01-03 Computable Name: DSF Questionnaire

A Questionnaire in the DSF context with restrictions to enforce DSF specific details.

Usages:

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

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 This is an abstract profile.
A structured set of questions
Constraints: que-0, que-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... date Σ 1..1 dateTime Date last changed
... Slices for item C 1..* BackboneElement Questions and sections within the Questionnaire
Slice: Unordered, Closed by value:linkId
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, type-code, required-exists
.... item:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
..... type 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 Question that determines whether item is enabled
...... operator 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)
..... 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:user-task-id C 1..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 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.
Fixed Value: string
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:business-key C 0..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 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.
Fixed Value: string
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:@default 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
..... text 1..1 string Primary text for the item
..... type 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.
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
From the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultOnly 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' 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-6errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-7errorQuestionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is Boolean)
que-8errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* Questionnaire This is an abstract profile.
A structured set of questions
... url 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... version 1..1 string Business version of the questionnaire
... date 1..1 dateTime Date last changed
.... item:user-task-id 1..1 BackboneElement Questions and sections within the Questionnaire
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Fixed Value: string
..... enableWhen 0..0
..... required 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerOption 0..0
..... initial 0..0
..... item 0..0
.... item:business-key 0..1 BackboneElement Questions and sections within the Questionnaire
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Fixed Value: string
..... enableWhen 0..0
..... required 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerOption 0..0
..... initial 0..0
..... item 0..0
.... item:@default 0..* BackboneElement Questions and sections within the Questionnaire
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
..... enableWhen 0..0
..... answerOption 0..0
..... initial 0..0
..... item 0..0

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire This is an abstract profile.
A structured set of questions
Constraints: que-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: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version Σ 1..1 string Business version of the questionnaire
... 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) Instantiates protocol or definition
... status ?!Σ 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 Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (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: Jurisdiction ValueSet (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
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... 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 1..* BackboneElement Questions and sections within the Questionnaire
Slice: Unordered, Closed by value:linkId
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, type-code, required-exists
.... 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 1..1 string Unique id for item in questionnaire
..... 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 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 Question that determines whether item is enabled
...... operator 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.
..... 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 this many characters
..... 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 C 0..* See item (Questionnaire) Nested questionnaire items
.... item:user-task-id C 1..1 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
..... 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 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 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.
Fixed Value: string
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:business-key C 0..1 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
..... 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 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 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.
Fixed Value: string
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:@default 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
..... 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 1..1 string Unique id for item in questionnaire
..... text 1..1 string Primary text for the item
..... type 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.
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
From the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
From the FHIR Standard
Questionnaire.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
From the FHIR Standard
Questionnaire.codeexampleQuestionnaireQuestionCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
From the FHIR Standard
Questionnaire.item.codeexampleQuestionnaireQuestionCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
From the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:@default.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultOnly 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' 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-6errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-7errorQuestionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is Boolean)
que-8errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')

This structure is derived from Questionnaire

Summary

Mandatory: 6 elements(3 nested mandatory elements)
Fixed: 8 elements
Prohibited: 21 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Questionnaire.item (Closed)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire This is an abstract profile.
A structured set of questions
Constraints: que-0, que-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... date Σ 1..1 dateTime Date last changed
... Slices for item C 1..* BackboneElement Questions and sections within the Questionnaire
Slice: Unordered, Closed by value:linkId
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, type-code, required-exists
.... item:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
..... type 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 Question that determines whether item is enabled
...... operator 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)
..... 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:user-task-id C 1..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 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.
Fixed Value: string
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:business-key C 0..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 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.
Fixed Value: string
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:@default 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... linkId 1..1 string Unique id for item in questionnaire
..... text 1..1 string Primary text for the item
..... type 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.
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
From the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultOnly 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' 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-6errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-7errorQuestionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is Boolean)
que-8errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')

Differential View

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* Questionnaire This is an abstract profile.
A structured set of questions
... url 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... version 1..1 string Business version of the questionnaire
... date 1..1 dateTime Date last changed
.... item:user-task-id 1..1 BackboneElement Questions and sections within the Questionnaire
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Fixed Value: string
..... enableWhen 0..0
..... required 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerOption 0..0
..... initial 0..0
..... item 0..0
.... item:business-key 0..1 BackboneElement Questions and sections within the Questionnaire
..... linkId 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Fixed Value: string
..... enableWhen 0..0
..... required 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... answerOption 0..0
..... initial 0..0
..... item 0..0
.... item:@default 0..* BackboneElement Questions and sections within the Questionnaire
..... definition 0..0
..... code 0..0
..... prefix 0..0
..... text 1..1 string Primary text for the item
..... type 1..1 code group | display | boolean | decimal | integer | date | dateTime +
..... enableWhen 0..0
..... answerOption 0..0
..... initial 0..0
..... item 0..0

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* Questionnaire This is an abstract profile.
A structured set of questions
Constraints: que-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: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version Σ 1..1 string Business version of the questionnaire
... 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) Instantiates protocol or definition
... status ?!Σ 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 Σ 1..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (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: Jurisdiction ValueSet (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
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... 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 1..* BackboneElement Questions and sections within the Questionnaire
Slice: Unordered, Closed by value:linkId
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, type-code, required-exists
.... 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 1..1 string Unique id for item in questionnaire
..... 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 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 Question that determines whether item is enabled
...... operator 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.
..... 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 this many characters
..... 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 C 0..* See item (Questionnaire) Nested questionnaire items
.... item:user-task-id C 1..1 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
..... 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 1..1 string Unique id for item in questionnaire
Fixed Value: user-task-id
..... text 1..1 string Primary text for the item
Fixed Value: The user-task-id of the process execution
..... type 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.
Fixed Value: string
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:business-key C 0..1 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
..... 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 1..1 string Unique id for item in questionnaire
Fixed Value: business-key
..... text 1..1 string Primary text for the item
Fixed Value: The business-key of the process execution
..... type 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.
Fixed Value: string
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... required C 0..1 boolean Whether the item must be included in data results
Fixed Value: true
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers
.... item:@default 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
..... 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 1..1 string Unique id for item in questionnaire
..... text 1..1 string Primary text for the item
..... type 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.
..... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
..... 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 this many characters
..... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
From the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
From the FHIR Standard
Questionnaire.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
From the FHIR Standard
Questionnaire.codeexampleQuestionnaireQuestionCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
From the FHIR Standard
Questionnaire.item.codeexampleQuestionnaireQuestionCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
From the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:user-task-id.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:user-task-id.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.typerequiredFixed Value: string
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:business-key.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:business-key.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
From the FHIR Standard
Questionnaire.item:@default.enableWhen.answer[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|4.0.1
From the FHIR Standard
Questionnaire.item:@default.answerOption.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard
Questionnaire.item:@default.initial.value[x]exampleQuestionnaireAnswerCodes(a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultOnly 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' 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-6errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-7errorQuestionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is Boolean)
que-8errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.item, Questionnaire.item:user-task-id, Questionnaire.item:business-key, Questionnaire.item:@defaultCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
required-existserrorQuestionnaire.itemRequired field must be set if type is not display
: (type != 'display') implies required.exists()
type-codeerrorQuestionnaire.itemConstrains available types from ValueSet 'http://hl7.org/fhir/item-type'
: (type = 'display') or (type = 'string') or (type = 'text') or (type = 'integer') or (type = 'decimal') or (type = 'boolean') or (type = 'date') or (type = 'time') or (type = 'dateTime') or (type = 'reference') or (type = 'url')

This structure is derived from Questionnaire

Summary

Mandatory: 6 elements(3 nested mandatory elements)
Fixed: 8 elements
Prohibited: 21 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Questionnaire.item (Closed)

 

Other representations of profile: CSV, Excel, Schematron