JASPEHR(the JApanese Standard Platform for EHRs) 実装ガイド
1.0.0 - draft

JASPEHR(the JApanese Standard Platform for EHRs) 実装ガイド - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: QuestionnaireJaspehr

Official URL: http://www.hosp.ncgm.go.jp/JASPEHR/fhir/StructureDefinition/jaspehr-questionnaire Version: 1.0.0
Draft as of 2025-05-19 Computable Name: QuestionnaireJaspehr

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
que-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
que-2: The link ids for groups and questions must be unique within the questionnaire
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:variable C 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
var-1: Variable expressions must have a name
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/variable"
..... value[x] 1..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
...... language Σ 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
ele-1: All FHIR elements must have a @value or children
.... extension:launchContext C 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
sdcext-1: Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name SΣC 1..1 string Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte)
ele-1: All FHIR elements must have a @value or children
... title SΣ 1..1 string Name for this questionnaire (human friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... subjectType Σ 1..1 code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


ele-1: All FHIR elements must have a @value or children
... item SC 1..* BackboneElement Questions and sections within the Questionnaire
ele-1: All FHIR elements must have a @value or children
que-1: Group items must have nested items, display items cannot have nested items
que-3: Display items cannot have a "code" asserted
que-4: A question cannot have both answerOption and answerValueSet
que-5: Only 'choice' and 'open-choice' items can have answerValueSet
que-6: Required and repeat aren't permitted for display items
que-8: Initial values can't be specified for groups or display items
que-9: Read-only can't be specified for "display" items
que-10: Maximum length can only be declared for simple question types
que-11: If one or more answerOption is present, initial[x] must be missing
que-12: If there are more than one enableWhen, enableBehavior must be specified
que-13: Can only have multiple initial values for repeating items
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
...... Slices for value[x] 1..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.


ele-1: All FHIR elements must have a @value or children
....... value[x]:valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
ele-1: All FHIR elements must have a @value or children
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.


ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/regex"
...... Slices for value[x] 1..1 string Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueString 1..1 string Value of extension
ele-1: All FHIR elements must have a @value or children
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/minValue"
...... value[x] 1..1 Value of extension
ele-1: All FHIR elements must have a @value or children
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/maxValue"
...... value[x] 1..1 Value of extension
ele-1: All FHIR elements must have a @value or children
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type.


ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... linkId S 1..1 string Unique id for item in questionnaire
ele-1: All FHIR elements must have a @value or children
.... text S 0..1 string Primary text for the item
ele-1: All FHIR elements must have a @value or children
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
ele-1: All FHIR elements must have a @value or children
.... enableWhen ?!C 0..1 BackboneElement Only allow data when
ele-1: All FHIR elements must have a @value or children
que-7: If the operator is 'exists', the value must be a boolean
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... question 1..1 string Question that determines whether item is enabled
ele-1: All FHIR elements must have a @value or children
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.


ele-1: All FHIR elements must have a @value or children
Fixed Value: =
..... answer[x] SC 1..1 Coding Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
.... required SC 0..1 boolean Whether the item must be included in data results
ele-1: All FHIR elements must have a @value or children
.... repeats C 0..1 boolean Whether the item may repeat
ele-1: All FHIR elements must have a @value or children
.... maxLength SC 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
ele-1: All FHIR elements must have a @value or children
.... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
ele-1: All FHIR elements must have a @value or children
.... answerOption SC 0..* BackboneElement Permitted answer
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... value[x] 1..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
.... initial C 0..1 BackboneElement Initial value(s) when item is first rendered
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item SC 0..* See item (Questionnaire) Nested questionnaire items
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
Questionnaire.item.extension:itemControl.value[x]extensibleQuestionnaireItemUIControlCodes
http://hl7.org/fhir/ValueSet/questionnaire-item-control
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:itemExtractionContext.value[x]requiredResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG
Questionnaire.item.enableWhen.operatorrequiredFixed Value: =
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
from the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.itemGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.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 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6errorQuestionnaire.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' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.itemIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
sdcext-1errorQuestionnaire.extension:launchContextTypes must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
: (extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Patient') and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies (extension('type').value='Patient' or extension('type').value='Practitioner' or extension('type').value='PractitionerRole' or extension('type').value='RelatedPerson')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Encounter') and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Location') and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'ResearchStudy')
var-1errorQuestionnaire.extension:variableVariable expressions must have a name
: value.name.exists()

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... meta
.... tag 0..* Coding 【JASPEHR】QustionnaireResponse送信時の設定を定義する。 meta.tagの情報はQuestionnaireResponse.meta.tagにコピーしJASPEHR GWが送信時に参照する。 送信時にはQuestionnaireResponse.meta.tagは削除する。
..... Slices for extension Content/Rules for all slices
...... extension:submissionEndpoint 0..1 url 送信先定義
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
...... extension:JSP_QResponse_Pseudonymization 0..* (Complex) 仮名化定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Pseudonymization
...... extension:JSP_QResponse_Submission 0..* Expression 提出データ定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Submission
..... system 1..1 uri Identity of the terminology system
Required Pattern: http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_CS
..... code 1..1 code Symbol in syntax defined by the system
Binding: JSP QResponse Submission ValueSet (required)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:variable 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
..... value[x]
...... language 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
.... extension:launchContext 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
... version S 1..1 string Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定
... title S 1..1 string Name for this questionnaire (human friendly)
... subjectType 1..1 code Resource that can be subject of QuestionnaireResponse
... item SC 1..* BackboneElement Questions and sections within the Questionnaire
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
...... valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.

..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
...... valueString 1..1 string Value of extension
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
.... linkId S 1..1 string Unique id for item in questionnaire
.... prefix 0..0
.... text S 0..1 string Primary text for the item
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
.... enableWhen 0..1 BackboneElement Only allow data when
..... operator 1..1 code exists | = | != | > | < | >= | <=
Fixed Value: =
..... answer[x] S 1..1 Coding Value for question comparison based on operator
.... enableBehavior 0..0
.... required S 0..1 boolean Whether the item must be included in data results
.... repeats 0..1 boolean Whether the item may repeat
.... maxLength S 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
.... answerValueSet 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
.... answerOption S 0..* BackboneElement Permitted answer
..... value[x] 1..1 Coding Answer value
.... initial 0..1 BackboneElement Initial value(s) when item is first rendered
..... value[x] 1..1 Actual value for initializing the question
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item S 0..* Nested questionnaire items

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Questionnaire.meta.tag.coderequiredJSP_QResponse_Submission_VS (a valid code from JSP QResponse Submission CodeSystem)
http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_VS
from this IG
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.item.extension:itemControl.valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG

Constraints

IdGradePath(s)DetailsRequirements
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())
NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
que-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
que-2: The link ids for groups and questions must be unique within the questionnaire
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding 【JASPEHR】QustionnaireResponse送信時の設定を定義する。 meta.tagの情報はQuestionnaireResponse.meta.tagにコピーしJASPEHR GWが送信時に参照する。 送信時にはQuestionnaireResponse.meta.tagは削除する。
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:submissionEndpoint 0..1 url 送信先定義
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
...... extension:JSP_QResponse_Pseudonymization 0..* (Complex) 仮名化定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Pseudonymization
...... extension:JSP_QResponse_Submission 0..* Expression 提出データ定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Submission
..... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_CS
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
Binding: JSP QResponse Submission ValueSet (required)
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:variable C 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
var-1: Variable expressions must have a name
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/variable"
..... value[x] 1..1 Expression Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... description Σ 0..1 string Natural language description of the condition
...... name Σ 0..1 id Short name assigned to expression for reuse
...... language Σ 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
...... expression Σ 0..1 string Expression in specified language
...... reference Σ 0..1 uri Where the expression is found
.... extension:launchContext C 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
sdcext-1: Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 1..1 string Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定
... name SΣC 1..1 string Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte)
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType Σ 1..1 code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code Σ 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.


