FHIR Extensions Pack
5.1.0 - 5.1.0 (April 2024) International flag

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

: Questionnaire Item UI Control Codes System - JSON Representation

Page standards status: Trial-use Maturity Level: 3

Raw json | Download


{
  "resourceType" : "CodeSystem",
  "id" : "questionnaire-item-control",
  "meta" : {
    "lastUpdated" : "2023-01-31T07:07:38.434+11:00",
    "profile" : [
      🔗 "http://hl7.org/fhir/StructureDefinition/shareablecodesystem"
    ]
  },
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Properties</b></p><p><b>This code system defines the following properties for its concepts</b></p><table class=\"grid\"><tr><td><b>Code</b></td><td><b>URI</b></td><td><b>Type</b></td><td><b>Description</b></td></tr><tr><td>abstract</td><td>http://hl7.org/fhir/concept-properties#notSelectable</td><td>boolean</td><td>True if an element is considered 'abstract' - that is the code is not for use as a real concept</td></tr><tr><td>status</td><td>http://hl7.org/fhir/concept-properties#status</td><td>code</td><td>A property that indicates the status of the concept. One of active, experimental, deprecated, or retired.</td></tr><tr><td>deprecationDate</td><td>http://hl7.org/fhir/concept-properties#deprecationDate</td><td>dateTime</td><td>The date at which a concept was deprecated. Concepts that are deprecated but not inactive can still be used, but their use is discouraged.</td></tr></table><p><b>Concepts</b></p><p>This case-sensitive code system <code>http://hl7.org/fhir/questionnaire-item-control</code> defines the following codes in a Is-A hierarchy:</p><table class=\"codes\"><tr><td><b>Lvl</b></td><td style=\"white-space:nowrap\"><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td><td><b>Deprecated</b></td><td><b>Not Selectable</b></td><td><b>Status</b></td><td><b>Deprecation Date</b></td></tr><tr><td>1</td><td style=\"white-space:nowrap\">group<a name=\"questionnaire-item-control-group\"> </a></td><td/><td><div><p>UI controls relevant to organizing groups of questions</p>\n</div></td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0list<a name=\"questionnaire-item-control-list\"> </a></td><td>List</td><td><div><p>Questions within the group should be listed sequentially</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0table<a name=\"questionnaire-item-control-table\"> </a></td><td>Vertical Answer Table</td><td><div><p>Questions within the group are rows in the table with possible answers as columns.  Used for 'choice' questions.  The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression.  In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0htable<a name=\"questionnaire-item-control-htable\"> </a></td><td>Horizontal Answer Table</td><td><div><p>Questions within the group are columns in the table with possible answers as rows.  Used for 'choice' questions.  The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression.  In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0gtable<a name=\"questionnaire-item-control-gtable\"> </a></td><td>Group Table</td><td><div><p>Questions within the group are columns in the table with each group repetition as a row.  Used for single-answer questions.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0grid<a name=\"questionnaire-item-control-grid\"> </a></td><td>Group Grid</td><td><div><p>Child items of type='group' within the a 'grid' group are rows, and questions beneath the 'row' groups are organized as columns in the grid. The grid might be fully populated, but could be sparse. Questions may support different data types and/or different answer choices.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0header<a name=\"questionnaire-item-control-header\"> </a></td><td>Header</td><td><div><p>The group is to be continuously visible at the top of the questionnaire</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0footer<a name=\"questionnaire-item-control-footer\"> </a></td><td>Footer</td><td><div><p>The group is to be continuously visible at the bottom of the questionnaire</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0page<a name=\"questionnaire-item-control-page\"> </a></td><td>Page</td><td><div><p>Indicates that the content within the group should appear as a logical &quot;page&quot; when rendering the form, such that all enabled items        within the page are displayed at once, but items in subsequent groups are not displayed until the user indicates a desire to move to the 'next' group.        (Header and footer items may still be displayed.) This designation may also influence pagination when printing questionnaires. If there are items at the same        level as a 'page' group that are listed before the 'page' group, they will be treated as a separate page.  Header and footer groups for a questionnaire will be rendered on all pages.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0tab-container<a name=\"questionnaire-item-control-tab-container\"> </a></td><td>Tab Container</td><td><div><p>Indicates that the group represents a collection of tabs. All child items SHALL be of type 'group' and SHALL NOT declare any item controls themselves. Each child group represents one tab within the tab container, where the item.title is the label for the tab.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>1</td><td style=\"white-space:nowrap\">display<a name=\"questionnaire-item-control-display\"> </a></td><td/><td><div><p>UI controls relevant to rendering questionnaire display items</p>\n</div></td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0inline<a name=\"questionnaire-item-control-inline\"> </a></td><td>In-line</td><td><div><p>Display item is rendered as a paragraph in a sequential position between sibling items (default behavior)</p>\n</div></td><td/><td/><td/><td/></tr><tr style=\"background-color: #ffeeee\"><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0prompt<a name=\"questionnaire-item-control-prompt\"> </a></td><td>Prompt</td><td><div><p>Text is displayed immediately below or within the answer-entry area of the containing question item (typically as a guide for what to enter).  <strong>Deprecation Note</strong> - Use the <a href=\"StructureDefinition-entryFormat.html\">http://hl7.org/fhir/StructureDefinition/entryFormat</a> extension instead.</p>\n</div></td><td>Deprecated</td><td/><td>deprecated</td><td>2019-10-03</td></tr><tr style=\"background-color: #ffeeee\"><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0unit<a name=\"questionnaire-item-control-unit\"> </a></td><td>Unit</td><td><div><p>Display item is rendered adjacent (horizontally or vertically) to the answer space for the parent question, typically to indicate a unit of measure.  <strong>Deprecation Note</strong> - The display element of the <a href=\"StructureDefinition-questionnaire-unit.html\">http://hl7.org/fhir/StructureDefinition/questionnaire-unit</a> should be used instead.</p>\n</div></td><td>Deprecated</td><td/><td>deprecated</td><td>2022-09-08</td></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0lower<a name=\"questionnaire-item-control-lower\"> </a></td><td>Lower-bound</td><td><div><p>Display item is rendered to the left of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'lower' bound.  E.g. 'Strongly disagree'</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0upper<a name=\"questionnaire-item-control-upper\"> </a></td><td>Upper-bound</td><td><div><p>Display item is rendered to the right of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'upper' bound.  E.g. 'Strongly agree'</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0flyover<a name=\"questionnaire-item-control-flyover\"> </a></td><td>Fly-over</td><td><div><p>Display item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0help<a name=\"questionnaire-item-control-help\"> </a></td><td>Help-Button</td><td><div><p>Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'help' for a question, group or the questionnaire as a whole (depending what the display item is nested within)</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0legal<a name=\"questionnaire-item-control-legal\"> </a></td><td>legal-Button</td><td><div><p>Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'legal' info for a question, group or the questionnaire as a whole (depending what the display item is nested within)</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>1</td><td style=\"white-space:nowrap\">question<a name=\"questionnaire-item-control-question\"> </a></td><td/><td><div><p>UI controls relevant to capturing question data</p>\n</div></td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0autocomplete<a name=\"questionnaire-item-control-autocomplete\"> </a></td><td>Auto-complete</td><td><div><p>A control which provides a list of potential matches based on text entered into a control.  Used for large choice sets where text-matching is an appropriate discovery mechanism.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0drop-down<a name=\"questionnaire-item-control-drop-down\"> </a></td><td>Drop down</td><td><div><p>A control where an item (or multiple items) can be selected from a list that is only displayed when the user is editing the field.  This control is best used for small-to-medium sized lists of options that can reasonably be scanned and selected in a drop-down control.  If the list of options is managed by ValueSet, the designer should be confident that the set of codes will both be fully available and appropriately sized.  For larger lists, the autocomplete control is more appropriate.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0check-box<a name=\"questionnaire-item-control-check-box\"> </a></td><td>Check-box</td><td><div><p>A control where choices are listed with a box beside them.  The box can be toggled to select or de-select a given choice.  Multiple selections may be possible.  Commonly useful for repeating items of type constrained by answerOption, answerValueset or answerExpression, however can also be used for boolean (if the checkbox is a 3-state control that allows 'unanswered' as a possibility).</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0lookup<a name=\"questionnaire-item-control-lookup\"> </a></td><td>Lookup</td><td><div><p>A control where editing an item spawns a separate dialog box or screen permitting a user to navigate, filter or otherwise discover an appropriate match.  Useful for large choice sets where text matching is not an appropriate discovery mechanism.  Such screens must generally be tuned for the specific choice list structure.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0radio-button<a name=\"questionnaire-item-control-radio-button\"> </a></td><td>Radio Button</td><td><div><p>A control where choices are listed with a button beside them.  The button can be toggled to select or de-select a given choice.  Selecting one item deselects all others.  Used for non-repeating items with 'closed' answerOption, answerValueset or answerExpression constraints.  Can also be used for boolean so long as there is a button for 'unanswered' or it's possible to deselect all items.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0slider<a name=\"questionnaire-item-control-slider\"> </a></td><td>Slider</td><td><div><p>A control where an axis is displayed between the high and low values and the control can be visually manipulated to select a value anywhere on the axis.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0spinner<a name=\"questionnaire-item-control-spinner\"> </a></td><td>Spinner</td><td><div><p>A control where a list of numeric or other ordered values can be scrolled through via arrows.</p>\n</div></td><td/><td/><td/><td/></tr><tr><td>2</td><td style=\"white-space:nowrap\">\u00a0\u00a0text-box<a name=\"questionnaire-item-control-text-box\"> </a></td><td>Text Box</td><td><div><p>A control where a user can type in their answer freely.</p>\n</div></td><td/><td/><td/><td/></tr></table></div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "fhir"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "trial-use"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 3
    }
  ],
  "url" : "http://hl7.org/fhir/questionnaire-item-control",
  "identifier" : [
    {
      "system" : "urn:ietf:rfc:3986",
      "value" : "urn:oid:2.16.840.1.113883.4.642.4.932"
    },
    {
      "use" : "old",
      "system" : "urn:ietf:rfc:3986",
      "value" : "urn:oid:2.16.840.1.113883.4.642.1.849"
    }
  ],
  "version" : "5.1.0",
  "name" : "QuestionnaireItemUIControlCodes",
  "title" : "Questionnaire Item UI Control Codes System",
  "status" : "active",
  "experimental" : false,
  "date" : "2024-04-27T18:40:24+10:00",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "description" : "Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001"
        }
      ]
    }
  ],
  "caseSensitive" : true,
  "valueSet" : "http://hl7.org/fhir/ValueSet/questionnaire-item-control",
  "hierarchyMeaning" : "is-a",
  "content" : "complete",
  "property" : [
    {
      "code" : "abstract",
      "uri" : "http://hl7.org/fhir/concept-properties#notSelectable",
      "description" : "True if an element is considered 'abstract' - that is the code is not for use as a real concept",
      "type" : "boolean"
    },
    {
      "code" : "status",
      "uri" : "http://hl7.org/fhir/concept-properties#status",
      "description" : "A property that indicates the status of the concept. One of active, experimental, deprecated, or retired.",
      "type" : "code"
    },
    {
      "code" : "deprecationDate",
      "uri" : "http://hl7.org/fhir/concept-properties#deprecationDate",
      "description" : "The date at which a concept was deprecated. Concepts that are deprecated but not inactive can still be used, but their use is discouraged.",
      "type" : "dateTime"
    }
  ],
  "concept" : [
    {
      "code" : "group",
      "definition" : "UI controls relevant to organizing groups of questions",
      "property" : [
        {
          "code" : "abstract",
          "valueBoolean" : true
        }
      ],
      "concept" : [
        {
          "code" : "list",
          "display" : "List",
          "definition" : "Questions within the group should be listed sequentially"
        },
        {
          "code" : "table",
          "display" : "Vertical Answer Table",
          "definition" : "Questions within the group are rows in the table with possible answers as columns.  Used for 'choice' questions.  The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression.  In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table."
        },
        {
          "code" : "htable",
          "display" : "Horizontal Answer Table",
          "definition" : "Questions within the group are columns in the table with possible answers as rows.  Used for 'choice' questions.  The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression.  In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table."
        },
        {
          "code" : "gtable",
          "display" : "Group Table",
          "definition" : "Questions within the group are columns in the table with each group repetition as a row.  Used for single-answer questions."
        },
        {
          "code" : "grid",
          "display" : "Group Grid",
          "definition" : "Child items of type='group' within the a 'grid' group are rows, and questions beneath the 'row' groups are organized as columns in the grid. The grid might be fully populated, but could be sparse. Questions may support different data types and/or different answer choices."
        },
        {
          "code" : "header",
          "display" : "Header",
          "definition" : "The group is to be continuously visible at the top of the questionnaire"
        },
        {
          "code" : "footer",
          "display" : "Footer",
          "definition" : "The group is to be continuously visible at the bottom of the questionnaire"
        },
        {
          "code" : "page",
          "display" : "Page",
          "definition" : "Indicates that the content within the group should appear as a logical \"page\" when rendering the form, such that all enabled items        within the page are displayed at once, but items in subsequent groups are not displayed until the user indicates a desire to move to the 'next' group.        (Header and footer items may still be displayed.) This designation may also influence pagination when printing questionnaires. If there are items at the same        level as a 'page' group that are listed before the 'page' group, they will be treated as a separate page.  Header and footer groups for a questionnaire will be rendered on all pages."
        },
        {
          "code" : "tab-container",
          "display" : "Tab Container",
          "definition" : "Indicates that the group represents a collection of tabs. All child items SHALL be of type 'group' and SHALL NOT declare any item controls themselves. Each child group represents one tab within the tab container, where the item.title is the label for the tab."
        }
      ]
    },
    {
      "code" : "display",
      "definition" : "UI controls relevant to rendering questionnaire display items",
      "property" : [
        {
          "code" : "abstract",
          "valueBoolean" : true
        }
      ],
      "concept" : [
        {
          "code" : "inline",
          "display" : "In-line",
          "definition" : "Display item is rendered as a paragraph in a sequential position between sibling items (default behavior)"
        },
        {
          "code" : "prompt",
          "display" : "Prompt",
          "definition" : "Text is displayed immediately below or within the answer-entry area of the containing question item (typically as a guide for what to enter).  **Deprecation Note** - Use the [[[http://hl7.org/fhir/StructureDefinition/entryFormat]]] extension instead.",
          "property" : [
            {
              "code" : "status",
              "valueCode" : "deprecated"
            },
            {
              "code" : "deprecationDate",
              "valueDateTime" : "2019-10-03"
            }
          ]
        },
        {
          "code" : "unit",
          "display" : "Unit",
          "definition" : "Display item is rendered adjacent (horizontally or vertically) to the answer space for the parent question, typically to indicate a unit of measure.  **Deprecation Note** - The display element of the [[[http://hl7.org/fhir/StructureDefinition/questionnaire-unit]]] should be used instead.",
          "property" : [
            {
              "code" : "status",
              "valueCode" : "deprecated"
            },
            {
              "code" : "deprecationDate",
              "valueDateTime" : "2022-09-08"
            }
          ]
        },
        {
          "code" : "lower",
          "display" : "Lower-bound",
          "definition" : "Display item is rendered to the left of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'lower' bound.  E.g. 'Strongly disagree'"
        },
        {
          "code" : "upper",
          "display" : "Upper-bound",
          "definition" : "Display item is rendered to the right of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'upper' bound.  E.g. 'Strongly agree'"
        },
        {
          "code" : "flyover",
          "display" : "Fly-over",
          "definition" : "Display item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item"
        },
        {
          "code" : "help",
          "display" : "Help-Button",
          "definition" : "Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'help' for a question, group or the questionnaire as a whole (depending what the display item is nested within)"
        },
        {
          "code" : "legal",
          "display" : "legal-Button",
          "definition" : "Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'legal' info for a question, group or the questionnaire as a whole (depending what the display item is nested within)"
        }
      ]
    },
    {
      "code" : "question",
      "definition" : "UI controls relevant to capturing question data",
      "property" : [
        {
          "code" : "abstract",
          "valueBoolean" : true
        }
      ],
      "concept" : [
        {
          "code" : "autocomplete",
          "display" : "Auto-complete",
          "definition" : "A control which provides a list of potential matches based on text entered into a control.  Used for large choice sets where text-matching is an appropriate discovery mechanism."
        },
        {
          "code" : "drop-down",
          "display" : "Drop down",
          "definition" : "A control where an item (or multiple items) can be selected from a list that is only displayed when the user is editing the field.  This control is best used for small-to-medium sized lists of options that can reasonably be scanned and selected in a drop-down control.  If the list of options is managed by ValueSet, the designer should be confident that the set of codes will both be fully available and appropriately sized.  For larger lists, the autocomplete control is more appropriate."
        },
        {
          "code" : "check-box",
          "display" : "Check-box",
          "definition" : "A control where choices are listed with a box beside them.  The box can be toggled to select or de-select a given choice.  Multiple selections may be possible.  Commonly useful for repeating items of type constrained by answerOption, answerValueset or answerExpression, however can also be used for boolean (if the checkbox is a 3-state control that allows 'unanswered' as a possibility)."
        },
        {
          "code" : "lookup",
          "display" : "Lookup",
          "definition" : "A control where editing an item spawns a separate dialog box or screen permitting a user to navigate, filter or otherwise discover an appropriate match.  Useful for large choice sets where text matching is not an appropriate discovery mechanism.  Such screens must generally be tuned for the specific choice list structure."
        },
        {
          "code" : "radio-button",
          "display" : "Radio Button",
          "definition" : "A control where choices are listed with a button beside them.  The button can be toggled to select or de-select a given choice.  Selecting one item deselects all others.  Used for non-repeating items with 'closed' answerOption, answerValueset or answerExpression constraints.  Can also be used for boolean so long as there is a button for 'unanswered' or it's possible to deselect all items."
        },
        {
          "code" : "slider",
          "display" : "Slider",
          "definition" : "A control where an axis is displayed between the high and low values and the control can be visually manipulated to select a value anywhere on the axis."
        },
        {
          "code" : "spinner",
          "display" : "Spinner",
          "definition" : "A control where a list of numeric or other ordered values can be scrolled through via arrows."
        },
        {
          "code" : "text-box",
          "display" : "Text Box",
          "definition" : "A control where a user can type in their answer freely."
        }
      ]
    }
  ]
}