復健訓練量表實作指引 (Rehabilitation Training Scale Implementation Guide)
0.2.2 - ci-build

復健訓練量表實作指引 (Rehabilitation Training Scale Implementation Guide), published by Kimsber. This guide is not an authorized publication; it is the continuous build for version 0.2.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Rehabotics-Medical-Techology-Co/RTS-IG/ and changes regularly. See the Directory of published versions

Resource Profile: 評估問卷

Official URL: https://build.fhir.org/ig/Rehabotics-Medical-Techology-Co/RTS-IG/StructureDefinition/SPACQuestionnaire Version: 0.2.2
Draft as of 2026-10-08 Computable Name: SPACQuestionnaire

評估問卷的結構化定義,實際問卷內容請參考Structure: Questionnaire,可依據前者內容做為範本進行擴充

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
Questionnaire.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Questionnaire.Slices for extension Content/Rules for all slices
Questionnaire.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
Questionnaire.Slices for extension.extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
Questionnaire.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.Slices for extension.extension:performerType This element must be supported. 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
Questionnaire.Slices for extension.extension:assemble-expectation This element must be supported. 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
Questionnaire.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. C 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
Questionnaire.identifier This element must be supported. This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 0..1 string Business version of the questionnaire
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.subjectType This element must be supported. This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.subjectType.Slices for extension Content/Rules for all slices
Questionnaire.subjectType.Slices for extension.extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire
Questionnaire.item This element must be supported. C 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, sdc-1, que-1a, que-1b, que-1c, que-14, sdc-obsn-1
Questionnaire.item.Slices for extension Content/Rules for all slices
Questionnaire.item.Slices for extension.extension:hidden This element must be supported. 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
Questionnaire.item.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.item.Slices for extension.extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.item.Slices for extension.extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
Questionnaire.item.Slices for extension.extension:unit This element must be supported. 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
Questionnaire.item.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.item.Slices for extension.extension:isSubject 0..1 boolean Marks that this item identifies a different subject
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject
Questionnaire.item.Slices for extension.extension:observationExtractEntry 0..1 (Complex) Allows defining the expectations for the Observation entry to allow cross-referencing across extracted resources.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractEntry
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. C 1..1 string Unique id for item in questionnaire
Constraints: que-15
Questionnaire.item.code This element must be supported. C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.code.Slices for extension Content/Rules for all slices
Questionnaire.item.code.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.prefix This element must be supported. 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.required This element must be supported. C 0..1 boolean Whether the item must be included in data results
Questionnaire.item.repeats This element must be supported. C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly This element must be supported. C 0..1 boolean Don't allow human editing
Questionnaire.item.answerValueSet This element must be supported. C 0..1 canonical(SDC Value Set(4.0.0)) Valueset containing permitted answers
Questionnaire.item.answerOption This element must be supported. C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.Slices for value[x] This element must be supported. 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Questionnaire.item.answerOption.Slices for value[x].valueInteger integer
Questionnaire.item.answerOption.Slices for value[x].valueDate date
Questionnaire.item.answerOption.Slices for value[x].valueTime time
Questionnaire.item.answerOption.Slices for value[x].valueString string
Questionnaire.item.answerOption.Slices for value[x].valueCoding Coding
Questionnaire.item.answerOption.Slices for value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueCoding This element must be supported. C 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueReference This element must be supported. C 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
Questionnaire.item.initial This element must be supported. C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] This element must be supported. 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item This element must be supported. C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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 Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire If 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-4 error Questionnaire If 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-5 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
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-0 warning Questionnaire Name 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-1 error Questionnaire.item Group 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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only '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-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item 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 Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()
sdc-obsn-1 error Questionnaire.item Display items cannot be extracted to Observations. type!='display' or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract').empty()

