HL7中国FHIR Connectathon测试实施指南
2024.4.23 - release

本指南适用于HL7中国的FHIR Connectathon测试。

Resource Profile: 调查问卷结构定义

Defining URL:http://hl7.org.cn/fhir/StructureDefinition/profile-extractable-questionnaire
Version:2024.4.23
Name:ExtractableQuestionnaire
Title:调查问卷结构定义
Status:Active as of 2024-04-23 21:03:23+0800
Definition:

支持数据提取的调查问卷资源本地化定义。

Publisher:HL7中国. HL7中国,
Source Resource:XML / JSON / Turtle

本定义的正式URL为:

http://hl7.org.cn/fhir/StructureDefinition/profile-extractable-questionnaire

定义内容的视图

关于定义、差异、快照以及如何解读这些表示法

这种结构源自 Questionnaire

Summary

Mandatory: 12 elements (1 nested mandatory element)
Must-Support: 12 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Questionnaire.item.answerOption.value[x] is sliced based on the value of type:$this

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Questionnaire.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Questionnaire.subjectTyperequiredPattern: Person
http://hl7.org/fhir/ValueSet/resource-types|5.0.0
from the FHIR Standard
Questionnaire.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Questionnaire.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemType
http://hl7.org/fhir/ValueSet/item-type|5.0.0
from the FHIR Standard
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|5.0.0
from the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.enableBehaviorrequiredEnableWhenBehavior
http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior|5.0.0
from the FHIR Standard
Questionnaire.item.disabledDisplayrequiredQuestionnaireItemDisabledDisplay
http://hl7.org/fhir/ValueSet/questionnaire-disabled-display|5.0.0
from the FHIR Standard
Questionnaire.item.answerConstraintrequiredQuestionnaireAnswerConstraint
http://hl7.org/fhir/ValueSet/questionnaire-answer-constraint|5.0.0
from the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.answerOption.value[x]:valueStringexampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningQuestionnaireName 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-1warningQuestionnaire.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
que-1aerrorQuestionnaire.itemGroup items must have nested items when Questionanire is complete
: (type='group' and %resource.status='complete') implies item.empty().not()
que-1bwarningQuestionnaire.itemGroups should have items
: type='group' implies item.empty().not()
que-1cerrorQuestionnaire.itemDisplay items cannot have child items
: type='display' implies item.empty()
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.itemDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4errorQuestionnaire.itemA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5errorQuestionnaire.itemOnly coding, decimal, integer, date, dateTime, time, string or quantity items can have answerOption or answerValueSet
: (type='coding' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6errorQuestionnaire.itemRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-7errorQuestionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is boolean)
que-8errorQuestionnaire.itemInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9errorQuestionnaire.itemRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10errorQuestionnaire.itemMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or answerConstraint='optionOrString' or maxLength.empty()
que-11errorQuestionnaire.itemIf one or more answerOption is present, initial cannot be present. Use answerOption.initialSelected instead
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 1 implies enableBehavior.exists()
que-13errorQuestionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
que-14warningQuestionnaire.itemCan only have answerConstraint if answerOption or answerValueSet are present. (This is a warning because extensions may serve the same purpose)
: answerConstraint.exists() implies answerOption.exists() or answerValueSet.exists()
que-15warningQuestionnaire.item.linkIdLink ids should be 255 characters or less
: $this.length() <= 255