Questionnaire resource implementation guidance
Important: This site is under active development by NHS Digital and is intended to provide all the technical resources you need to successfully develop applications using the FHIR® CDS API. This project is being developed using an agile methodology so iterative updates to content will be added on a regular basis.
Warning: This site is provided for information only and is intended for those engaged with NHS Digital. It is advised not to develop against these specifications until a formal announcement has been made.
Questionnaire: Implementation Guidance
Usage
The Questionnaire resource is used to send one or more questions from the CDSS to the EMS. The EMS will present the question and the set of possible responses received from the CDSS to the user during an ongoing clinical evaluation process.
The responses to a Questionnaire
sent by the CDSS are communicated back by the EMS using the QuestionnaireResponse
resource.
Detailed implementation guidance for a Questionnaire
resource in the CDS context is given below:
Name | Cardinality | Type | FHIR Documentation | CDS Implementation Guidance |
---|---|---|---|---|
url |
0..1 |
uri | Logical URI to reference this questionnaire (globally unique) | This will be used to link a QuestionnaireResponse to the Questionnaire the response is for. |
identifier |
0..* |
Identifier | Additional identifier for the questionnaire | A business identifier that is used to identify the Questionnaire . |
version |
0..1 |
string | Business version of the questionnaire | |
name |
0..1 |
string | Name for this questionnaire (computer friendly) | |
title |
0..1 |
string | Name for this questionnaire (human friendly) | |
status |
1..1 |
code | draft | active | retired | unknown PublicationStatus (Required). | This will carry the value 'active'. |
experimental |
0..1 |
boolean | For testing purposes, not real usage | This will carry the value 'false'. |
date |
0..1 |
dateTime | Date this was last changed | |
publisher |
0..1 |
string | Name of the publisher (organization or individual) | |
description |
0..1 |
markdown | Natural language description of the questionnaire | |
purpose |
0..1 |
markdown | Why this questionnaire is defined | |
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 | |
useContext |
0..* |
UsageContext | Context the content is intended to support | The contents of this element MUST match the useContext of the current ServiceDefinition . |
jurisdiction |
0..* |
CodeableConcept | Intended jurisdiction for service definition (if applicable) Jurisdiction ValueSet (Extensible) | Geographical jurisdiction only in a CDS context. The contents of this element MUST match the jurisdiction of the current ServiceDefinition . |
contact |
0..* |
ContactDetail | Contact details for the publisher | |
copyright |
0..1 |
markdown | Use and/or publishing restrictions | |
code |
0..* |
Coding | Concept that represents the overall questionnaire Questionnaire Question Codes (Example) | |
subjectType |
0..* |
code | Resource that can be subject of QuestionnaireResponse ResourceType (Required) | This will be Patient. |
item |
0..* |
BackboneElement | Questions and sections within the questionnaire | A particular question, question grouping, answer option or display text that is part of the Questionnaire . |
item.linkId |
1..1 |
string | Unique id for item in questionnaire | An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource. |
item.definition |
0..1 |
uri | ElementDefinition - details for the item | |
item.code |
0..* |
Coding | Corresponding concept for this item in a terminology Questionnaire Question Codes (Example) | This MUST NOT be populated by the CDSS. |
item.prefix |
0..1 |
string | E.g. "1(a)", "2.5.3" | A short label for a particular group, question or set of display text which is part of the Questionnaire . This could be used as a reference by the individual completing it. |
item.text |
0..1 |
string | Primary text for the item | This could be the name of a section, the text of a question or text content for a display item. |
item.type |
1..1 |
code | group | display | boolean | decimal | integer | date | dateTime + QuestionnaireItemType (Required) | The type of questionnaire item this is. If this is set to 'group', the EMS User interface MUST present all sub-items together to the user, with the group item description as the header. |
item.enableWhen |
0..* |
BackboneElement | Only allow data when | A conditional constraint on this item which allows Questionnaires to adapt based on answers to other questions. e.g. If a patient confirms that they s/he has had trouble sleeping, s/he will be asked "When did this start?". |
item.enableWhen.question |
1..1 |
string | Question that determines whether item is enabled | |
item.enableWhen.hasAnswer |
0..1 |
boolean | Enable when answered or not | |
item.enableWhen.answer[x] |
0..1 |
boolean | decimal | integer | date | dateTime | time | string | uri | Attachment | Coding | Quantity | Reference(Any) |
Value question MUST have Questionnaire Answer Codes (Example) | This element will be populated by the CDSS and the EMS will display the value that it receives. |
item.required |
0..1 |
boolean | Whether the item must be included in data results | If this element is true, then the EMS User interface MUST ensure the user provides an answer. If false, the User interface MUST allow the user to skip the question. |
item.repeats |
0..1 |
boolean | Whether the item may repeat | If this option is false, then the EMS User interface MUST only allow a single response to be selected. If the option is true, then multiple responses can be selected. |
item.readOnly |
0..1 |
boolean | Don't allow human editing | If this option is false, the EMS User interface will present the data as read only. |
item.maxLength |
0..1 |
integer | No more than this many characters | |
item.options |
0..1 |
Reference(ValueSet) | Valueset containing permitted answers | This element MAY be populated by the CDSS, and if so, the EMS MUST provide the set of possible answers to the user who MUST choose one of the provided options. The use of this element is not recommended. |
item.option |
0..* |
BackboneElement | Permitted answer | Where the question has multiple options, only one of which SHOULD be selected, these options can be enumerated in this element. |
item.option.value[x] |
1..1 |
integer | date | time | string | Coding |
Value question MUST have Questionnaire Answer Codes (Example) | This element will be populated by the CDSS and the EMS will display the value that it receives. |
item.initial[x] |
0..1 |
boolean | decimal | integer | date | dateTime | time | string | uri | Attachment | Coding | Quantity | Reference(Any) |
Default value when item is first rendered Questionnaire Answer Codes (Example) | |
item.item |
0..* |
BackboneElement | Nested questionnaire items |