... item SC 1..* BackboneElement Questions and sections within the Questionnaire
que-1: Group items must have nested items, display items cannot have nested items
que-3: Display items cannot have a "code" asserted
que-4: A question cannot have both answerOption and answerValueSet
que-5: Only 'choice' and 'open-choice' items can have answerValueSet
que-6: Required and repeat aren't permitted for display items
que-8: Initial values can't be specified for groups or display items
que-9: Read-only can't be specified for "display" items
que-10: Maximum length can only be declared for simple question types
que-11: If one or more answerOption is present, initial[x] must be missing
que-12: If there are more than one enableWhen, enableBehavior must be specified
que-13: Can only have multiple initial values for repeating items
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
...... Slices for value[x] 1..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.

....... value[x]:valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.


..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/regex"
...... Slices for value[x] 1..1 string Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueString 1..1 string Value of extension
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/minValue"
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/maxValue"
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type.

....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId S 1..1 string Unique id for item in questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.


.... text S 0..1 string Primary text for the item
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
.... enableWhen ?!C 0..1 BackboneElement Only allow data when
que-7: If the operator is 'exists', the value must be a boolean
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.


Fixed Value: =
..... answer[x] SC 1..1 Coding Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats C 0..1 boolean Whether the item may repeat
.... readOnly C 0..1 boolean Don't allow human editing
.... maxLength SC 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
.... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
.... answerOption SC 0..* BackboneElement Permitted answer
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

