JASPEHR Implementation Guide
0.5.11 - draft
JASPEHR Implementation Guide - Local Development build (v0.5.11) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Official URL: http://www.hosp.ncgm.go.jp/JASPEHR/fhir/StructureDefinition/jaspehr-questionnaire | Version: 0.5.11 | |||
Draft as of 2024-02-19 | Computable Name: QuestionnaireJaspehr |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Questionnaire
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |
variable | 0..* | Expression | 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) | |
launchContext | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | |
url | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | |
version | S | 1..1 | string | Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定 |
name | S | 1..1 | string | Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte) |
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 |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. |
valueCodeableConcept | 1..1 | CodeableConcept | list | inline | drop-down | check-box | radio-button | text-box | gtable Binding: JASPEHR Questionnaire Item UI Control Codes (required) | |
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. | |
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |
valueString | 1..1 | string | Value of extension Fixed Value: ^([ -~]|\n|\t)+$ | |
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |
value[x] | 1..1 | Value of extension | ||
valueDecimal | decimal | |||
valueInteger | integer | |||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |
value[x] | 1..1 | Value of extension | ||
valueDecimal | decimal | |||
valueInteger | integer | |||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |
initialExpression | 0..1 | Expression | 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 | |
calculatedExpression | 0..1 | Expression | 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 | |
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. |
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 | |
Documentation for this format |
Path | Conformance | ValueSet |
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr |
Questionnaire.item.extension:itemControl.valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr |
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr |
Id | Grade | Path(s) | Details | Requirements |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
variable | 0..* | Expression | Variable for processing URL: http://hl7.org/fhir/StructureDefinition/variable | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/variable" | |||||
value[x] | 1..1 | Expression | Value of extension | |||||
language | Σ | 1..1 | code | text/fhirpath | application/x-fhir-query Binding: JASPEHR Expression Language (required) | ||||
launchContext | C | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | ||||
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) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
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. | ||||
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 | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |||||
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. | ||||
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) | |||||
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. | |||||
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |||||
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |||||
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)+$ | |||||
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/minValue" | |||||
value[x] | 1..1 | Value of extension | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/maxValue" | |||||
value[x] | 1..1 | Value of extension | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |||||
initialExpression | 0..1 | Expression | Expression-determined initial value URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression | |||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
calculatedExpression | 0..1 | Expression | Expression-determined initial value URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression | |||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |||||
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. | ||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
linkId | S | 1..1 | string | Unique id for item in questionnaire | ||||
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 | ||||
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 | ||||
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 | ||||
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. | |||||
initial | C | 0..1 | BackboneElement | Initial value(s) when item is first rendered | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
value[x] | 1..1 | Actual value for initializing the question Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions. | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
valueDate | date | |||||||
valueDateTime | dateTime | |||||||
valueTime | time | |||||||
valueString | string | |||||||
item | SC | 0..* | See item (Questionnaire) | Nested questionnaire items | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr | ||||
Questionnaire.status | required | PublicationStatus | ||||
Questionnaire.subjectType | required | ResourceType | ||||
Questionnaire.item.extension:itemControl.value[x] | extensible | QuestionnaireItemUIControlCodes | ||||
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr | ||||
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:itemExtractionContext.value[x] | required | ResourceType | ||||
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr | ||||
Questionnaire.item.enableWhen.operator | required | Fixed Value: = | ||||
Questionnaire.item.enableWhen.answer[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.answerOption.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.initial.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Questionnaire | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Questionnaire | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Questionnaire | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() | |
que-0 | warning | Questionnaire | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
que-1 | error | Questionnaire.item | Group items must have nested items, display items cannot have nested items : (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty()) | |
que-2 | error | Questionnaire | The link ids for groups and questions must be unique within the questionnaire : descendants().linkId.isDistinct() | |
que-3 | error | Questionnaire.item | Display items cannot have a "code" asserted : type!='display' or code.empty() | |
que-4 | error | Questionnaire.item | A question cannot have both answerOption and answerValueSet : answerOption.empty() or answerValueSet.empty() | |
que-5 | error | Questionnaire.item | Only 'choice' and 'open-choice' items can have answerValueSet : (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty()) | |
que-6 | error | Questionnaire.item | Required and repeat aren't permitted for display items : type!='display' or (required.empty() and repeats.empty()) | |
que-7 | error | Questionnaire.item.enableWhen | If the operator is 'exists', the value must be a boolean : operator = 'exists' implies (answer is Boolean) | |
que-8 | error | Questionnaire.item | Initial values can't be specified for groups or display items : (type!='group' and type!='display') or initial.empty() | |
que-9 | error | Questionnaire.item | Read-only can't be specified for "display" items : type!='display' or readOnly.empty() | |
que-10 | error | Questionnaire.item | Maximum length can only be declared for simple question types : (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty() | |
que-11 | error | Questionnaire.item | If one or more answerOption is present, initial[x] must be missing : answerOption.empty() or initial.empty() | |
que-12 | error | Questionnaire.item | If there are more than one enableWhen, enableBehavior must be specified : enableWhen.count() > 2 implies enableBehavior.exists() | |
que-13 | error | Questionnaire.item | Can only have multiple initial values for repeating items : repeats=true or initial.count() <= 1 | |
sdcext-1 | error | Questionnaire.extension:launchContext | 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 : (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') |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
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 | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
variable | 0..* | Expression | Variable for processing URL: http://hl7.org/fhir/StructureDefinition/variable | |||||
id | 0..1 | string | 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 | ||||
launchContext | C | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the questionnaire | ||||
version | 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 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 | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |||||
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. | ||||
id | 0..1 | string | 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) | |||||
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. | |||||
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |||||
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |||||
id | 0..1 | string | 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)+$ | |||||
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |||||
id | 0..1 | string | 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 | |||||||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |||||
id | 0..1 | string | 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 | |||||||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |||||
initialExpression | 0..1 | Expression | 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.
Fixed Value: text/fhirpath | ||||
expression | Σ | 0..1 | string | Expression in specified language | ||||
reference | Σ | 0..1 | uri | Where the expression is found | ||||
calculatedExpression | 0..1 | Expression | 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.
Fixed Value: text/fhirpath | ||||
expression | Σ | 0..1 | string | Expression in specified language | ||||
reference | Σ | 0..1 | uri | Where the expression is found | ||||
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |||||
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. | ||||
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.
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 | ||||
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 | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Questionnaire.language | preferred | CommonLanguages
| ||||
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr | ||||
Questionnaire.status | required | PublicationStatus | ||||
Questionnaire.subjectType | required | ResourceType | ||||
Questionnaire.jurisdiction | extensible | Jurisdiction ValueSet | ||||
Questionnaire.code | example | QuestionnaireQuestionCodes (a valid code from LOINC) | ||||
Questionnaire.item.extension:itemControl.value[x] | extensible | QuestionnaireItemUIControlCodes | ||||
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr | ||||
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:itemExtractionContext.value[x] | required | ResourceType | ||||
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.code | example | QuestionnaireQuestionCodes (a valid code from LOINC) | ||||
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr | ||||
Questionnaire.item.enableWhen.operator | required | Fixed Value: = | ||||
Questionnaire.item.enableWhen.answer[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.answerOption.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.initial.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Questionnaire | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Questionnaire | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Questionnaire | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() | |
que-0 | warning | Questionnaire | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
que-1 | error | Questionnaire.item | Group items must have nested items, display items cannot have nested items : (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty()) | |
que-2 | error | Questionnaire | The link ids for groups and questions must be unique within the questionnaire : descendants().linkId.isDistinct() | |
que-3 | error | Questionnaire.item | Display items cannot have a "code" asserted : type!='display' or code.empty() | |
que-4 | error | Questionnaire.item | A question cannot have both answerOption and answerValueSet : answerOption.empty() or answerValueSet.empty() | |
que-5 | error | Questionnaire.item | Only 'choice' and 'open-choice' items can have answerValueSet : (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty()) | |
que-6 | error | Questionnaire.item | Required and repeat aren't permitted for display items : type!='display' or (required.empty() and repeats.empty()) | |
que-7 | error | Questionnaire.item.enableWhen | If the operator is 'exists', the value must be a boolean : operator = 'exists' implies (answer is Boolean) | |
que-8 | error | Questionnaire.item | Initial values can't be specified for groups or display items : (type!='group' and type!='display') or initial.empty() | |
que-9 | error | Questionnaire.item | Read-only can't be specified for "display" items : type!='display' or readOnly.empty() | |
que-10 | error | Questionnaire.item | Maximum length can only be declared for simple question types : (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty() | |
que-11 | error | Questionnaire.item | If one or more answerOption is present, initial[x] must be missing : answerOption.empty() or initial.empty() | |
que-12 | error | Questionnaire.item | If there are more than one enableWhen, enableBehavior must be specified : enableWhen.count() > 2 implies enableBehavior.exists() | |
que-13 | error | Questionnaire.item | Can only have multiple initial values for repeating items : repeats=true or initial.count() <= 1 | |
sdcext-1 | error | Questionnaire.extension:launchContext | 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 : (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') |
This structure is derived from Questionnaire
Summary
Mandatory: 6 elements (2 nested mandatory elements)
Must-Support: 14 elements
Fixed Value: 5 elements
Prohibited: 2 elements
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from Questionnaire
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |
variable | 0..* | Expression | 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) | |
launchContext | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | |
url | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | |
version | S | 1..1 | string | Business version of the questionnaire. 【JASPEHR】 TODO: 記述ルール整備予定 |
name | S | 1..1 | string | Name for this questionnaire (computer friendly)【JASPEHR】プロジェクトコード(7Byte) + 識別コード・セット番号(6Byte) + 一意番号(2Byte) |
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 |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. |
valueCodeableConcept | 1..1 | CodeableConcept | list | inline | drop-down | check-box | radio-button | text-box | gtable Binding: JASPEHR Questionnaire Item UI Control Codes (required) | |
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. | |
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |
valueString | 1..1 | string | Value of extension Fixed Value: ^([ -~]|\n|\t)+$ | |
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |
value[x] | 1..1 | Value of extension | ||
valueDecimal | decimal | |||
valueInteger | integer | |||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |
value[x] | 1..1 | Value of extension | ||
valueDecimal | decimal | |||
valueInteger | integer | |||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |
initialExpression | 0..1 | Expression | 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 | |
calculatedExpression | 0..1 | Expression | 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 | |
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. |
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 | |
Documentation for this format |
Path | Conformance | ValueSet |
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr |
Questionnaire.item.extension:itemControl.valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr |
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr |
Id | Grade | Path(s) | Details | Requirements |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
variable | 0..* | Expression | Variable for processing URL: http://hl7.org/fhir/StructureDefinition/variable | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/variable" | |||||
value[x] | 1..1 | Expression | Value of extension | |||||
language | Σ | 1..1 | code | text/fhirpath | application/x-fhir-query Binding: JASPEHR Expression Language (required) | ||||
launchContext | C | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | ||||
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) | ||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
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. | ||||
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 | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |||||
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. | ||||
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) | |||||
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. | |||||
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |||||
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |||||
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)+$ | |||||
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/minValue" | |||||
value[x] | 1..1 | Value of extension | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |||||
extension | 0..0 | |||||||
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/maxValue" | |||||
value[x] | 1..1 | Value of extension | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |||||
initialExpression | 0..1 | Expression | Expression-determined initial value URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression | |||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
calculatedExpression | 0..1 | Expression | Expression-determined initial value URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression | |||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |||||
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. | ||||
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 | |||||
language | Σ | 1..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: ExpressionLanguage (extensible): The media type of the expression language.
Fixed Value: text/fhirpath | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
linkId | S | 1..1 | string | Unique id for item in questionnaire | ||||
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 | ||||
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 | ||||
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 | ||||
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. | |||||
initial | C | 0..1 | BackboneElement | Initial value(s) when item is first rendered | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
value[x] | 1..1 | Actual value for initializing the question Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions. | ||||||
valueDecimal | decimal | |||||||
valueInteger | integer | |||||||
valueDate | date | |||||||
valueDateTime | dateTime | |||||||
valueTime | time | |||||||
valueString | string | |||||||
item | SC | 0..* | See item (Questionnaire) | Nested questionnaire items | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr | ||||
Questionnaire.status | required | PublicationStatus | ||||
Questionnaire.subjectType | required | ResourceType | ||||
Questionnaire.item.extension:itemControl.value[x] | extensible | QuestionnaireItemUIControlCodes | ||||
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr | ||||
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:itemExtractionContext.value[x] | required | ResourceType | ||||
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr | ||||
Questionnaire.item.enableWhen.operator | required | Fixed Value: = | ||||
Questionnaire.item.enableWhen.answer[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.answerOption.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.initial.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Questionnaire | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Questionnaire | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Questionnaire | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() | |
que-0 | warning | Questionnaire | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
que-1 | error | Questionnaire.item | Group items must have nested items, display items cannot have nested items : (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty()) | |
que-2 | error | Questionnaire | The link ids for groups and questions must be unique within the questionnaire : descendants().linkId.isDistinct() | |
que-3 | error | Questionnaire.item | Display items cannot have a "code" asserted : type!='display' or code.empty() | |
que-4 | error | Questionnaire.item | A question cannot have both answerOption and answerValueSet : answerOption.empty() or answerValueSet.empty() | |
que-5 | error | Questionnaire.item | Only 'choice' and 'open-choice' items can have answerValueSet : (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty()) | |
que-6 | error | Questionnaire.item | Required and repeat aren't permitted for display items : type!='display' or (required.empty() and repeats.empty()) | |
que-7 | error | Questionnaire.item.enableWhen | If the operator is 'exists', the value must be a boolean : operator = 'exists' implies (answer is Boolean) | |
que-8 | error | Questionnaire.item | Initial values can't be specified for groups or display items : (type!='group' and type!='display') or initial.empty() | |
que-9 | error | Questionnaire.item | Read-only can't be specified for "display" items : type!='display' or readOnly.empty() | |
que-10 | error | Questionnaire.item | Maximum length can only be declared for simple question types : (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty() | |
que-11 | error | Questionnaire.item | If one or more answerOption is present, initial[x] must be missing : answerOption.empty() or initial.empty() | |
que-12 | error | Questionnaire.item | If there are more than one enableWhen, enableBehavior must be specified : enableWhen.count() > 2 implies enableBehavior.exists() | |
que-13 | error | Questionnaire.item | Can only have multiple initial values for repeating items : repeats=true or initial.count() <= 1 | |
sdcext-1 | error | Questionnaire.extension:launchContext | 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 : (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') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
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 | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
variable | 0..* | Expression | Variable for processing URL: http://hl7.org/fhir/StructureDefinition/variable | |||||
id | 0..1 | string | 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 | ||||
launchContext | C | 0..* | (Complex) | Context resources needed for Questionnaire URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this questionnaire, represented as a URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the questionnaire | ||||
version | 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 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 | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
designNote | 0..1 | markdown | Design comments URL: http://hl7.org/fhir/StructureDefinition/designNote | |||||
itemHidden | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden | |||||
itemControl | S | 0..1 | CodeableConcept | 【JASPEHR】 list | inline | drop-down | check-box | radio-button | text-box | gtable
※ drop-down は単一項目選択とする URL: http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl Binding: QuestionnaireItemUIControlCodes (extensible): User interface controls or widgets used for questionnaire items. | ||||
id | 0..1 | string | 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) | |||||
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. | |||||
itemMaxOccurs | 0..1 | integer | Maximum repetitions URL: http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs | |||||
regex | 0..1 | string | Regular expression pattern URL: http://hl7.org/fhir/StructureDefinition/regex | |||||
id | 0..1 | string | 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)+$ | |||||
minValue | 0..1 | date, dateTime, time, decimal, integer | Must be >= this value URL: http://hl7.org/fhir/StructureDefinition/minValue | |||||
id | 0..1 | string | 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 | |||||||
maxValue | 0..1 | date, dateTime, time, instant, decimal, integer | Must be <= this value URL: http://hl7.org/fhir/StructureDefinition/maxValue | |||||
id | 0..1 | string | 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 | |||||||
maxDecimalPlaces | 0..1 | integer | Maximum digits after decimal URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces | |||||
initialExpression | 0..1 | Expression | 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.
Fixed Value: text/fhirpath | ||||
expression | Σ | 0..1 | string | Expression in specified language | ||||
reference | Σ | 0..1 | uri | Where the expression is found | ||||
calculatedExpression | 0..1 | Expression | 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.
Fixed Value: text/fhirpath | ||||
expression | Σ | 0..1 | string | Expression in specified language | ||||
reference | Σ | 0..1 | uri | Where the expression is found | ||||
unit | 0..1 | Coding | Unit for numeric answer URL: http://hl7.org/fhir/StructureDefinition/questionnaire-unit | |||||
itemExtractionContext | S | 0..1 | code, Expression | Establishes mapping context for a Questionnaire item URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext Binding: ResourceType (required): If value is of type 'code', then the extraction is always the creation of a new resource of the specified type. | ||||
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.
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 | ||||
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 | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Questionnaire.language | preferred | CommonLanguages
| ||||
Questionnaire.extension:variable.value[x].language | required | ExpressionLanguageJaspehr | ||||
Questionnaire.status | required | PublicationStatus | ||||
Questionnaire.subjectType | required | ResourceType | ||||
Questionnaire.jurisdiction | extensible | Jurisdiction ValueSet | ||||
Questionnaire.code | example | QuestionnaireQuestionCodes (a valid code from LOINC) | ||||
Questionnaire.item.extension:itemControl.value[x] | extensible | QuestionnaireItemUIControlCodes | ||||
Questionnaire.item.extension:itemControl.value[x]:valueCodeableConcept | required | QuestionnaireItemUIControlCodesJaspehr | ||||
Questionnaire.item.extension:initialExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:calculatedExpression.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.extension:itemExtractionContext.value[x] | required | ResourceType | ||||
Questionnaire.item.extension:itemExtractionContext.value[x]:valueExpression.language | extensible | Fixed Value: text/fhirpath
| ||||
Questionnaire.item.code | example | QuestionnaireQuestionCodes (a valid code from LOINC) | ||||
Questionnaire.item.type | required | QuestionnaireItemTypeJaspehr | ||||
Questionnaire.item.enableWhen.operator | required | Fixed Value: = | ||||
Questionnaire.item.enableWhen.answer[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.answerOption.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) | ||||
Questionnaire.item.initial.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Questionnaire | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Questionnaire | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Questionnaire | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Questionnaire | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
jsp-1 | error | Questionnaire.item | Only 'group' items can have enableWhen : type ='group' or enableWhen.empty() | |
jsp-2 | error | Questionnaire.item | The link ids for enableWhen question must be the same to parent item's link id : descendants().where(item.enableWhen.exists()).linkId contains descendants().select(item).enableWhen.question | |
jsp-3 | error | Questionnaire.item | Only 'group' items can have repeats : type ='group' or repeats.empty() | |
jsp-4 | error | Questionnaire.item | LinkID 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-5 | error | Questionnaire | Name should consist of half-width English numbers, letters, and several symbolic-characters, or either of them : name.matches('([A-Za-z0-9!#%/:;?@_~])') and name.length() <= 15 | |
jsp-6 | error | Questionnaire.item | If item.type = 'choice' then item.extension:itemControl should be required : type='choice' implies extension.where(url='http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl').exists() | |
jsp-7 | error | Questionnaire.item | A question cannot have both initialExpression and calculatedExpression : initialExpression.empty() or calculatedExpression.empty() | |
que-0 | warning | Questionnaire | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
que-1 | error | Questionnaire.item | Group items must have nested items, display items cannot have nested items : (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty()) | |
que-2 | error | Questionnaire | The link ids for groups and questions must be unique within the questionnaire : descendants().linkId.isDistinct() | |
que-3 | error | Questionnaire.item | Display items cannot have a "code" asserted : type!='display' or code.empty() | |
que-4 | error | Questionnaire.item | A question cannot have both answerOption and answerValueSet : answerOption.empty() or answerValueSet.empty() | |
que-5 | error | Questionnaire.item | Only 'choice' and 'open-choice' items can have answerValueSet : (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty()) | |
que-6 | error | Questionnaire.item | Required and repeat aren't permitted for display items : type!='display' or (required.empty() and repeats.empty()) | |
que-7 | error | Questionnaire.item.enableWhen | If the operator is 'exists', the value must be a boolean : operator = 'exists' implies (answer is Boolean) | |
que-8 | error | Questionnaire.item | Initial values can't be specified for groups or display items : (type!='group' and type!='display') or initial.empty() | |
que-9 | error | Questionnaire.item | Read-only can't be specified for "display" items : type!='display' or readOnly.empty() | |
que-10 | error | Questionnaire.item | Maximum length can only be declared for simple question types : (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty() | |
que-11 | error | Questionnaire.item | If one or more answerOption is present, initial[x] must be missing : answerOption.empty() or initial.empty() | |
que-12 | error | Questionnaire.item | If there are more than one enableWhen, enableBehavior must be specified : enableWhen.count() > 2 implies enableBehavior.exists() | |
que-13 | error | Questionnaire.item | Can only have multiple initial values for repeating items : repeats=true or initial.count() <= 1 | |
sdcext-1 | error | Questionnaire.extension:launchContext | 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 : (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') |
This structure is derived from Questionnaire
Summary
Mandatory: 6 elements (2 nested mandatory elements)
Must-Support: 14 elements
Fixed Value: 5 elements
Prohibited: 2 elements
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron