Structured Data Capture
4.0.0 - STU 4 International flag

Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions

Resource Profile: Adaptive Questionnaire - search

Official URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-adapt-srch Version: 4.0.0
Standards status: Trial-use Maturity Level: 4 Computable Name: SDCQuestionnaireAdaptSearch
Other Identifiers: OID:2.16.840.1.113883.4.642.40.17.42.9

Describes the elements that should be exposed in a response to a search for adaptive questionnaires.

Scope and Usage

This profile adds additional constraints and extensions to the base Search Questionnaire Profile. It identifies core elements and extensions that must be supported and highlights other elements that, while not required, should be exposed in a response to a search for adaptive questionnaires.

Instances complying with this profile will not list any questions. To determine what questions to display, it is necessary to use the next-question operation. Further information on how adaptive questionnaire is implemented can be found on the Adaptive Forms page.

Usages:

  • Examples for this Profile: SDCPHQ9

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3, sdc-adaptive-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D]] Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D
.... extension:copyrightLabel 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.copyrightLabel
.... extension:assembledFrom 0..* canonical() Identifies subQuestionnaires used in the assembly process
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 0..1 string Business version of the questionnaire
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental SΣ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
... date SΣ 1..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher (organization or individual)
... description S 0..1 markdown Natural language description of the questionnaire
... useContext SΣ 0..* SDCUsageContext The context that the content is intended to support
... jurisdiction Σ 0..1 CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose S 0..1 markdown Why this questionnaire is defined
... copyright S 0..1 markdown Use and/or publishing restrictions
... code SΣ 0..1 Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.

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.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.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.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}$')
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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').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/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')

This structure is derived from SDCQuestionnaireSearch

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: sdc-adaptive-1
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... item 0..0

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3, sdc-adaptive-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D]] Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D
.... extension:copyrightLabel 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.copyrightLabel
.... extension:assembledFrom 0..* canonical() Identifies subQuestionnaires used in the assembly process
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
... identifier SΣ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 0..1 string Business version of the questionnaire
... name ΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental SΣ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
... date SΣ 1..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description S 0..1 markdown Natural language description of the questionnaire
... useContext SΣ 0..* SDCUsageContext The context that the content is intended to support
... jurisdiction Σ 0..1 CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose S 0..1 markdown Why this questionnaire is defined
... copyright S 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code SΣ 0..1 Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').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/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')

This structure is derived from SDCQuestionnaireSearch

Summary

Mandatory: 2 elements
Must-Support: 1 element
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Maturity: 4

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3, sdc-adaptive-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D]] Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D
.... extension:copyrightLabel 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.copyrightLabel
.... extension:assembledFrom 0..* canonical() Identifies subQuestionnaires used in the assembly process
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 0..1 string Business version of the questionnaire
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental SΣ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
... date SΣ 1..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher (organization or individual)
... description S 0..1 markdown Natural language description of the questionnaire
... useContext SΣ 0..* SDCUsageContext The context that the content is intended to support
... jurisdiction Σ 0..1 CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose S 0..1 markdown Why this questionnaire is defined
... copyright S 0..1 markdown Use and/or publishing restrictions
... code SΣ 0..1 Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.

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.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.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.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}$')
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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').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/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')

Differential View

This structure is derived from SDCQuestionnaireSearch

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: sdc-adaptive-1
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... item 0..0

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCQuestionnaireSearch Adaptive Questionnaire - search
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3, sdc-adaptive-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D]] Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm%5Bx%5D
.... extension:copyrightLabel 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.copyrightLabel
.... extension:assembledFrom 0..* canonical() Identifies subQuestionnaires used in the assembly process
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom
.... extension:questionnaireAdaptive 1..* boolean, url Marks a questionnaire as being adaptive.
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive
.... extension:submissionEndpoint S 0..* uri Where to send answers
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
Constraints: cnl-1
... identifier SΣ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 0..1 string Business version of the questionnaire
... name ΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental SΣ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 0..* code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
... date SΣ 1..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description S 0..1 markdown Natural language description of the questionnaire
... useContext SΣ 0..* SDCUsageContext The context that the content is intended to support
... jurisdiction Σ 0..1 CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose S 0..1 markdown Why this questionnaire is defined
... copyright S 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code SΣ 0..1 Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
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-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').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/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-adaptive-1 error Questionnaire If multiple types are present, all must have a value of type 'url'. If no URL is specified, the location to hit the $next-question operation is undefined but typically assumed to be the server hosting the Questionnaire. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').count()>1 implies extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive').all(value = 'url')

This structure is derived from SDCQuestionnaireSearch

Summary

Mandatory: 2 elements
Must-Support: 1 element
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Maturity: 4

 

Other representations of profile: CSV, Excel, Schematron