..... initialSelected 0..1 boolean Whether option is selected by default
.... initial C 0..1 BackboneElement Initial value(s) when item is first rendered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Questionnaire.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Questionnaire.meta.tag.coderequiredJSP_QResponse_Submission_VS (a valid code from JSP QResponse Submission CodeSystem)
http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_VS
from this IG
Questionnaire.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
Questionnaire.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Questionnaire.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.extension:itemControl.value[x]extensibleQuestionnaireItemUIControlCodes
http://hl7.org/fhir/ValueSet/questionnaire-item-control
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:itemExtractionContext.value[x]requiredResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG
Questionnaire.item.enableWhen.operatorrequiredFixed Value: =
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
from the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.itemGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.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 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6errorQuestionnaire.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' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.itemIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
sdcext-1errorQuestionnaire.extension:launchContextTypes must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
: (extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Patient') and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies (extension('type').value='Patient' or extension('type').value='Practitioner' or extension('type').value='PractitionerRole' or extension('type').value='RelatedPerson')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Encounter') and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Location') and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'ResearchStudy')
var-1errorQuestionnaire.extension:variableVariable expressions must have a name
: value.name.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
que-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
que-2: The link ids for groups and questions must be unique within the questionnaire
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:variable C 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
var-1: Variable expressions must have a name
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/variable"
..... value[x] 1..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
...... language Σ 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
ele-1: All FHIR elements must have a @value or children
.... extension:launchContext C 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
sdcext-1: Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name SΣC 1..1 string Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte)
ele-1: All FHIR elements must have a @value or children
... title SΣ 1..1 string Name for this questionnaire (human friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... subjectType Σ 1..1 code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


ele-1: All FHIR elements must have a @value or children
... item SC 1..* BackboneElement Questions and sections within the Questionnaire
ele-1: All FHIR elements must have a @value or children
que-1: Group items must have nested items, display items cannot have nested items
que-3: Display items cannot have a "code" asserted
que-4: A question cannot have both answerOption and answerValueSet
que-5: Only 'choice' and 'open-choice' items can have answerValueSet
que-6: Required and repeat aren't permitted for display items
que-8: Initial values can't be specified for groups or display items
que-9: Read-only can't be specified for "display" items
que-10: Maximum length can only be declared for simple question types
que-11: If one or more answerOption is present, initial[x] must be missing
que-12: If there are more than one enableWhen, enableBehavior must be specified
que-13: Can only have multiple initial values for repeating items
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
...... Slices for value[x] 1..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.


ele-1: All FHIR elements must have a @value or children
....... value[x]:valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
ele-1: All FHIR elements must have a @value or children
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.


ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/regex"
...... Slices for value[x] 1..1 string Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueString 1..1 string Value of extension
ele-1: All FHIR elements must have a @value or children
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/minValue"
...... value[x] 1..1 Value of extension
ele-1: All FHIR elements must have a @value or children
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/maxValue"
...... value[x] 1..1 Value of extension
ele-1: All FHIR elements must have a @value or children
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type.


ele-1: All FHIR elements must have a @value or children
....... value[x]:valueExpression 0..1 Expression Value of extension
ele-1: All FHIR elements must have a @value or children
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

ele-1: All FHIR elements must have a @value or children
Fixed Value: text/fhirpath
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... linkId S 1..1 string Unique id for item in questionnaire
ele-1: All FHIR elements must have a @value or children
.... text S 0..1 string Primary text for the item
ele-1: All FHIR elements must have a @value or children
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
ele-1: All FHIR elements must have a @value or children
.... enableWhen ?!C 0..1 BackboneElement Only allow data when
ele-1: All FHIR elements must have a @value or children
que-7: If the operator is 'exists', the value must be a boolean
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... question 1..1 string Question that determines whether item is enabled
ele-1: All FHIR elements must have a @value or children
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.


ele-1: All FHIR elements must have a @value or children
Fixed Value: =
..... answer[x] SC 1..1 Coding Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
.... required SC 0..1 boolean Whether the item must be included in data results
ele-1: All FHIR elements must have a @value or children
.... repeats C 0..1 boolean Whether the item may repeat
ele-1: All FHIR elements must have a @value or children
.... maxLength SC 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
ele-1: All FHIR elements must have a @value or children
.... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
ele-1: All FHIR elements must have a @value or children
.... answerOption SC 0..* BackboneElement Permitted answer
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... value[x] 1..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
.... initial C 0..1 BackboneElement Initial value(s) when item is first rendered
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.


ele-1: All FHIR elements must have a @value or children
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item SC 0..* See item (Questionnaire) Nested questionnaire items
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
Questionnaire.item.extension:itemControl.value[x]extensibleQuestionnaireItemUIControlCodes
http://hl7.org/fhir/ValueSet/questionnaire-item-control
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:itemExtractionContext.value[x]requiredResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG
Questionnaire.item.enableWhen.operatorrequiredFixed Value: =
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
from the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.itemGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.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 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6errorQuestionnaire.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' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.itemIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
sdcext-1errorQuestionnaire.extension:launchContextTypes must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
: (extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Patient') and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies (extension('type').value='Patient' or extension('type').value='Practitioner' or extension('type').value='PractitionerRole' or extension('type').value='RelatedPerson')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Encounter') and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Location') and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'ResearchStudy')
var-1errorQuestionnaire.extension:variableVariable expressions must have a name
: value.name.exists()

Differential View

This structure is derived from Questionnaire

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... meta
.... tag 0..* Coding 【JASPEHR】QustionnaireResponse送信時の設定を定義する。 meta.tagの情報はQuestionnaireResponse.meta.tagにコピーしJASPEHR GWが送信時に参照する。 送信時にはQuestionnaireResponse.meta.tagは削除する。
..... Slices for extension Content/Rules for all slices
...... extension:submissionEndpoint 0..1 url 送信先定義
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
...... extension:JSP_QResponse_Pseudonymization 0..* (Complex) 仮名化定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Pseudonymization
...... extension:JSP_QResponse_Submission 0..* Expression 提出データ定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Submission
..... system 1..1 uri Identity of the terminology system
Required Pattern: http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_CS
..... code 1..1 code Symbol in syntax defined by the system
Binding: JSP QResponse Submission ValueSet (required)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:variable 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
..... value[x]
...... language 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
.... extension:launchContext 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
... version S 1..1 string Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定
... title S 1..1 string Name for this questionnaire (human friendly)
... subjectType 1..1 code Resource that can be subject of QuestionnaireResponse
... item SC 1..* BackboneElement Questions and sections within the Questionnaire
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
...... valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.

..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
...... valueString 1..1 string Value of extension
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
...... valueExpression 0..1 Expression Value of extension
....... language 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Fixed Value: text/fhirpath
.... linkId S 1..1 string Unique id for item in questionnaire
.... prefix 0..0
.... text S 0..1 string Primary text for the item
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
.... enableWhen 0..1 BackboneElement Only allow data when
..... operator 1..1 code exists | = | != | > | < | >= | <=
Fixed Value: =
..... answer[x] S 1..1 Coding Value for question comparison based on operator
.... enableBehavior 0..0
.... required S 0..1 boolean Whether the item must be included in data results
.... repeats 0..1 boolean Whether the item may repeat
.... maxLength S 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
.... answerValueSet 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
.... answerOption S 0..* BackboneElement Permitted answer
..... value[x] 1..1 Coding Answer value
.... initial 0..1 BackboneElement Initial value(s) when item is first rendered
..... value[x] 1..1 Actual value for initializing the question
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item S 0..* Nested questionnaire items

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Questionnaire.meta.tag.coderequiredJSP_QResponse_Submission_VS (a valid code from JSP QResponse Submission CodeSystem)
http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_VS
from this IG
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.item.extension:itemControl.valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG

Constraints

IdGradePath(s)DetailsRequirements
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire C 0..* Questionnaire A structured set of questions
que-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
que-2: The link ids for groups and questions must be unique within the questionnaire
jsp-5: Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding 【JASPEHR】QustionnaireResponse送信時の設定を定義する。 meta.tagの情報はQuestionnaireResponse.meta.tagにコピーしJASPEHR GWが送信時に参照する。 送信時にはQuestionnaireResponse.meta.tagは削除する。
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:submissionEndpoint 0..1 url 送信先定義
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-endpoint
...... extension:JSP_QResponse_Pseudonymization 0..* (Complex) 仮名化定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Pseudonymization
...... extension:JSP_QResponse_Submission 0..* Expression 提出データ定義
URL: http://jaspehr.jp/fhir/StructureDefinition/JSP_QResponse_Submission
..... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_CS
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
Binding: JSP QResponse Submission ValueSet (required)
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:variable C 0..* (Complex) Variable for processing
URL: http://hl7.org/fhir/StructureDefinition/variable
var-1: Variable expressions must have a name
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/variable"
..... value[x] 1..1 Expression Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... description Σ 0..1 string Natural language description of the condition
...... name Σ 0..1 id Short name assigned to expression for reuse
...... language Σ 1..1 code text/fhirpath | application/x-fhir-query
Binding: JASPEHR Expression Language (required)
...... expression Σ 0..1 string Expression in specified language
...... reference Σ 0..1 uri Where the expression is found
.... extension:launchContext C 0..* (Complex) Context resources needed for Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext
sdcext-1: Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this questionnaire, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 1..1 string Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定
... name SΣC 1..1 string Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte)
... title SΣ 1..1 string Name for this questionnaire (human friendly)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType Σ 1..1 code Resource that can be subject of QuestionnaireResponse
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code Σ 0..* Coding Concept that represents the overall questionnaire
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.


