Argonaut Questionnaire Implementation Guide (Release 1.0.0 )

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:

  1. An absolute URI that is used to identify this assessment form when it is referenced by a response **
  2. A human friendly title
  3. The form’s status *
  4. for each questionnaire item:
    1. An identifier for each item to link to the response in a QuestionnaireResponse resource *
    2. 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:

  1. Questionnaire Ordinal Value Extension for use on all answer types and choices.
  2. Argonaut Questionnaire Time Limit Extension for indicating the duration allowed for all or parts of the assessment.
  3. Questionnaire Hidden Extension for indicating that the item should not be displayed to the user.
  4. Questionnaire Option Exclusive Extension A modifier extension for indicating that if this option is selected, no other options may be selected.
  5. 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.
  6. A version of the assessment
  7. A description of the assessment
  8. A standard concept code (e.g., LOINC) for the question or questions
  9. Text for:
    1. the Question (including prefixes such as numbering or lettering)
    2. Instructions to the Subject/Provider administrator and or scorer
  10. A required flag
  11. A repeat flag
  12. A readOnly flag
  13. Choice list:
    1. as a contained valueset of standard concepts
    2. or as an enumerated list
  14. Nesting or grouping of questions
  15. the questionnaire’s context for categorizing and grouping for searches

Additional Profile specific implementation guidance:

  1. All ValueSets referenced by the .options element are contained resources in the Questionnaire and require a ValueSet.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.

  2. boolean vs choice - In a scenario where the end user has to select simple true/false or active/inactive states the booleanitem answer type (e.g, a checkbox control) is appropriate. Where two alternative answers can’t be handled with a simple checkbox then a choice item answer type is needed. For example, for assigning numeric score values to the individual yes or no answers.
  3. text vs string item types - string item answer types are typically limited to a single line and correspond to the the HTML5 <input> element type “text”. The Questionnaire text item answer types are intended for multiline answers and correspond to the HTML5 <textarea> form attribute.
  4. Using the item question types reference and attachment 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.
  5. 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.)
  6. 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.
  7. 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


NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire 0..*
... contained S0..*argo_questionnaire_valueset
... extension-timeLimit S0..1DurationQuestions and answer time limit
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
... url S1..1uri
... version S0..1string
... title S1..1string
... status S1..1code
... publisher S0..1string
... description S0..1markdown
... useContext S0..*UsageContext
... item S0..*BackboneElement
.... extension-timeLimit S0..1DurationQuestions and answer time limit
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
.... questionnaire-hidden S0..1booleanDon't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
.... questionnaire-ordinalValue S0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
.... extension-itemOrder S0..1integerQuestions and answer choice order rank.
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
.... linkId S1..1string
.... code S0..*Coding
.... prefix S0..1string
.... text S0..1string
.... type S1..1code
.... required S0..1boolean
.... repeats S0..1boolean
.... readOnly S0..1boolean
.... options SI0..1Reference(ValueSet)q-1: SHALL be a reference to a contained valueset.
.... option S0..*BackboneElement
..... questionnaire-ordinalValue S0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
..... extension-itemOrder S0..1integerQuestions and answer choice order rank.
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
..... modifierExtension ?!S0..1optionExclusive
..... value[x] S1..1integer, date, time, string, Coding
.... item S0..*

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire I0..*A structured set of questions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained SI0..*argo_questionnaire_valuesetA set of codes drawn from one or more code systems
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension-timeLimit S0..1DurationExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriLogical URI to reference this questionnaire (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the questionnaire
... version SΣ0..1stringBusiness version of the questionnaire
... name Σ0..1stringName for this questionnaire (computer friendly)
... title SΣ1..1stringName for this questionnaire (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S0..1markdownNatural language description of the questionnaire
... purpose 0..1markdownWhy this questionnaire is defined
... approvalDate 0..1dateWhen the questionnaire was approved by publisher
... lastReviewDate 0..1dateWhen the questionnaire was last reviewed
... effectivePeriod Σ0..1PeriodWhen the questionnaire is expected to be used
... useContext SΣ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... code Σ0..*CodingConcept that represents the overall questionnaire
Binding: Questionnaire Question Codes (example)
... subjectType Σ0..*codeResource that can be subject of QuestionnaireResponse
Binding: ResourceType (required)
... item SI0..*BackboneElementQuestions and sections within the Questionnaire
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... extension-timeLimit S0..1DurationExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
.... questionnaire-hidden SI0..1booleanDon't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
.... questionnaire-ordinalValue SI0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
.... extension-itemOrder S0..1integerExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... linkId S1..1stringUnique id for item in questionnaire
.... definition 0..1uriElementDefinition - details for the item
.... code SΣI0..*CodingCorresponding concept for this item in a terminology
Binding: Questionnaire Question Codes (example)
.... prefix S0..1stringE.g. "1(a)", "2.5.3"
.... text SΣ0..1stringPrimary text for the item
.... type S1..1codegroup | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required)
.... enableWhen ?!ΣI0..*BackboneElementOnly allow data when
que-7: enableWhen must contain either a 'answer' or a 'hasAnswer' element
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... question 1..1stringQuestion that determines whether item is enabled
..... hasAnswer I0..1booleanEnable when answered or not
..... answer[x] I0..1boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Value question must have
Binding: Questionnaire Answer Codes (example)
.... required SI0..1booleanWhether the item must be included in data results
.... repeats SI0..1booleanWhether the item may repeat
.... readOnly SI0..1booleanDon't allow human editing
.... maxLength I0..1integerNo more than this many characters
.... options SI0..1Reference(ValueSet)Valueset containing permitted answers
q-1: SHALL be a reference to a contained valueset.
.... option SI0..*BackboneElementPermitted answer
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... questionnaire-ordinalValue SI0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
..... extension-itemOrder S0..1integerExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
..... modifierExtension ?!Σ0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... modifierExtension ?!SI0..1optionExclusiveOption is exclusive
..... value[x] S1..1integer, date, time, string, CodingAnswer value
Binding: Questionnaire Answer Codes (example)
.... initial[x] I0..1boolean, 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 SI0..*Unknown reference to #Questionnaire.item
Nested questionnaire items

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire 0..*
... contained S0..*argo_questionnaire_valueset
... extension-timeLimit S0..1DurationQuestions and answer time limit
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
... url S1..1uri
... version S0..1string
... title S1..1string
... status S1..1code
... publisher S0..1string
... description S0..1markdown
... useContext S0..*UsageContext
... item S0..*BackboneElement
.... extension-timeLimit S0..1DurationQuestions and answer time limit
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
.... questionnaire-hidden S0..1booleanDon't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
.... questionnaire-ordinalValue S0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
.... extension-itemOrder S0..1integerQuestions and answer choice order rank.
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
.... linkId S1..1string
.... code S0..*Coding
.... prefix S0..1string
.... text S0..1string
.... type S1..1code
.... required S0..1boolean
.... repeats S0..1boolean
.... readOnly S0..1boolean
.... options SI0..1Reference(ValueSet)q-1: SHALL be a reference to a contained valueset.
.... option S0..*BackboneElement
..... questionnaire-ordinalValue S0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
..... extension-itemOrder S0..1integerQuestions and answer choice order rank.
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
..... modifierExtension ?!S0..1optionExclusive
..... value[x] S1..1integer, date, time, string, Coding
.... item S0..*

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire I0..*A structured set of questions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained SI0..*argo_questionnaire_valuesetA set of codes drawn from one or more code systems
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension-timeLimit S0..1DurationExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriLogical URI to reference this questionnaire (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the questionnaire
... version SΣ0..1stringBusiness version of the questionnaire
... name Σ0..1stringName for this questionnaire (computer friendly)
... title SΣ1..1stringName for this questionnaire (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S0..1markdownNatural language description of the questionnaire
... purpose 0..1markdownWhy this questionnaire is defined
... approvalDate 0..1dateWhen the questionnaire was approved by publisher
... lastReviewDate 0..1dateWhen the questionnaire was last reviewed
... effectivePeriod Σ0..1PeriodWhen the questionnaire is expected to be used
... useContext SΣ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... code Σ0..*CodingConcept that represents the overall questionnaire
Binding: Questionnaire Question Codes (example)
... subjectType Σ0..*codeResource that can be subject of QuestionnaireResponse
Binding: ResourceType (required)
... item SI0..*BackboneElementQuestions and sections within the Questionnaire
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... extension-timeLimit S0..1DurationExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-timeLimit
.... questionnaire-hidden SI0..1booleanDon't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
.... questionnaire-ordinalValue SI0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
.... extension-itemOrder S0..1integerExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... linkId S1..1stringUnique id for item in questionnaire
.... definition 0..1uriElementDefinition - details for the item
.... code SΣI0..*CodingCorresponding concept for this item in a terminology
Binding: Questionnaire Question Codes (example)
.... prefix S0..1stringE.g. "1(a)", "2.5.3"
.... text SΣ0..1stringPrimary text for the item
.... type S1..1codegroup | display | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required)
.... enableWhen ?!ΣI0..*BackboneElementOnly allow data when
que-7: enableWhen must contain either a 'answer' or a 'hasAnswer' element
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... question 1..1stringQuestion that determines whether item is enabled
..... hasAnswer I0..1booleanEnable when answered or not
..... answer[x] I0..1boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Value question must have
Binding: Questionnaire Answer Codes (example)
.... required SI0..1booleanWhether the item must be included in data results
.... repeats SI0..1booleanWhether the item may repeat
.... readOnly SI0..1booleanDon't allow human editing
.... maxLength I0..1integerNo more than this many characters
.... options SI0..1Reference(ValueSet)Valueset containing permitted answers
q-1: SHALL be a reference to a contained valueset.
.... option SI0..*BackboneElementPermitted answer
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... questionnaire-ordinalValue SI0..1decimalComparison value for ordinal codes
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-ordinalValue
..... extension-itemOrder S0..1integerExtension
URL: http://fhir.org/guides/argonaut/questionnaire/StructureDefinition/extension-itemOrder
..... modifierExtension ?!Σ0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... modifierExtension ?!SI0..1optionExclusiveOption is exclusive
..... value[x] S1..1integer, date, time, string, CodingAnswer value
Binding: Questionnaire Answer Codes (example)
.... initial[x] I0..1boolean, 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 SI0..*Unknown reference to #Questionnaire.item
Nested questionnaire items

doco 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