Smart Forms
0.2.0-draft - trial-use

This page is part of the Smart Forms (v0.2.0-draft: R1 Draft) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

: Questionnaire Item UI Control Codes - XML Representation

Page standards status: Trial-use Maturity Level: 3

Raw xml | Download


<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="questionnaire-item-control"/>
  <text>
    <status value="extensions"/>
    <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/><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 code system <code>http://hl7.org/fhir/questionnaire-item-control</code> defines the following codes:</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>abstract</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>UI controls relevant to organizing groups of questions</td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  list<a name="questionnaire-item-control-list"> </a></td><td>List</td><td>Questions within the group should be listed sequentially</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  table<a name="questionnaire-item-control-table"> </a></td><td>Vertical Answer Table</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  htable<a name="questionnaire-item-control-htable"> </a></td><td>Horizontal Answer Table</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  gtable<a name="questionnaire-item-control-gtable"> </a></td><td>Group Table</td><td>Questions within the group are columns in the table with each group repetition as a row.  Used for single-answer questions.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  grid<a name="questionnaire-item-control-grid"> </a></td><td>Group Grid</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  header<a name="questionnaire-item-control-header"> </a></td><td>Header</td><td>The group is to be continuously visible at the top of the questionnaire</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  footer<a name="questionnaire-item-control-footer"> </a></td><td>Footer</td><td>The group is to be continuously visible at the bottom of the questionnaire</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  page<a name="questionnaire-item-control-page"> </a></td><td>Page</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  tab-container<a name="questionnaire-item-control-tab-container"> </a></td><td>Tab Container</td><td>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.</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>UI controls relevant to rendering questionnaire display items</td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  inline<a name="questionnaire-item-control-inline"> </a></td><td>In-line</td><td>Display item is rendered as a paragraph in a sequential position between sibling items (default behavior)</td><td/><td/><td/><td/></tr><tr style="background-color: #ffeeee"><td>2</td><td style="white-space:nowrap">  prompt<a name="questionnaire-item-control-prompt"> </a></td><td>Prompt</td><td>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.</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">  unit<a name="questionnaire-item-control-unit"> </a></td><td>Unit</td><td>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.</td><td>Deprecated</td><td/><td>deprecated</td><td>2022-09-08</td></tr><tr><td>2</td><td style="white-space:nowrap">  lower<a name="questionnaire-item-control-lower"> </a></td><td>Lower-bound</td><td>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'</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  upper<a name="questionnaire-item-control-upper"> </a></td><td>Upper-bound</td><td>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'</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  flyover<a name="questionnaire-item-control-flyover"> </a></td><td>Fly-over</td><td>Display item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  help<a name="questionnaire-item-control-help"> </a></td><td>Help-Button</td><td>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)</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  legal<a name="questionnaire-item-control-legal"> </a></td><td>legal-Button</td><td>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)</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>UI controls relevant to capturing question data</td><td/><td>true</td><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  autocomplete<a name="questionnaire-item-control-autocomplete"> </a></td><td>Auto-complete</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  drop-down<a name="questionnaire-item-control-drop-down"> </a></td><td>Drop down</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  check-box<a name="questionnaire-item-control-check-box"> </a></td><td>Check-box</td><td>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).</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  lookup<a name="questionnaire-item-control-lookup"> </a></td><td>Lookup</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  radio-button<a name="questionnaire-item-control-radio-button"> </a></td><td>Radio Button</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  slider<a name="questionnaire-item-control-slider"> </a></td><td>Slider</td><td>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.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  spinner<a name="questionnaire-item-control-spinner"> </a></td><td>Spinner</td><td>A control where a list of numeric or other ordered values can be scrolled through via arrows.</td><td/><td/><td/><td/></tr><tr><td>2</td><td style="white-space:nowrap">  text-box<a name="questionnaire-item-control-text-box"> </a></td><td>Text Box</td><td>A control where a user can type in their answer freely.</td><td/><td/><td/><td/></tr></table></div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3"/>
  </extension>
  <url value="http://hl7.org/fhir/questionnaire-item-control"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.4.932"/>
  </identifier>
  <identifier>
    <use value="old"/>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.1.849"/>
  </identifier>
  <version value="1.0.0"/>
  <name value="QuestionnaireItemUIControlCodes"/>
  <title value="Questionnaire Item UI Control Codes"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2023-03-26T09:00:24+11:00"/>
  <publisher value="HL7 International / FHIR Infrastructure"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/Special/committees/fhir-i"/>
    </telecom>
  </contact>
  <description
               value="Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire."/>
  <copyright
             value="Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)"/>
  <caseSensitive value="true"/>
  <valueSet value="http://hl7.org/fhir/ValueSet/questionnaire-item-control"/>
  <hierarchyMeaning value="is-a"/>
  <content value="complete"/>
  <property>
    <code value="abstract"/>
    <description
                 value="True if an element is considered 'abstract' - that is the code is not for use as a real concept"/>
    <type value="boolean"/>
  </property>
  <property>
    <code value="status"/>
    <uri value="http://hl7.org/fhir/concept-properties#status"/>
    <description
                 value="A property that indicates the status of the concept. One of active, experimental, deprecated, or retired."/>
    <type value="code"/>
  </property>
  <property>
    <code value="deprecationDate"/>
    <uri value="http://hl7.org/fhir/concept-properties#deprecationDate"/>
    <description
                 value="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 value="dateTime"/>
  </property>
  <concept>
    <code value="group"/>
    <definition
                value="UI controls relevant to organizing groups of questions"/>
    <property>
      <code value="abstract"/>
      <valueBoolean value="true"/>
    </property>
    <concept>
      <code value="list"/>
      <display value="List"/>
      <definition
                  value="Questions within the group should be listed sequentially"/>
    </concept>
    <concept>
      <code value="table"/>
      <display value="Vertical Answer Table"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="htable"/>
      <display value="Horizontal Answer Table"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="gtable"/>
      <display value="Group Table"/>
      <definition
                  value="Questions within the group are columns in the table with each group repetition as a row.  Used for single-answer questions."/>
    </concept>
    <concept>
      <code value="grid"/>
      <display value="Group Grid"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="header"/>
      <display value="Header"/>
      <definition
                  value="The group is to be continuously visible at the top of the questionnaire"/>
    </concept>
    <concept>
      <code value="footer"/>
      <display value="Footer"/>
      <definition
                  value="The group is to be continuously visible at the bottom of the questionnaire"/>
    </concept>
    <concept>
      <code value="page"/>
      <display value="Page"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="tab-container"/>
      <display value="Tab Container"/>
      <definition
                  value="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."/>
    </concept>
  </concept>
  <concept>
    <code value="display"/>
    <definition
                value="UI controls relevant to rendering questionnaire display items"/>
    <property>
      <code value="abstract"/>
      <valueBoolean value="true"/>
    </property>
    <concept>
      <code value="inline"/>
      <display value="In-line"/>
      <definition
                  value="Display item is rendered as a paragraph in a sequential position between sibling items (default behavior)"/>
    </concept>
    <concept>
      <code value="prompt"/>
      <display value="Prompt"/>
      <definition
                  value="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 value="status"/>
        <valueCode value="deprecated"/>
      </property>
      <property>
        <code value="deprecationDate"/>
        <valueDateTime value="2019-10-03"/>
      </property>
    </concept>
    <concept>
      <code value="unit"/>
      <display value="Unit"/>
      <definition
                  value="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 value="status"/>
        <valueCode value="deprecated"/>
      </property>
      <property>
        <code value="deprecationDate"/>
        <valueDateTime value="2022-09-08"/>
      </property>
    </concept>
    <concept>
      <code value="lower"/>
      <display value="Lower-bound"/>
      <definition
                  value="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'"/>
    </concept>
    <concept>
      <code value="upper"/>
      <display value="Upper-bound"/>
      <definition
                  value="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'"/>
    </concept>
    <concept>
      <code value="flyover"/>
      <display value="Fly-over"/>
      <definition
                  value="Display item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item"/>
    </concept>
    <concept>
      <code value="help"/>
      <display value="Help-Button"/>
      <definition
                  value="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)"/>
    </concept>
    <concept>
      <code value="legal"/>
      <display value="legal-Button"/>
      <definition
                  value="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)"/>
    </concept>
  </concept>
  <concept>
    <code value="question"/>
    <definition value="UI controls relevant to capturing question data"/>
    <property>
      <code value="abstract"/>
      <valueBoolean value="true"/>
    </property>
    <concept>
      <code value="autocomplete"/>
      <display value="Auto-complete"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="drop-down"/>
      <display value="Drop down"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="check-box"/>
      <display value="Check-box"/>
      <definition
                  value="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)."/>
    </concept>
    <concept>
      <code value="lookup"/>
      <display value="Lookup"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="radio-button"/>
      <display value="Radio Button"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="slider"/>
      <display value="Slider"/>
      <definition
                  value="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."/>
    </concept>
    <concept>
      <code value="spinner"/>
      <display value="Spinner"/>
      <definition
                  value="A control where a list of numeric or other ordered values can be scrolled through via arrows."/>
    </concept>
    <concept>
      <code value="text-box"/>
      <display value="Text Box"/>
      <definition
                  value="A control where a user can type in their answer freely."/>
    </concept>
  </concept>
</CodeSystem>