... item SC 1..* BackboneElement Questions and sections within the Questionnaire
que-1: Group items must have nested items, display items cannot have nested items
que-3: Display items cannot have a "code" asserted
que-4: A question cannot have both answerOption and answerValueSet
que-5: Only 'choice' and 'open-choice' items can have answerValueSet
que-6: Required and repeat aren't permitted for display items
que-8: Initial values can't be specified for groups or display items
que-9: Read-only can't be specified for "display" items
que-10: Maximum length can only be declared for simple question types
que-11: If one or more answerOption is present, initial[x] must be missing
que-12: If there are more than one enableWhen, enableBehavior must be specified
que-13: Can only have multiple initial values for repeating items
jsp-1: Only 'group' items can have enableWhen
jsp-2: The link ids for enableWhen question must be the same to parent item's link id
jsp-3: Only 'group' items can have repeats
jsp-4: LinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
jsp-6: If item.type = 'choice' then item.extension:itemControl should be required
jsp-7: A question cannot have both initialExpression and calculatedExpression
jsp-8: Items cannot have both enableWhen and repeats
jsp-9: Choice items can only have items with enableWhen
jsp-10: Repeating items must have itemMaxOccurs
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemHidden 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:itemControl S 0..1 (Complex) 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable ※ drop-down は単一項目選択とする
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"
...... Slices for value[x] 1..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items.