This structure is derived from SDCQuestionnaireExtractObservation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Questionnaire.identifier This element must be supported. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.name This element must be supported. 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
Questionnaire.id This element is included in summaries. 0..1 id Logical id of this artifact
Questionnaire.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Questionnaire.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Questionnaire.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Questionnaire.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Questionnaire.contained 0..* Resource Contained, inline Resources
Questionnaire.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
Questionnaire.Slices for extension.extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
Questionnaire.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.Slices for extension.extension:performerType This element must be supported. 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
Questionnaire.Slices for extension.extension:assemble-expectation This element must be supported. 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
Questionnaire.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. C 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
Questionnaire.identifier This element must be supported. This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 0..1 string Business version of the questionnaire
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
Questionnaire.subjectType This element must be supported. This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.subjectType.id 0..1 string xml:id (or equivalent in JSON)
Questionnaire.subjectType.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.subjectType.Slices for extension.extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
Questionnaire.subjectType.value 0..1 string Primitive value for code
Questionnaire.date This element is included in summaries. 0..1 dateTime Date last changed
Questionnaire.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
Questionnaire.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire
Questionnaire.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Questionnaire.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Questionnaire.purpose 0..1 markdown Why this questionnaire is defined
Questionnaire.copyright 0..1 markdown Use and/or publishing restrictions
Questionnaire.approvalDate 0..1 date When the questionnaire was approved by publisher
Questionnaire.lastReviewDate 0..1 date When the questionnaire was last reviewed
Questionnaire.effectivePeriod This element is included in summaries. 0..1 Period When the questionnaire is expected to be used
Questionnaire.code This element is included in summaries. 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item This element must be supported. C 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, sdc-1, que-1a, que-1b, que-1c, que-14, sdc-obsn-1
Questionnaire.item.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.item.Slices for extension.extension:hidden This element must be supported. 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
Questionnaire.item.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.item.Slices for extension.extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.item.Slices for extension.extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
Questionnaire.item.Slices for extension.extension:unit This element must be supported. 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
Questionnaire.item.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.item.Slices for extension.extension:isSubject 0..1 boolean Marks that this item identifies a different subject
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject
Questionnaire.item.Slices for extension.extension:observationExtractEntry 0..1 (Complex) Allows defining the expectations for the Observation entry to allow cross-referencing across extracted resources.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractEntry
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. C 1..1 string Unique id for item in questionnaire
Constraints: que-15
Questionnaire.item.definition 0..1 uri ElementDefinition - details for the item
Questionnaire.item.code This element must be supported. C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.code.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.code.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Questionnaire.item.code.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.code.system This element is included in summaries. 0..1 uri Identity of the terminology system
Questionnaire.item.code.version This element is included in summaries. 0..1 string Version of the system - if relevant
Questionnaire.item.code.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
Questionnaire.item.code.display This element is included in summaries. 0..1 string Representation defined by the system
Questionnaire.item.code.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Questionnaire.item.prefix This element must be supported. 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.text 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.enableWhen.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
Questionnaire.item.required This element must be supported. C 0..1 boolean Whether the item must be included in data results
Questionnaire.item.repeats This element must be supported. C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly This element must be supported. C 0..1 boolean Don't allow human editing
Questionnaire.item.maxLength C 0..1 integer No more than this many characters
Questionnaire.item.answerValueSet This element must be supported. C 0..1 canonical(SDC Value Set(4.0.0)) Valueset containing permitted answers
Questionnaire.item.answerOption This element must be supported. C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.answerOption.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.Slices for value[x] This element must be supported. 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Questionnaire.item.answerOption.Slices for value[x].valueInteger integer
Questionnaire.item.answerOption.Slices for value[x].valueDate date
Questionnaire.item.answerOption.Slices for value[x].valueTime time
Questionnaire.item.answerOption.Slices for value[x].valueString string
Questionnaire.item.answerOption.Slices for value[x].valueCoding Coding
Questionnaire.item.answerOption.Slices for value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueCoding This element must be supported. C 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueReference This element must be supported. C 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
Questionnaire.item.answerOption.initialSelected 0..1 boolean Whether option is selected by default
Questionnaire.item.initial This element must be supported. C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.initial.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] This element must be supported. 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item This element must be supported. C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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 Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire If 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-4 error Questionnaire If 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-5 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
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-0 warning Questionnaire Name 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-1 error Questionnaire.item Group 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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only '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-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item 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 Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()
sdc-obsn-1 error Questionnaire.item Display items cannot be extracted to Observations. type!='display' or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract').empty()

