xCaliber healthCare Data Mesh

Questionnaire

Overview

Questionnaires represent a structured set of healthcare related questions used for clinical data collection, research assessments, quality reporting and other standard surveys.

Use Cases

  • Patient Intake - Build digital intake form questionnaires for practices and facilities.
  • Symptom Screening - Create questionnaires for patients to self-report symptoms at check-in.
  • Patient Reported Outcomes - Capture patient health surveys, quality of life scores digitally.
  • Telehealth - Administer assessment questionnaires remotely via telemedicine visits.
  • Clinical Research - Develop research study questionnaires and collect responses electronically.
  • Decision Support - Integrate questionnaire responses to guide evidence-based clinical decision making.
  • Population Analytics - Analyze aggregated questionnaire data to gain population health insights.
  • Compliance Reporting - Automate generation of reports from questionnaires for regulatory compliance.
  • Workflow Integration - Incorporate questionnaires into clinical and administrative workflows.
  • Patient Engagement - Administer health risk assessments and collect feedback through questionnaires.

EHR Data Model

EHRSupported?Mapped Source Object
AthenaSocial History, Screening Questionnaire
ElationN/A
EpicN/A

Object Definition

{
  "resourceType": "Questionnaire",
  "id": "3141",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <pre>\n            1.Comorbidity?\n              1.1 Cardial Comorbidity\n                1.1.1 Angina?\n                1.1.2 MI?\n              1.2 Vascular Comorbidity?\n              ...\n            Histopathology\n              Abdominal\n                pT category?\n              ...\n          </pre>\n    </div>"
  },
  "url": "http://hl7.org/fhir/Questionnaire/3141",
  "title": "Cancer Quality Forum Questionnaire 2012",
  "status": "draft",
  "subjectType": [
    "Patient"
  ],
  "date": "2012-01",
  "item": [
    {
      "linkId": "1",
      "code": [
        {
          "system": "http://example.org/system/code/sections",
          "code": "COMORBIDITY"
        }
      ],
      "type": "group",
      "item": [
        {
          "linkId": "1.1",
          "code": [
            {
              "system": "http://example.org/system/code/questions",
              "code": "COMORB"
            }
          ],
          "prefix": "1",
          "type": "choice",
          "answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow",
          "item": [
            {
              "linkId": "1.1.1",
              "code": [
                {
                  "system": "http://example.org/system/code/sections",
                  "code": "CARDIAL"
                }
              ],
              "type": "group",
              "enableWhen": [
                {
                  "question": "1.1",
                  "operator": "=",
                  "answerCoding": {
                    "system": "http://terminology.hl7.org/CodeSystem/v2-0136",
                    "code": "Y"
                  }
                }
              ],
              "item": [
                {
                  "linkId": "1.1.1.1",
                  "code": [
                    {
                      "system": "http://example.org/system/code/questions",
                      "code": "COMORBCAR"
                    }
                  ],
                  "prefix": "1.1",
                  "type": "choice",
                  "answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow",
                  "item": [
                    {
                      "linkId": "1.1.1.1.1",
                      "code": [
                        {
                          "system": "http://example.org/system/code/questions",
                          "code": "COMCAR00",
                          "display": "Angina Pectoris"
                        },
                        {
                          "system": "http://snomed.info/sct",
                          "code": "194828000",
                          "display": "Angina (disorder)"
                        }
                      ],
                      "prefix": "1.1.1",
                      "type": "choice",
                      "answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
                    },
                    {
                      "linkId": "1.1.1.1.2",
                      "code": [
                        {
                          "system": "http://snomed.info/sct",
                          "code": "22298006",
                          "display": "Myocardial infarction (disorder)"
                        }
                      ],
                      "prefix": "1.1.2",
                      "type": "choice",
                      "answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
                    }
                  ]
                },
                {
                  "linkId": "1.1.1.2",
                  "code": [
                    {
                      "system": "http://example.org/system/code/questions",
                      "code": "COMORBVAS"
                    }
                  ],
                  "prefix": "1.2",
                  "type": "choice",
                  "answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "linkId": "2",
      "code": [
        {
          "system": "http://example.org/system/code/sections",
          "code": "HISTOPATHOLOGY"
        }
      ],
      "type": "group",
      "item": [
        {
          "linkId": "2.1",
          "code": [
            {
              "system": "http://example.org/system/code/sections",
              "code": "ABDOMINAL"
            }
          ],
          "type": "group",
          "item": [
            {
              "linkId": "2.1.2",
              "code": [
                {
                  "system": "http://example.org/system/code/questions",
                  "code": "STADPT",
                  "display": "pT category"
                }
              ],
              "type": "choice"
            }
          ]
        }
      ]
    }
  ]
}

Data Fields

Data FieldTypeDescription
resourceTypeQuestionnaireThis is a Questionnaire resource
ididThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
metaMetaThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
implicitRulesuriA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
languagecodeThe base language in which the resource is written.
textNarrativeA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
containedBackboneElementThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
urluriAn absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this questionnaire is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the questionnaire is stored on different servers.
identifierIdentifierA formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.
versionstringThe identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
namestringA natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.
titlestringA short, descriptive, user-friendly title for the questionnaire.
derivedFromcanonicalThe URL of a Questionnaire that this Questionnaire is based on.
statuscodeThe status of this questionnaire. Enables tracking the life-cycle of the content.
experimentalbooleanA Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
subjectTypecodeThe types of subjects that can be the subject of responses created for the questionnaire.
datedateTimeThe date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.
publisherstringThe name of the organization or individual that published the questionnaire.
contactContactDetailContact details to assist a user in finding and communicating with the publisher.
descriptionmarkdownA free text natural language description of the questionnaire from a consumer's perspective.
useContextUsageContextThe content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances.
jurisdictionCodeableConceptA legal or geographic region in which the questionnaire is intended to be used.
purposemarkdownExplanation of why this questionnaire is needed and why it has been designed as it has.
copyrightmarkdownA copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.
approvalDatedateThe date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
lastReviewDatedateThe date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
effectivePeriodPeriodThe period during which the questionnaire content was or is planned to be in active use.
codeCodingAn identifier for this question or group of questions in a particular terminology such as LOINC.
itemBackboneElementA particular question, question grouping or display text that is part of the questionnaire.
item.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
item.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
item.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
item.linkIdstringAn identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource.
item.definitionuriThis element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value: * code (ElementDefinition.code) * type (ElementDefinition.type) * required (ElementDefinition.min) * repeats (ElementDefinition.max) * maxLength (ElementDefinition.maxLength) * answerValueSet (ElementDefinition.binding) * options (ElementDefinition.binding).
item.codeCodingA terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).
item.prefixstringA short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.
item.textstringThe name of a section, the text of a question or text content for a display item.
item.typecodeThe type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.).
item.enableWhenBackboneElementA constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.
item.enableWhen.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
item.enableWhen.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
item.enableWhen.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
item.enableWhen.questionstringThe linkId for the question whose answer (or lack of answer) governs whether this item is enabled.
item.enableWhen.operatorcodeSpecifies the criteria by which the question is enabled.
item.enableWhen.answerBooleanbooleanA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerDecimalnumberA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerIntegernumberA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerDatestringA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerDateTimestringA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerTimestringA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerStringstringA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerCodingCodingA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerQuantityQuantityA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableWhen.answerReferenceReferenceA value that the referenced question is tested using the specified operator in order for the item to be enabled.
item.enableBehaviorcodeControls how multiple enableWhen values are interpreted - whether all or any must be true.
item.requiredbooleanAn indication, if true, that the item must be present in a "completed" QuestionnaireResponse. If false, the item may be skipped when answering the questionnaire.
item.repeatsbooleanAn indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.
item.readOnlybooleanAn indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.
item.maxLengthintegerThe maximum number of characters that are permitted in the answer to be considered a "valid" QuestionnaireResponse.
item.answerValueSetcanonicalA reference to a value set containing a list of codes representing permitted answers for a "choice" or "open-choice" question.
item.answerOptionBackboneElementOne of the permitted answers for a "choice" or "open-choice" question.
item.answerOption.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
item.answerOption.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
item.answerOption.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
item.answerOption.valueIntegernumberA potential answer that's allowed as the answer to this question.
item.answerOption.valueDatestringA potential answer that's allowed as the answer to this question.
item.answerOption.valueTimestringA potential answer that's allowed as the answer to this question.
item.answerOption.valueStringstringA potential answer that's allowed as the answer to this question.
item.answerOption.valueCodingCodingA potential answer that's allowed as the answer to this question.
item.answerOption.valueReferenceReferenceA potential answer that's allowed as the answer to this question.
item.answerOption.initialSelectedbooleanIndicates whether the answer value is selected when the list of possible answers is initially shown.
item.initialBackboneElementOne or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input.
item.initial.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
item.initial.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
item.initial.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
item.initial.valueBooleanbooleanThe actual value to for an initial answer.
item.initial.valueDecimalnumberThe actual value to for an initial answer.
item.initial.valueIntegernumberThe actual value to for an initial answer.
item.initial.valueDatestringThe actual value to for an initial answer.
item.initial.valueDateTimestringThe actual value to for an initial answer.
item.initial.valueTimestringThe actual value to for an initial answer.
item.initial.valueStringstringThe actual value to for an initial answer.
item.initial.valueUristringThe actual value to for an initial answer.
item.initial.valueAttachmentAttachmentThe actual value to for an initial answer.
item.initial.valueCodingCodingThe actual value to for an initial answer.
item.initial.valueQuantityQuantityThe actual value to for an initial answer.
item.initial.valueReferenceReferenceThe actual value to for an initial answer.

Extensions

NameURL
DEPRECATEDhttp://xcaliber-fhir/structureDefinition/deprecated
ORDERINGhttp://xcaliber-fhir/structureDefinition/ordering
QUESTIONIDhttp://xcaliber-fhir/structureDefinition/id

Operations & APIs

Questionnaire-GET

Questionnaire-POST

Questionnaire ID-GET

Questionnaire ID-PUT

Questionnaire ID-DELETE