This page is part of the Argonaut Questionnaire Implementation Guide (v1.0.0: Release) based on FHIR R3. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
StructureDefinition-argo-questionnaire
The Argonaut Questionnaire Profile sets the minimum expectations for the Questionnaire resource to record, search and fetch Questionnaires for simple assessments, surveys, etc as defined in this implementation guide. It defines the structure for both the Static Forms Use Case and the Adaptive Forms Use Case. For adaptive forms this profile is contained within the Argonaut Adaptive QuestionnaireResponse Profile.
Scope and Usage
The Argonaut Questionnaire resource supports:
- Instructions for Subjects/Provider administrator
- Instructions for the Providers (e.g, Scoring instructions)
- Text based questions
- Including standardized concepts like LOINC
- Answers
- T/F, multiple choice (Including standardized concepts like LOINC)
- Short answer, narrative and other answer types.
-
Provisions for
- Associating numeric scores for each group of questions or each question or each answer choice. (How to calculate the total scores can be described as provider instructions )
- Whether the question is required
- Whether the answer choice is excludes other choices ( for example, a choice of ‘none of the above’).
- Whether the item (for example, provider instructions is hidden)
- Indication for how much time is allowed for the questionnaire, group of questions or each question.
Mandatory Data Elements and Terminology
The following data-elements are mandatory:
Each Questionnaire must have:
- An absolute URI that is used to identify this assessment form when it is referenced by a response **
- A human friendly title
- The form’s status *
- for each questionnaire item:
- An identifier for each item to link to the response in a QuestionnaireResponse resource *
- A questions type for each item (including if a display only or a question grouping element) *
* Mandatory in the base FHIR QuestionnaireResponse resource
** Mandatory in the SDC implementation guide
The system Must Support if available:
- Questionnaire Ordinal Value Extension for use on all answer types and choices.
- Argonaut Questionnaire Time Limit Extension for indicating the duration allowed for all or parts of the assessment.
- Questionnaire Hidden Extension for indicating that the item should not be displayed to the user.
- Questionnaire Option Exclusive Extension A modifier extension for indicating that if this option is selected, no other options may be selected.
- Argonaut Questionnaire Item Order Extension for representing the order of questions within Questionnaires groups, groups within groups and groups within questions and the order of answer choices for questions.
- A version of the assessment
- A description of the assessment
- A standard concept code (e.g., LOINC) for the question or questions
- Text for:
- the Question (including prefixes such as numbering or lettering)
- Instructions to the Subject/Provider administrator and or scorer
- A required flag
- A repeat flag
- A readOnly flag
- Choice list:
- as a contained valueset of standard concepts
- or as an enumerated list
- Nesting or grouping of questions
- the questionnaire’s context for categorizing and grouping for searches
Additional Profile specific implementation guidance:
-
All ValueSets referenced by the
.options
element are contained resources in the Questionnaire and require aValueSet.expansion
. This ensures that the Questionnaire will not adopt a new version of the referenced value set without revising the Questionnaire to point to that new version - putting the author of the Questionnaire in control of any changes. boolean
vschoice
- In a scenario where the end user has to select simple true/false or active/inactive states theboolean
item answer type (e.g, a checkbox control) is appropriate. Where two alternative answers can’t be handled with a simple checkbox then achoice
item answer type is needed. For example, for assigning numeric score values to the individual yes or no answers.text
vsstring
item types -string
item answer types are typically limited to a single line and correspond to the the HTML5<input>
element type “text”. The Questionnairetext
item answer types are intended for multiline answers and correspond to the HTML5<textarea>
form attribute.- Using the item question types
reference
andattachment
is discouraged but not prohibited. The Argonaut QuestionnaireResponse Profile does not require them as answer types and thus a conformant system may be unable to process them. - If a question is marked as
repeats
= true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question. (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.) - In many cases, an assessment form may need available in several languages. A simple translation can be applied the the Questionnaires’s text(string) elements using the standard FHIR Translation extension. However in many case translations involves reworking the form due to cultural difference and result several unique forms each with its own id and url to identify it.
- The item type
display
can have many uses in a form. In addition to providing instruction to the end user, the form author may want to provide provider instructions or educational material within the form. To indicated these different purposes to the Form Filler for rendering, the standard FHIR displayCategory extension is available to indicated the different purposes of the text.
Examples
These examples are designed to demonstrate all the supported elements and the extensions defined in the Argonaut Questionnaire Profiles. Note that they are for educational and testing purposes, see the form copyright statement and do not redistribute without expressed permission from the form author.
- Sampler - a Sample form using all the supported question types
- Sampler with contained Patient - a Sample form using all the supported question types with a contained de-identified patient resource.
- PHQ-9 - An example demonstrating the use of contained value sets for answer choices, decimal scores associated with each value within the valueset.
- AUDIT-C - An example multiple choice form demonstrating the use of contained value sets for answer choices, decimal scores associated with each value within the valueset.
- DAST - An example multiple choice form demonstrating the use of inline codings for answer choices, decimal scores associated with each coding.
- Housing - An example multiple choice form demonstrating the use of inline strings for answer choices, and ‘any of’ choice option with the the exclusive extension for one of the choices.
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/argo-questionnaire
Published on Wed Apr 04 00:00:00 AEST 2018 as active by the Argonaut Project.
This profile builds on Questionnaire
Summary
Mandatory: 2 elements
Must-Support: 29 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
- http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
- http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
- http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
- http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
- http://hl7.org/fhir/StructureDefinition/questionnaire-optionExclusive (Modifier)
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Questionnaire | I | 0..* | A structured set of questions | |
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: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | SI | 0..* | argo_questionnaire_valueset | A set of codes drawn from one or more code systems |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-timeLimit | S | 0..1 | Duration | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | SΣ | 1..1 | uri | Logical URI to reference this questionnaire (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the questionnaire |
version | SΣ | 0..1 | string | Business version of the questionnaire |
name | Σ | 0..1 | string | Name for this questionnaire (computer friendly) |
title | SΣ | 1..1 | string | Name for this questionnaire (human friendly) |
status | ?!SΣ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | SΣ | 0..1 | string | Name of the publisher (organization or individual) |
description | S | 0..1 | markdown | Natural language description of the questionnaire |
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 | SΣ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for questionnaire (if applicable) Binding: Jurisdiction ValueSet (extensible) |
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 Binding: Questionnaire Question Codes (example) |
subjectType | Σ | 0..* | code | Resource that can be subject of QuestionnaireResponse Binding: ResourceType (required) |
item | SI | 0..* | BackboneElement | Questions and sections within the Questionnaire |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-timeLimit | S | 0..1 | Duration | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit |
questionnaire-hidden | SI | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden |
questionnaire-ordinalValue | SI | 0..1 | decimal | Comparison value for ordinal codes URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue |
extension-itemOrder | S | 0..1 | integer | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
linkId | S | 1..1 | string | Unique id for item in questionnaire |
definition | 0..1 | uri | ElementDefinition - details for the item | |
code | SΣI | 0..* | Coding | Corresponding concept for this item in a terminology Binding: Questionnaire Question Codes (example) |
prefix | S | 0..1 | string | E.g. "1(a)", "2.5.3" |
text | SΣ | 0..1 | string | Primary text for the item |
type | S | 1..1 | code | group | display | boolean | decimal | integer | date | dateTime + Binding: QuestionnaireItemType (required) |
enableWhen | ?!ΣI | 0..* | BackboneElement | Only allow data when que-7: enableWhen must contain either a 'answer' or a 'hasAnswer' element |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
question | 1..1 | string | Question that determines whether item is enabled | |
hasAnswer | I | 0..1 | boolean | Enable when answered or not |
answer[x] | I | 0..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource) | Value question must have Binding: Questionnaire Answer Codes (example) |
required | SI | 0..1 | boolean | Whether the item must be included in data results |
repeats | SI | 0..1 | boolean | Whether the item may repeat |
readOnly | SI | 0..1 | boolean | Don't allow human editing |
maxLength | I | 0..1 | integer | No more than this many characters |
options | SI | 0..1 | Reference(ValueSet) | Valueset containing permitted answers q-1: SHALL be a reference to a contained valueset. |
option | SI | 0..* | BackboneElement | Permitted answer |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
questionnaire-ordinalValue | SI | 0..1 | decimal | Comparison value for ordinal codes URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue |
extension-itemOrder | S | 0..1 | integer | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder |
modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?!SI | 0..1 | optionExclusive | Option is exclusive |
value[x] | S | 1..1 | integer, date, time, string, Coding | Answer value Binding: Questionnaire Answer Codes (example) |
initial[x] | I | 0..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource) | Default value when item is first rendered Binding: Questionnaire Answer Codes (example) |
item | SI | 0..* | Unknown reference to #Questionnaire.item Nested questionnaire items | |
Documentation for this format |
Summary
Mandatory: 2 elements
Must-Support: 29 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
- http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
- http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
- http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
- http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
- http://hl7.org/fhir/StructureDefinition/questionnaire-optionExclusive (Modifier)
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Questionnaire | I | 0..* | A structured set of questions | |
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: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | SI | 0..* | argo_questionnaire_valueset | A set of codes drawn from one or more code systems |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-timeLimit | S | 0..1 | Duration | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | SΣ | 1..1 | uri | Logical URI to reference this questionnaire (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the questionnaire |
version | SΣ | 0..1 | string | Business version of the questionnaire |
name | Σ | 0..1 | string | Name for this questionnaire (computer friendly) |
title | SΣ | 1..1 | string | Name for this questionnaire (human friendly) |
status | ?!SΣ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | SΣ | 0..1 | string | Name of the publisher (organization or individual) |
description | S | 0..1 | markdown | Natural language description of the questionnaire |
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 | SΣ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for questionnaire (if applicable) Binding: Jurisdiction ValueSet (extensible) |
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 Binding: Questionnaire Question Codes (example) |
subjectType | Σ | 0..* | code | Resource that can be subject of QuestionnaireResponse Binding: ResourceType (required) |
item | SI | 0..* | BackboneElement | Questions and sections within the Questionnaire |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-timeLimit | S | 0..1 | Duration | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit |
questionnaire-hidden | SI | 0..1 | boolean | Don't display to user URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden |
questionnaire-ordinalValue | SI | 0..1 | decimal | Comparison value for ordinal codes URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue |
extension-itemOrder | S | 0..1 | integer | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
linkId | S | 1..1 | string | Unique id for item in questionnaire |
definition | 0..1 | uri | ElementDefinition - details for the item | |
code | SΣI | 0..* | Coding | Corresponding concept for this item in a terminology Binding: Questionnaire Question Codes (example) |
prefix | S | 0..1 | string | E.g. "1(a)", "2.5.3" |
text | SΣ | 0..1 | string | Primary text for the item |
type | S | 1..1 | code | group | display | boolean | decimal | integer | date | dateTime + Binding: QuestionnaireItemType (required) |
enableWhen | ?!ΣI | 0..* | BackboneElement | Only allow data when que-7: enableWhen must contain either a 'answer' or a 'hasAnswer' element |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
question | 1..1 | string | Question that determines whether item is enabled | |
hasAnswer | I | 0..1 | boolean | Enable when answered or not |
answer[x] | I | 0..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource) | Value question must have Binding: Questionnaire Answer Codes (example) |
required | SI | 0..1 | boolean | Whether the item must be included in data results |
repeats | SI | 0..1 | boolean | Whether the item may repeat |
readOnly | SI | 0..1 | boolean | Don't allow human editing |
maxLength | I | 0..1 | integer | No more than this many characters |
options | SI | 0..1 | Reference(ValueSet) | Valueset containing permitted answers q-1: SHALL be a reference to a contained valueset. |
option | SI | 0..* | BackboneElement | Permitted answer |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
questionnaire-ordinalValue | SI | 0..1 | decimal | Comparison value for ordinal codes URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue |
extension-itemOrder | S | 0..1 | integer | Extension URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder |
modifierExtension | ?!Σ | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?!SI | 0..1 | optionExclusive | Option is exclusive |
value[x] | S | 1..1 | integer, date, time, string, Coding | Answer value Binding: Questionnaire Answer Codes (example) |
initial[x] | I | 0..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource) | Default value when item is first rendered Binding: Questionnaire Answer Codes (example) |
item | SI | 0..* | Unknown reference to #Questionnaire.item Nested questionnaire items | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
Static Forms Use Case:
Adaptive Forms Use Case:
See the Argonaut Adaptive QuestionnaireResponse Profile Quick Start