This structure is derived from SDCQuestionnaireExtractObservation

Summary

Mandatory: 1 element
Must-Support: 3 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
Questionnaire.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Questionnaire.Slices for extension Content/Rules for all slices
Questionnaire.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
Questionnaire.Slices for extension.extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
Questionnaire.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.Slices for extension.extension:performerType This element must be supported. 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
Questionnaire.Slices for extension.extension:assemble-expectation This element must be supported. 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
Questionnaire.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. C 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
Questionnaire.identifier This element must be supported. This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 0..1 string Business version of the questionnaire
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.subjectType This element must be supported. This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.subjectType.Slices for extension Content/Rules for all slices
Questionnaire.subjectType.Slices for extension.extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire
Questionnaire.item This element must be supported. C 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, sdc-1, que-1a, que-1b, que-1c, que-14, sdc-obsn-1
Questionnaire.item.Slices for extension Content/Rules for all slices
Questionnaire.item.Slices for extension.extension:hidden This element must be supported. 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
Questionnaire.item.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.item.Slices for extension.extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.item.Slices for extension.extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
Questionnaire.item.Slices for extension.extension:unit This element must be supported. 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
Questionnaire.item.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.item.Slices for extension.extension:isSubject 0..1 boolean Marks that this item identifies a different subject
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject
Questionnaire.item.Slices for extension.extension:observationExtractEntry 0..1 (Complex) Allows defining the expectations for the Observation entry to allow cross-referencing across extracted resources.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractEntry
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. C 1..1 string Unique id for item in questionnaire
Constraints: que-15
Questionnaire.item.code This element must be supported. C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.code.Slices for extension Content/Rules for all slices
Questionnaire.item.code.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.prefix This element must be supported. 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.required This element must be supported. C 0..1 boolean Whether the item must be included in data results
Questionnaire.item.repeats This element must be supported. C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly This element must be supported. C 0..1 boolean Don't allow human editing
Questionnaire.item.answerValueSet This element must be supported. C 0..1 canonical(SDC Value Set(4.0.0)) Valueset containing permitted answers
Questionnaire.item.answerOption This element must be supported. C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.Slices for value[x] This element must be supported. 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Questionnaire.item.answerOption.Slices for value[x].valueInteger integer
Questionnaire.item.answerOption.Slices for value[x].valueDate date
Questionnaire.item.answerOption.Slices for value[x].valueTime time
Questionnaire.item.answerOption.Slices for value[x].valueString string
Questionnaire.item.answerOption.Slices for value[x].valueCoding Coding
Questionnaire.item.answerOption.Slices for value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueCoding This element must be supported. C 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueReference This element must be supported. C 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
Questionnaire.item.initial This element must be supported. C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] This element must be supported. 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item This element must be supported. C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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 Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire If 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-4 error Questionnaire If 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-5 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
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-0 warning Questionnaire Name 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-1 error Questionnaire.item Group 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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only '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-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item 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 Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()
sdc-obsn-1 error Questionnaire.item Display items cannot be extracted to Observations. type!='display' or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract').empty()

Differential View