....... value[x]:valueCodeableConcept 1..1 CodeableConcept list | inline | drop-down | check-box | radio-button | text-box | gtable
Binding: JASPEHR Questionnaire Item UI Control Codes (required)
..... extension:choiceOrientation 0..1 code horizontal | vertical
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation
Binding: ChoiceListOrientation (required): Direction in which lists of possible answers should be displayed.


..... extension:itemMaxOccurs 0..1 integer Maximum repetitions
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs
..... extension:regex 0..1 (Complex) Regular expression pattern
URL: http://hl7.org/fhir/StructureDefinition/regex
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/regex"
...... Slices for value[x] 1..1 string Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueString 1..1 string Value of extension
Fixed Value: ^([ -~]|\n|\t)+$
..... extension:minValue 0..1 (Complex) Must be >= this value
URL: http://hl7.org/fhir/StructureDefinition/minValue
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/minValue"
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxValue 0..1 (Complex) Must be <= this value
URL: http://hl7.org/fhir/StructureDefinition/maxValue
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/maxValue"
...... value[x] 1..1 Value of extension
....... valueDecimal decimal
....... valueInteger integer
..... extension:maxDecimalPlaces 0..1 integer Maximum digits after decimal
URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces
..... extension:initialExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
..... extension:calculatedExpression 0..1 (Complex) Expression-determined initial value
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
..... extension:unit 0..1 Coding Unit for numeric answer
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit
..... extension:itemExtractionContext 0..1 (Complex) Establishes mapping context for a Questionnaire item
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext"
...... Slices for value[x] 0..1 Expression Value of extension
Slice: Unordered, Closed by type:$this
Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type.

