Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). 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-10T04:52:37.223+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.