Choice Interaction (QTI)
The choice interaction presents a set of choices to the candidate. The candidate’s task is to select one or more of the choices, up to a maximum of maxChoices. The interaction is always initialized with no choices selected. The choiceInteraction must be bound to a response variable with a baseType of identifier and single or multiple cardinality. The relevant classes are:
Data Model

Simple Choice Attribute
Descriptor | Definition |
---|---|
— | — |
Attribute Name | simpleChoice |
Data Type | SimpleChoice |
Value Space | Container [ Sequence ] |
Scope | Global (“+”) |
Multiplicity | [1.. unbounded] |
Description | This is an ordered list of the choices that are displayed to the user. The order is the order of the choices presented to the user unless shuffle is true. |
Data Model

Examples
Single Choice

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
<correctResponse>
<value>ChoiceA</value>
</correctResponse>
</responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
<defaultValue>
<value>0</value>
</defaultValue>
</outcomeDeclaration>
<itemBody>
<p>Look at the text in the picture.</p>
<p>
<img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
</p>
<choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
<prompt>What does it say?</prompt>
<simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
<simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
<simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
</choiceInteraction>
</itemBody>
<responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
</assessmentItem>
Shuffling with one fixed answer:
<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
<correctResponse>
<value>ChoiceA</value>
</correctResponse>
</responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float">
<defaultValue>
<value>0</value>
</defaultValue>
</outcomeDeclaration>
<itemBody>
<p>Look at the text in the picture.</p>
<p>
<img src="images/sign.png" alt="NEVER LEAVE LUGGAGE UNATTENDED"/>
</p>
<choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="1">
<prompt>What does it say?</prompt>
<simpleChoice identifier="ChoiceA">You must stay with your luggage at all times.</simpleChoice>
<simpleChoice identifier="ChoiceB">Do not let someone else look after your luggage.</simpleChoice>
<simpleChoice identifier="ChoiceC">Remember your luggage when you leave.</simpleChoice>
<simpleChoice identifier="ChoiceD" fixed="true">None of the above.</simpleChoice>
</choiceInteraction>
</itemBody>
<responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
</assessmentItem>
Multi-select

<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choiceMultiple" title="Composition of Water" adaptive="false" timeDependent="false">
<responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="identifier">
<correctResponse>
<value>H</value>
<value>O</value>
</correctResponse>
<mapping lowerBound="0" upperBound="2" defaultValue="-2">
<mapEntry mapKey="H" mappedValue="1"/>
<mapEntry mapKey="O" mappedValue="1"/>
<mapEntry mapKey="Cl" mappedValue="-1"/>
</mapping>
</responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
<itemBody>
<choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="0">
<prompt>
Which of the following elements are used to form water?
</prompt>
<simpleChoice identifier="H" fixed="false">Hydrogen</simpleChoice>
<simpleChoice identifier="He" fixed="false">Helium</simpleChoice>
<simpleChoice identifier="C" fixed="false">Carbon</simpleChoice>
<simpleChoice identifier="O" fixed="false">Oxygen</simpleChoice>
<simpleChoice identifier="N" fixed="false">Nitrogen</simpleChoice>
<simpleChoice identifier="Cl" fixed="false">Chlorine</simpleChoice>
</choiceInteraction>
</itemBody>
<responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response"/>
</assessmentItem>
Note the mapping
here, which sets lower and upper bounds for the score, each wrong entry gives -2, except chlorine, the partial responses of hydrogen and oxygen are awarded one mark each.
Multiple Correct answer sets
Finally, a multiple choice with multiple select answers:
<assessmentItem xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd" identifier="choiceMultiple" title="Chocolate Milk" adaptive="false" timeDependent="false">
<responseDeclaration identifier="MR01" cardinality="multiple" baseType="identifier"/>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
<itemBody>
<choiceInteraction responseIdentifier="MR01" shuffle="true" maxChoices="10">
<prompt>
How to make chocolate milk. Select the combination of steps that lead to a nice glass of hot and steamy chocolate milk.
</prompt>
<simpleChoice identifier="C01" fixed="false">Take a lighter</simpleChoice>
<simpleChoice identifier="C02" fixed="false">Open the gas on the stove</simpleChoice>
<simpleChoice identifier="C03" fixed="false">Light the gas</simpleChoice>
<simpleChoice identifier="C04" fixed="false">Poor the milk in the pan</simpleChoice>
<simpleChoice identifier="C05" fixed="false">Add 2 tea spoons of cocoa into the mug</simpleChoice>
<simpleChoice identifier="C06" fixed="false">Add 2 tea spoons of sugar into the mug</simpleChoice>
<simpleChoice identifier="C07" fixed="false">Add 2 spoons of water into the mug</simpleChoice>
<simpleChoice identifier="C08" fixed="false">
Stir the water, cocoa and sugar until the mixture is smooth
</simpleChoice>
<simpleChoice identifier="C09" fixed="false">Put the pan with milk on the stove</simpleChoice>
<simpleChoice identifier="C10" fixed="false">Poor the boiling milk into the mug</simpleChoice>
<simpleChoice identifier="C11" fixed="false">
Put the mug with the mixture and milk into the microwave
</simpleChoice>
<simpleChoice identifier="C12" fixed="false">Add milk to the mug with the smooth mixture</simpleChoice>
<simpleChoice identifier="C13" fixed="false">
Add cold milk from the fridge into the mug with smooth mixture
</simpleChoice>
<simpleChoice identifier="C14" fixed="false">
Set the microwave on 700 Watt and set the timer to 2 minutes
</simpleChoice>
</choiceInteraction>
</itemBody>
<responseProcessing>
<responseCondition>
<responseIf>
<match>
<variable identifier="MR01"/>
<multiple>
<baseValue baseType="identifier">C01</baseValue>
<baseValue baseType="identifier">C02</baseValue>
<baseValue baseType="identifier">C03</baseValue>
<baseValue baseType="identifier">C04</baseValue>
<baseValue baseType="identifier">C05</baseValue>
<baseValue baseType="identifier">C06</baseValue>
<baseValue baseType="identifier">C07</baseValue>
<baseValue baseType="identifier">C08</baseValue>
<baseValue baseType="identifier">C09</baseValue>
<baseValue baseType="identifier">C10</baseValue>
</multiple>
</match>
<setOutcomeValue identifier="SCORE">
<baseValue baseType="float">1</baseValue>
</setOutcomeValue>
</responseIf>
<responseElseIf>
<match>
<variable identifier="MR01"/>
<multiple>
<baseValue baseType="identifier">C11</baseValue>
<baseValue baseType="identifier">C05</baseValue>
<baseValue baseType="identifier">C06</baseValue>
<baseValue baseType="identifier">C07</baseValue>
<baseValue baseType="identifier">C08</baseValue>
<baseValue baseType="identifier">C12</baseValue>
<baseValue baseType="identifier">C13</baseValue>
<baseValue baseType="identifier">C14</baseValue>
</multiple>
</match>
<setOutcomeValue identifier="SCORE">
<baseValue baseType="float">1</baseValue>
</setOutcomeValue>
</responseElseIf>
</responseCondition>
</responseProcessing>
</assessmentItem>