....... value[x]:valueExpression 0..1 Expression Value of extension
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ description Σ 0..1 string Natural language description of the condition
........ name Σ 0..1 id Short name assigned to expression for reuse
........ language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Fixed Value: text/fhirpath
........ expression Σ 0..1 string Expression in specified language
........ reference Σ 0..1 uri Where the expression is found
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId S 1..1 string Unique id for item in questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.


.... text S 0..1 string Primary text for the item
.... type S 1..1 code 【JASPEHR】 group | display | decimal | integer | date | dateTime | time | string | text | choice
Binding: JASPEHR Questionnaire Item Type (required)
.... enableWhen ?!C 0..1 BackboneElement Only allow data when
que-7: If the operator is 'exists', the value must be a boolean
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.


Fixed Value: =
..... answer[x] SC 1..1 Coding Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats C 0..1 boolean Whether the item may repeat
.... readOnly C 0..1 boolean Don't allow human editing
.... maxLength SC 0..1 integer No more than this many characters 【JASPEHR】マルチバイト文字も1として数える。入力欄の幅指定に利用可能とする。
.... answerValueSet C 0..1 canonical(ValueSet) Valueset containing permitted answers 【JASPEHR】当面は answerOption を使用する。
.... answerOption SC 0..* BackboneElement Permitted answer
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

..... initialSelected 0..1 boolean Whether option is selected by default
.... initial C 0..1 BackboneElement Initial value(s) when item is first rendered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.

