This page is part of the FHIR Specification (v1.0.0: DSTU 2 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
StructureDefinition for A questionnaire with the ability to specify behavior associated with questions or groups of questions
{ "resourceType": "StructureDefinition", "id": "cqif-questionnaire", "text": { "status": "generated", "div": "<div>!-- Snipped for Brevity --></div>" }, "url": "http://hl7.org/fhir/StructureDefinition/cqif-questionnaire", "name": "CQIF-Questionnaire", "status": "draft", "publisher": "Health Level Seven, Inc. - CDS WG", "contact": [ { "telecom": [ { "system": "other", "value": "http://hl7.org/special/committees/dss" } ] } ], "date": "2015-05-30", "description": "A questionnaire with the ability to specify behavior associated with questions or groups of questions", "kind": "resource", "constrainedType": "Questionnaire", "abstract": false, "base": "http://hl7.org/fhir/StructureDefinition/Questionnaire", "snapshot": { "element": [ { "path": "Questionnaire", "name": "CQIF-Questionnaire", "short": "A questionnaire with the ability to specify behavior associated with questions or groups of questions", "definition": "A CQIF questionnaire is a questionnaire with the added ability to describe behavior associated with questions. For example, whether or not to display a particular question or group of questions, or automatically calculating the value of an answer based on the answers to previous questions.", "alias": [ "Form", "CRF", "Survey" ], "min": 0, "max": "*", "base": { "path": "Questionnaire", "min": 0, "max": "*" }, "type": [ { "code": "Questionnaire" } ], "constraint": [ { "key": "que-3", "severity": "error", "human": "If root group must be \"required\"", "xpath": "f:group/f:required/@value='true'" }, { "key": "que-2", "severity": "error", "human": "The link ids for groups and questions must be unique within the questionnaire", "xpath": "count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))" } ], "mapping": [ { "identity": "rim", "map": "Observation[moodCode=DEF]" }, { "identity": "w5", "map": "infrastructure.information" } ] }, { "path": "Questionnaire.id", "short": "Logical id of this artifact", "definition": "The logical id of the resource, as used in the url for the resource. Once assigned, this value never changes.", "comments": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Bundles always have an id, though it is usually a generated UUID.", "min": 0, "max": "1", "base": { "path": "Questionnaire.id", "min": 0, "max": "1" }, "type": [ { "code": "id" } ], "isSummary": true }, { "path": "Questionnaire.meta", "short": "Metadata about the resource", "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.", "min": 0, "max": "1", "base": { "path": "Questionnaire.meta", "min": 0, "max": "1" }, "type": [ { "code": "Meta" } ], "isSummary": true }, { "path": "Questionnaire.implicitRules", "short": "A set of rules under which this content was created", "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.", "comments": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element as much as possible.", "min": 0, "max": "1", "base": { "path": "Questionnaire.implicitRules", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "isModifier": true, "isSummary": true }, { "path": "Questionnaire.language", "short": "Language of the resource content", "definition": "The base language in which the resource is written.", "comments": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", "min": 0, "max": "1", "base": { "path": "Questionnaire.language", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "binding": { "strength": "required", "description": "A human language", "valueSetUri": "http://tools.ietf.org/html/bcp47" } }, { "path": "Questionnaire.text", "short": "Text summary of the resource, for human interpretation", "definition": "A human-readable narrative that contains a summary of the resource, and may 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.", "comments": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative.", "alias": [ "narrative", "html", "xhtml", "display" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.text", "min": 0, "max": "1" }, "type": [ { "code": "Narrative" } ], "condition": [ "dom-1" ], "mapping": [ { "identity": "rim", "map": "Act.text?" } ] }, { "path": "Questionnaire.contained", "short": "Contained, inline Resources", "definition": "These 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.", "comments": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.", "alias": [ "inline resources", "anonymous resources", "contained resources" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.contained", "min": 0, "max": "*" }, "type": [ { "code": "Resource" } ], "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "path": "Questionnaire.extension", "name": "content", "short": "An attachment containing any logic referenced by the questionnaire", "definition": "A CQL or ELM attachment containing any logic referenced by the questionnaire.", "alias": [ "content" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-content" ] } ] }, { "path": "Questionnaire.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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. Usually modifier elements provide negation or qualification. In order 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.", "comments": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "isModifier": true, "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "path": "Questionnaire.identifier", "short": "External Ids for this questionnaire", "definition": "This records identifiers associated with this question set that are defined by business processed and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).", "requirements": "Need to allow connection to a wider workflow.", "min": 0, "max": "*", "base": { "path": "Questionnaire.identifier", "min": 0, "max": "*" }, "type": [ { "code": "Identifier" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".id[use=BUS]" }, { "identity": "w5", "map": "id" } ] }, { "path": "Questionnaire.version", "short": "Logical id for this version of Questionnaire", "definition": "The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated.", "requirements": "In some cases, separate resource instances might be created for each version (if an older version can be maintained once a new version exists).", "alias": [ "N/A - MIF rather than RIM level" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.version", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".id[use=VER]" }, { "identity": "w5", "map": "id.version" } ] }, { "path": "Questionnaire.status", "short": "draft | published | retired", "definition": "The lifecycle status of the questionnaire as a whole.", "min": 1, "max": "1", "base": { "path": "Questionnaire.status", "min": 1, "max": "1" }, "type": [ { "code": "code" } ], "isModifier": true, "isSummary": true, "binding": { "strength": "required", "description": "Lifecycle status of the questionnaire", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/questionnaire-status" } }, "mapping": [ { "identity": "rim", "map": ".statusCode (also whether there's a revisionControlAct - and possibly mood to distinguish \"in-progress\" from \"published)" }, { "identity": "w5", "map": "status" } ] }, { "path": "Questionnaire.date", "short": "Date this version was authored", "definition": "The date that this questionnaire was last changed.", "alias": [ "Date Created", "Date published", "Date Issued", "Date updated" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.date", "min": 0, "max": "1" }, "type": [ { "code": "dateTime" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".participation[typeCode=AUT].time" }, { "identity": "w5", "map": "when.recorded" } ] }, { "path": "Questionnaire.publisher", "short": "Organization/individual who designed the questionnaire", "definition": "Organization or person responsible for developing and maintaining the questionnaire.", "requirements": "Conveys responsibility for the questions and their organization and also helps evaluate the questionnaire's \"authority\".", "min": 0, "max": "1", "base": { "path": "Questionnaire.publisher", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".participation[typeCode=AUT].role" }, { "identity": "w5", "map": "who.witness" } ] }, { "path": "Questionnaire.telecom", "short": "Contact information of the publisher", "definition": "Contact details to assist a user in finding and communicating with the publisher.", "min": 0, "max": "*", "base": { "path": "Questionnaire.telecom", "min": 0, "max": "*" }, "type": [ { "code": "ContactPoint" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".participation[typeCode=AUT].role.telecom" } ] }, { "path": "Questionnaire.subjectType", "short": "Resource that can be subject of QuestionnaireResponse", "definition": "Identifies the types of subjects that can be the subject of the questionnaire.", "comments": "If none are specified, then the subject is unlimited.", "min": 0, "max": "*", "base": { "path": "Questionnaire.subjectType", "min": 0, "max": "*" }, "type": [ { "code": "code" } ], "isSummary": true, "binding": { "strength": "required", "description": "One of the resource types defined as part of FHIR", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/resource-types" } }, "mapping": [ { "identity": "rim", "map": ".outboundRelationship[typeCode=META].target[classCode=OBS, moodCode=DEFN, isCriterion=true].participation.role.classCode" } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", "valueString": "Group" } ], "path": "Questionnaire.group", "short": "Grouped questions", "definition": "A collection of related questions (or further groupings of questions).", "comments": "The Questionnaire itself has one \"root\" group with the actual contents of the Questionnaire. Information on this root group applies to the questionnaire as a whole.", "requirements": "Need to be able to logically group answers to grouped questions.", "alias": [ "Section" ], "min": 1, "max": "1", "base": { "path": "Questionnaire.group", "min": 1, "max": "1" }, "type": [ { "code": "BackboneElement" } ], "condition": [ "que-3" ], "constraint": [ { "key": "que-1", "severity": "error", "human": "Groups may either contain questions or groups but not both", "xpath": "not(exists(f:group) and exists(f:question))" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".outboundRelationship[typeCode=COMP].target[classCode=DOCSECT, moodCode=EVN]" } ] }, { "path": "Questionnaire.group.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references).", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.id", "min": 0, "max": "1" }, "type": [ { "code": "id" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "path": "Questionnaire.group.extension", "name": "condition", "short": "A condition that determines whether or not the group is applicable", "definition": "The name of an expression that determines whether the group on which it appears is applicable. The expression is evaluated within the current context. If the result of evaluating the expression is true, the group is applicable. The expression has access to the current value of answered questions by the linkId of the question.", "comments": "Note that per Lloyd this extension may not be necessary, it may be able to specified structurally using the elements already available within Questionnaire.", "alias": [ "condition" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.group.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] }, { "path": "Questionnaire.group.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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 that contains it. Usually modifier elements provide negation or qualification. In order 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.", "comments": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content", "modifiers" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.group.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "isModifier": true, "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "path": "Questionnaire.group.linkId", "short": "To link questionnaire with questionnaire response", "definition": "An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource.", "comments": "May be omitted if there is no expectation to link answers back to a questionnaire. This *can* be a meaningful id (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here.", "requirements": "[[[QuestionnaireResponse]]] does not require omitted groups to be included and may have some groups that repeat, so linkage based on position alone is not sufficient.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.linkId", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": ".id" } ] }, { "path": "Questionnaire.group.title", "short": "Name to be displayed for group", "definition": "The human-readable name for this section of the questionnaire.", "comments": "The title of the \"root\" group is the title for the questionnaire.", "requirements": "When including text for the questionnaire with the answers, sections may have a section header.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.title", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": ".title" } ] }, { "path": "Questionnaire.group.concept", "short": "Concept that represents this section on a questionnaire", "definition": "Identifies a how this group of questions is known in a particular terminology such as LOINC.", "comments": "The code(s) for the \"root\" group apply to the questionnaire as a whole.", "requirements": "Allows linking of groups of questions (and complete questionnaires) to formal terminologies.", "min": 0, "max": "*", "base": { "path": "Questionnaire.group.concept", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "isSummary": true, "binding": { "strength": "example", "description": "Codes for groupings of questionnaire questions", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions" } }, "mapping": [ { "identity": "rim", "map": ".code" } ] }, { "path": "Questionnaire.group.text", "short": "Additional text for the group", "definition": "Additional text for the group, used for display purposes.", "comments": "Common extensions are defined for more specialized types of display text.", "requirements": "When including text for the questionnaire, each section may contain additional explanations are background text.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": ".text" } ] }, { "path": "Questionnaire.group.required", "short": "Must group be included in data results?", "definition": "If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.required", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "defaultValueBoolean": false, "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer" } ] }, { "path": "Questionnaire.group.repeats", "short": "Whether the group may repeat", "definition": "Whether the group may occur multiple times in the instance, containing multiple sets of answers.", "requirements": "Groups may be used to create set of (related) questions that can be repeated to give multiple answers to such a set.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.repeats", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "defaultValueBoolean": false, "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer" } ] }, { "path": "Questionnaire.group.group", "short": "Nested questionnaire group", "definition": "A sub-group within a group. The ordering of groups within this group is relevant.", "requirements": "Reports can consist of complex nested groups.", "min": 0, "max": "*", "base": { "path": "Questionnaire.group.group", "min": 0, "max": "*" }, "nameReference": "group", "condition": [ "que-1" ], "mapping": [ { "identity": "rim", "map": ".outboundRelationship[typeCode=COMP].target[classCode=DOCSECT, moodCode=EVN]" } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", "valueString": "Question" } ], "path": "Questionnaire.group.question", "short": "Questions in this group", "definition": "Set of questions within this group. The order of questions within the group is relevant.", "requirements": "Must register answers to questions.", "alias": [ "Responses", "Contents" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question", "min": 0, "max": "*" }, "type": [ { "code": "BackboneElement" } ], "condition": [ "que-1" ], "constraint": [ { "key": "que-4", "severity": "error", "human": "A question must use either option or options, not both", "xpath": "not(f:options and f:option)" } ], "mapping": [ { "identity": "rim", "map": ".outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=EVN or DEF]" } ] }, { "path": "Questionnaire.group.question.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references).", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.id", "min": 0, "max": "1" }, "type": [ { "code": "id" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "path": "Questionnaire.group.question.extension", "slicing": { "discriminator": [ "url" ], "ordered": false, "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order 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.", "comments": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "path": "Questionnaire.group.question.extension", "name": "initialValue", "short": "An expression that provides the initial value for the answer to the question", "definition": "The name of an expression that determines the initial value for the answer to the question. This expression is evaluated once as part of displaying the form, and does not have access to the answers to other questions.", "alias": [ "initialValue" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] }, { "path": "Questionnaire.group.question.extension", "name": "calculatedValue", "short": "An expression that provides a calculated value for the answer to the question", "definition": "The name of an expression that determines a calculated value for the answer to the question. The expression is evaluated as necessary and has access to the answers to other questions by the linkId of the question.", "alias": [ "calculatedValue" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] }, { "path": "Questionnaire.group.question.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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 that contains it. Usually modifier elements provide negation or qualification. In order 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.", "comments": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content", "modifiers" ], "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "isModifier": true, "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "path": "Questionnaire.group.question.linkId", "short": "To link questionnaire with questionnaire response", "definition": "An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource.", "comments": "May be omitted if there is no expectation to link answers back to a questionnaire. This *can* be a meaningful id (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here.", "requirements": "[[[QuestionnaireResponse]]] does not require omitted groups to be included and may have some groups that repeat, so linkage based on position alone is not sufficient.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.linkId", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": ".id" } ] }, { "path": "Questionnaire.group.question.concept", "short": "Concept that represents this question on a questionnaire", "definition": "Identifies a how this question is known in a particular terminology such as LOINC.", "requirements": "Allows linking of questions (and their answers) to formal terminologies.", "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question.concept", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "binding": { "strength": "example", "description": "Codes corresponding to individual questions", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions" } }, "mapping": [ { "identity": "rim", "map": ".code" } ] }, { "path": "Questionnaire.group.question.text", "short": "Text of the question as it is shown to the user", "definition": "The actual question as shown to the user to prompt them for an answer.", "comments": "Common extensions are defined for more specialized types of display text.", "requirements": "When including text for the questionnaire, each question may contain its actual question display text.", "alias": [ "Question" ], "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": ".code.display" } ] }, { "path": "Questionnaire.group.question.type", "short": "boolean | decimal | integer | date | dateTime +", "definition": "The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected.", "comments": "Additional constraints on the type of answer can be conveyed by extensions.", "requirements": "Defines the format in which the user is to be prompted for the answer.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.type", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "binding": { "strength": "required", "description": "The expected format of an answer", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/answer-format" } }, "mapping": [ { "identity": "rim", "map": "N/A - MIF rather than RIM level" } ] }, { "path": "Questionnaire.group.question.required", "short": "Must question be answered in data results?", "definition": "If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.required", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "defaultValueBoolean": false, "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer" } ] }, { "path": "Questionnaire.group.question.repeats", "short": "Can question have multiple answers?", "definition": "If true, the question may have more than one answer.", "comments": "Whether the question itself will be displayed for each answer is a rendering choice typically based on whether there are nested groups.", "requirements": "Used for \"check all that apply\" types of questions or \"list your top 3\", etc.", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.repeats", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "defaultValueBoolean": false, "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer" } ] }, { "path": "Questionnaire.group.question.options", "short": "Valueset containing permitted answers", "definition": "Reference to a valueset containing the a list of codes representing permitted answers for the question.", "comments": "LOINC defines many useful value sets for questionnaire response. See [LOINC Answer Lists](loinc.html#alist).", "min": 0, "max": "1", "base": { "path": "Questionnaire.group.question.options", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "profile": [ "http://hl7.org/fhir/StructureDefinition/ValueSet" ] } ], "condition": [ "que-4" ], "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer to capture value set" } ] }, { "path": "Questionnaire.group.question.option", "short": "Permitted answer", "definition": "For a \"choice\" question, identifies one of the permitted answers for the question.", "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question.option", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "condition": [ "que-4" ], "binding": { "strength": "example", "description": "Allowed values to answer questions", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers" } }, "mapping": [ { "identity": "rim", "map": "Not supported - MIF/templating layer to capture value set" } ] }, { "path": "Questionnaire.group.question.group", "short": "Nested questionnaire group", "definition": "Nested group, containing nested question for this question. The order of groups within the question is relevant.", "requirements": "It is useful to have \"sub-questions\", questions which normally appear when certain answers are given and which collect additional details.", "min": 0, "max": "*", "base": { "path": "Questionnaire.group.question.group", "min": 0, "max": "*" }, "nameReference": "group", "mapping": [ { "identity": "rim", "map": ".outboundRelationship[typeCode=COMP].target[classCode=DOCSECT, moodCode=EVN]" } ] } ] }, "differential": { "element": [ { "path": "Questionnaire", "name": "CQIF-Questionnaire", "short": "A questionnaire with the ability to specify behavior associated with questions or groups of questions", "definition": "A CQIF questionnaire is a questionnaire with the added ability to describe behavior associated with questions. For example, whether or not to display a particular question or group of questions, or automatically calculating the value of an answer based on the answers to previous questions.", "min": 0, "max": "*", "type": [ { "code": "Questionnaire" } ] }, { "path": "Questionnaire.extension", "name": "content", "slicing": { "discriminator": [ "url" ], "ordered": false, "rules": "open" }, "short": "An attachment containing any logic referenced by the questionnaire", "definition": "A CQL or ELM attachment containing any logic referenced by the questionnaire.", "alias": [ "content" ], "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-content" ] } ] }, { "path": "Questionnaire.group" }, { "path": "Questionnaire.group.extension", "name": "condition", "slicing": { "discriminator": [ "url" ], "ordered": false, "rules": "open" }, "short": "A condition that determines whether or not the group is applicable", "definition": "The name of an expression that determines whether the group on which it appears is applicable. The expression is evaluated within the current context. If the result of evaluating the expression is true, the group is applicable. The expression has access to the current value of answered questions by the linkId of the question.", "comments": "Note that per Lloyd this extension may not be necessary, it may be able to specified structurally using the elements already available within Questionnaire.", "alias": [ "condition" ], "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] }, { "path": "Questionnaire.group.question" }, { "path": "Questionnaire.group.question.extension", "name": "initialValue", "slicing": { "discriminator": [ "url" ], "ordered": false, "rules": "open" }, "short": "An expression that provides the initial value for the answer to the question", "definition": "The name of an expression that determines the initial value for the answer to the question. This expression is evaluated once as part of displaying the form, and does not have access to the answers to other questions.", "alias": [ "initialValue" ], "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] }, { "path": "Questionnaire.group.question.extension", "name": "calculatedValue", "short": "An expression that provides a calculated value for the answer to the question", "definition": "The name of an expression that determines a calculated value for the answer to the question. The expression is evaluated as necessary and has access to the answers to other questions by the linkId of the question.", "alias": [ "calculatedValue" ], "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/StructureDefinition/cqif-basic-expression" ] } ] } ] } }