Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3

Example CodeSystem/questionnaire-item-control (XML)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

Raw XML (canonical form + also see XML Format Specification)

Definition for Code SystemQuestionnaireItemUIControlCodes

<?xml version="1.0" encoding="UTF-8"?>

<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="questionnaire-item-control"/> 
  <meta> 
    <lastUpdated value="2022-09-07T10:58:29.429+10:00"/> 
    <profile value="http://hl7.org/fhir/StructureDefinition/shareablecodesystem"/> 
  </meta> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> 
        <b> Properties</b> 
      </p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Code</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Description</b> 
          </td> 
        </tr> 
        <tr> 
          <td> abstract</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> 
      </table> 
      <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> abstract</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> true</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/>  
        </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.</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.</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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </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> true</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/>  
        </tr> 
        <tr> 
          <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</td> 
          <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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </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> true</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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </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/>  
        </tr> 
      </table> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/> 
  </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> 
  <version value="5.0.0-ballot"/> 
  <name value="QuestionnaireItemUIControlCodes"/> 
  <title value="Questionnaire Item UI Control Codes"/> 
  <status value="draft"/> 
  <experimental value="false"/> 
  <description value="Starter set of user interface control/display mechanisms that might be used when rendering
   an item in a questionnaire."/> 
  <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> 
  <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."/> 
    </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."/> 
    </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> 
  <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="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"/> 
    </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> 

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.