...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Questionnaire.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Questionnaire.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Questionnaire.meta.tag.coderequiredJSP_QResponse_Submission_VS (a valid code from JSP QResponse Submission CodeSystem)
http://jaspehr.jp/fhir/CodeSystem/JSP_QResponse_Submission_VS
from this IG
Questionnaire.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Questionnaire.extension:variable.value[x].languagerequiredExpressionLanguageJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/expression-language-Jaspehr
from this IG
Questionnaire.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Questionnaire.subjectTyperequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
Questionnaire.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Questionnaire.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.extension:itemControl.value[x]extensibleQuestionnaireItemUIControlCodes
http://hl7.org/fhir/ValueSet/questionnaire-item-control
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConceptrequiredQuestionnaireItemUIControlCodesJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-control-Jaspehr
from this IG
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.extension:itemExtractionContext.value[x]requiredResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.languageextensibleFixed Value: text/fhirpath
http://hl7.org/fhir/ValueSet/expression-language
from the FHIR Standard
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
Questionnaire.item.codeexampleQuestionnaireQuestionCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/questionnaire-questions
from the FHIR Standard
Questionnaire.item.typerequiredQuestionnaireItemTypeJaspehr
http://www.hosp.ncgm.go.jp/JASPEHR/fhir/ValueSet/questionnaire-item-type-Jaspehr
from this IG
Questionnaire.item.enableWhen.operatorrequiredFixed Value: =
http://hl7.org/fhir/ValueSet/questionnaire-enable-operator|4.0.1
from the FHIR Standard
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
jsp-1errorQuestionnaire.itemOnly 'group' items can have enableWhen
: type ='group' or enableWhen.empty()
jsp-2errorQuestionnaire.itemThe link ids for enableWhen question must be the same to parent item's link id
: linkId = item.enableWhen.question.distinct() or item.enableWhen.empty()
jsp-3errorQuestionnaire.itemOnly 'group' items can have repeats
: type ='group' or repeats.empty()
jsp-4errorQuestionnaire.itemLinkID should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: linkId.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$')
jsp-5errorQuestionnaireName should consist of half-width English numbers, letters, and several symbolic-characters, or either of them
: name.matches('^[A-Za-z0-9-.!#%/:;?@_~]{1,255}$') and name.length() <= 15
jsp-6errorQuestionnaire.itemIf item.type = 'choice' then item.extension:itemControl should be required
: item.where(type = choice).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists())
jsp-7errorQuestionnaire.itemA question cannot have both initialExpression and calculatedExpression
: initialExpression.empty() or calculatedExpression.empty()
jsp-8errorQuestionnaire.itemItems cannot have both enableWhen and repeats
: enableWhen.empty() or repeats.empty()
jsp-9errorQuestionnaire.itemChoice items can only have items with enableWhen
: type = 'choice' and item.enableWhen.exists() or item.enableWhen.empty()
jsp-10errorQuestionnaire.itemRepeating items must have itemMaxOccurs
: item.where(repeats = true).all(extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs').exists())
que-0warningQuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1errorQuestionnaire.itemGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2errorQuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
que-3errorQuestionnaire.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 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6errorQuestionnaire.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' | 'open-choice')) or maxLength.empty()
que-11errorQuestionnaire.itemIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12errorQuestionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13errorQuestionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
sdcext-1errorQuestionnaire.extension:launchContextTypes must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, RelatedPerson (could be a subset of these); encounter: Encounter; location: Location; study: ResearchStudy
: (extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Patient') and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies (extension('type').value='Patient' or extension('type').value='Practitioner' or extension('type').value='PractitionerRole' or extension('type').value='RelatedPerson')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Encounter') and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'Location') and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').value = 'ResearchStudy')
var-1errorQuestionnaire.extension:variableVariable expressions must have a name
: value.name.exists()

 

Other representations of profile: CSV, Excel, Schematron