This structure is derived from SDCQuestionnaireExtractObservation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Questionnaire.identifier This element must be supported. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.name This element must be supported. 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire
Questionnaire.item 1..* BackboneElement Questions and sections within the Questionnaire

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Questionnaire C 0..* SDCQuestionnaireExtractObservation(4.0.0) Extractable Questionnaire - Observation
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
Questionnaire.id This element is included in summaries. 0..1 id Logical id of this artifact
Questionnaire.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Questionnaire.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Questionnaire.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Questionnaire.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Questionnaire.contained 0..* Resource Contained, inline Resources
Questionnaire.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
Questionnaire.Slices for extension.extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
Questionnaire.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.Slices for extension.extension:performerType This element must be supported. 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
Questionnaire.Slices for extension.extension:assemble-expectation This element must be supported. 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
Questionnaire.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Questionnaire.url This element must be supported. This element is included in summaries. C 1..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
Questionnaire.identifier This element must be supported. This element is included in summaries. 0..* Identifier Additional identifier for the questionnaire
Questionnaire.version This element must be supported. This element is included in summaries. 0..1 string Business version of the questionnaire
Questionnaire.name This element must be supported. This element is included in summaries. C 0..1 string Name for this questionnaire (computer friendly)
Questionnaire.title This element must be supported. This element is included in summaries. 0..1 string Name for this questionnaire (human friendly)
Questionnaire.derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
Questionnaire.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
Questionnaire.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
Questionnaire.subjectType This element must be supported. This element is included in summaries. 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
Questionnaire.subjectType.id 0..1 string xml:id (or equivalent in JSON)
Questionnaire.subjectType.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.subjectType.Slices for extension.extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
Questionnaire.subjectType.value 0..1 string Primitive value for code
Questionnaire.date This element is included in summaries. 0..1 dateTime Date last changed
Questionnaire.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
Questionnaire.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Questionnaire.description This element must be supported. 0..1 markdown Natural language description of the questionnaire
Questionnaire.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Questionnaire.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Questionnaire.purpose 0..1 markdown Why this questionnaire is defined
Questionnaire.copyright 0..1 markdown Use and/or publishing restrictions
Questionnaire.approvalDate 0..1 date When the questionnaire was approved by publisher
Questionnaire.lastReviewDate 0..1 date When the questionnaire was last reviewed
Questionnaire.effectivePeriod This element is included in summaries. 0..1 Period When the questionnaire is expected to be used
Questionnaire.code This element is included in summaries. 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item This element must be supported. C 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, sdc-1, que-1a, que-1b, que-1c, que-14, sdc-obsn-1
Questionnaire.item.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Questionnaire.item.Slices for extension.extension:hidden This element must be supported. 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
Questionnaire.item.Slices for extension.extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
Questionnaire.item.Slices for extension.extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
Questionnaire.item.Slices for extension.extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
Questionnaire.item.Slices for extension.extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
Questionnaire.item.Slices for extension.extension:unit This element must be supported. 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
Questionnaire.item.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.Slices for extension.extension:observationExtractCategory 0..* CodeableConcept Extract the Observation.category value(s) from Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category
Questionnaire.item.Slices for extension.extension:isSubject 0..1 boolean Marks that this item identifies a different subject
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject
Questionnaire.item.Slices for extension.extension:observationExtractEntry 0..1 (Complex) Allows defining the expectations for the Observation entry to allow cross-referencing across extracted resources.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractEntry
Questionnaire.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.linkId This element must be supported. C 1..1 string Unique id for item in questionnaire
Constraints: que-15
Questionnaire.item.definition 0..1 uri ElementDefinition - details for the item
Questionnaire.item.code This element must be supported. C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
Questionnaire.item.code.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.code.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Questionnaire.item.code.Slices for extension.extension:observationExtract This element must be supported. 0..1 boolean, code Marks an item (or all items in a questionnaire) to be extracted using the observation-based approach
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract
Binding: Observation Extract Relationship Value Set (required)
Questionnaire.item.code.system This element is included in summaries. 0..1 uri Identity of the terminology system
Questionnaire.item.code.version This element is included in summaries. 0..1 string Version of the system - if relevant
Questionnaire.item.code.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
Questionnaire.item.code.display This element is included in summaries. 0..1 string Representation defined by the system
Questionnaire.item.code.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Questionnaire.item.prefix This element must be supported. 0..1 string E.g. "1(a)", "2.5.3"
Questionnaire.item.text 0..1 string Primary text for the item
Questionnaire.item.type This element must be supported. 1..1 code group | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
Questionnaire.item.enableWhen This element is a modifier element. C 0..* BackboneElement Only allow data when
Constraints: que-7
Questionnaire.item.enableWhen.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.enableWhen.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.enableWhen.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.enableWhen.question 1..1 string Question that determines whether item is enabled
Questionnaire.item.enableWhen.operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
Questionnaire.item.enableWhen.answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.enableWhen.answer[x].answerBoolean boolean
Questionnaire.item.enableWhen.answer[x].answerDecimal decimal
Questionnaire.item.enableWhen.answer[x].answerInteger integer
Questionnaire.item.enableWhen.answer[x].answerDate date
Questionnaire.item.enableWhen.answer[x].answerDateTime dateTime
Questionnaire.item.enableWhen.answer[x].answerTime time
Questionnaire.item.enableWhen.answer[x].answerString string
Questionnaire.item.enableWhen.answer[x].answerCoding Coding
Questionnaire.item.enableWhen.answer[x].answerQuantity Quantity
Questionnaire.item.enableWhen.answer[x].answerReference Reference(Resource)
Questionnaire.item.enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
Questionnaire.item.required This element must be supported. C 0..1 boolean Whether the item must be included in data results
Questionnaire.item.repeats This element must be supported. C 0..1 boolean Whether the item may repeat
Questionnaire.item.readOnly This element must be supported. C 0..1 boolean Don't allow human editing
Questionnaire.item.maxLength C 0..1 integer No more than this many characters
Questionnaire.item.answerValueSet This element must be supported. C 0..1 canonical(SDC Value Set(4.0.0)) Valueset containing permitted answers
Questionnaire.item.answerOption This element must be supported. C 0..* BackboneElement Permitted answer
Questionnaire.item.answerOption.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.answerOption.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.answerOption.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.answerOption.Slices for value[x] This element must be supported. 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Questionnaire.item.answerOption.Slices for value[x].valueInteger integer
Questionnaire.item.answerOption.Slices for value[x].valueDate date
Questionnaire.item.answerOption.Slices for value[x].valueTime time
Questionnaire.item.answerOption.Slices for value[x].valueString string
Questionnaire.item.answerOption.Slices for value[x].valueCoding Coding
Questionnaire.item.answerOption.Slices for value[x].valueReference Reference(Resource)
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueCoding This element must be supported. C 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
Questionnaire.item.answerOption.Slices for value[x].value[x]:valueReference This element must be supported. C 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
Questionnaire.item.answerOption.initialSelected 0..1 boolean Whether option is selected by default
Questionnaire.item.initial This element must be supported. C 0..* BackboneElement Initial value(s) when item is first rendered
Questionnaire.item.initial.id 0..1 string Unique id for inter-element referencing
Questionnaire.item.initial.extension 0..* Extension Additional content defined by implementations
Questionnaire.item.initial.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Questionnaire.item.initial.value[x] This element must be supported. 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Questionnaire.item.initial.value[x].valueBoolean boolean
Questionnaire.item.initial.value[x].valueDecimal decimal
Questionnaire.item.initial.value[x].valueInteger integer
Questionnaire.item.initial.value[x].valueDate date
Questionnaire.item.initial.value[x].valueDateTime dateTime
Questionnaire.item.initial.value[x].valueTime time
Questionnaire.item.initial.value[x].valueString string
Questionnaire.item.initial.value[x].valueUri uri
Questionnaire.item.initial.value[x].valueAttachment Attachment
Questionnaire.item.initial.value[x].valueCoding Coding
Questionnaire.item.initial.value[x].valueQuantity Quantity
Questionnaire.item.initial.value[x].valueReference Reference(Resource)
Questionnaire.item.item This element must be supported. C 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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 Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire If 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-4 error Questionnaire If 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-5 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
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-0 warning Questionnaire Name 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-1 error Questionnaire.item Group 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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only '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-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item 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 Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()
sdc-obsn-1 error Questionnaire.item Display items cannot be extracted to Observations. type!='display' or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract').empty()

This structure is derived from SDCQuestionnaireExtractObservation

Summary

Mandatory: 1 element
Must-Support: 3 elements

 

Other representations of profile: CSV, Excel, Schematron