Sharebar?

IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide

IMS Logo IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide
Final Specification Version 1.2
Copyright © 2002 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide
Date: 11 February 2002

 

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2002 IMS Global Learning Consortium. All Rights Reserved.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.


 

Table of Contents


1. Introduction
     1.1 Question & Test Interoperability Overview
     1.2 Scope & Context
     1.3 Structure of this Document
     1.4 Nomenclature
     1.5 References

2. Relationship to Other Specifications
     2.1 IMS Specifications
     2.2 Related Specifications
           2.2.1 IEEE P1484
           2.2.2 Advanced Distributed Learning (ADL) Initiative
           2.2.3 Aviation Industry CBT Committee (AICC)
           2.2.4 ISO/IEC JTC1/SC36 Learning Technology

3. Overall Data Model
     3.1 Summary Reporting
     3.2 Assessment Reporting
     3.3 Section Reporting
     3.4 Item Reporting

4. Basic XML Instance Examples
     4.1 Reporting IMS QTI Items
           4.1.1 Reporting True/False IMS QTI Items
           4.1.2 Multiple Choice IMS QTI Items
           4.1.3 Multiple Response IMS QTI Items
           4.1.4 Fill-in-the-Blanks IMS QTI Items
     4.2 Reporting IMS QTI Sections
     4.3 Reporting IMS QTI Assessments
     4.4 Reporting Result Summaries
           4.4.1 Summary of a Section
           4.4.2 Summary of an Assessment

5. Advanced XML Instance Examples
     5.1 Complex Assessments

6. QTI Results Reporting & Other Relevant Specifications
     6.1 IMS Specifications
           6.1.1 Meta-data
           6.1.2 Content Packaging
           6.1.3 Learner Information Packaging
     6.2 Other Specifications
           6.2.1 ADL SCORM

7. Implementation Guidance
     7.1 Nomenclature
     7.2 Using the Core Data Structures
           7.2.1 <result>
           7.2.2 <context>
           7.2.3 <summary_result>
           7.2.4 <assessment_result >
           7.2.5 <section_result >
           7.2.6 <item_result >
           7.2.7 Scores and Grades
     7.3 QTI Results Reporting Meta-data
           7.3.1 IMS QTI-Specific Meta-data Support
           7.3.2 IMS Meta-data Support
           7.3.3 Non-IMS Meta-data Support
           7.3.4 Key IMS QTI-specific Meta-data
     7.4 QTI Results Reporting Vocabularies & Taxonomies
     7.5 Packaging IMS QTI Result Reports

8. Proprietary Extensions

9. V1.x/V2.0 Issues & Compatibility
     9.1 Functional Requirements
     9.2 Constraints
     9.3 Compatibility Map

10. Conformance
     10.1 Valid Data Issues
     10.2 Conformance Summary
     10.3 Interoperability Statement
     10.4 Completing a Conformance Statement
     10.5 An Example Conformance Statement

Appendix A - QTI Results XSDs and DTDs
     A1 - Overview
     A2 - Full Directory Structure

Appendix B - Glossary of Terms
     B1 - IMS QTI Elements and Attributes

Appendix C - Examples Information
     C1 - Proposed Naming Convention

About This Document
     List of Contributors

Revision History

Index


1. Introduction

1.1 Question & Test Interoperability Overview

The IMS Question & Test Interoperability (QTI) specification describes a basic structure for the representation of question (item) and test (assessment) data and their corresponding results reports [QTI, 02i]. Therefore, the specification enables the exchange of this item, assessment and results data between Learning Management Systems, as well as content authors and, content libraries and collections. The IMS QTI specification is defined in XML to promote the widest possible adoption. XML is a powerful, flexible, industry standard mark-up language used to encode data models for Internet-enabled and distributed applications. The IMS QTI specification is extensible and customizable to permit immediate adoption, even in specialized or proprietary systems. Leading suppliers and consumers of learning products, services and content contributed time and expertise to produce this final specification. The IMS QTI specification, like all IMS specifications, does not limit product designs by specifying user interfaces, pedagogical paradigms, or establishing technology or policies that constrain innovation, interoperability, or reuse.

This document is intended to provide vendors with an overall understanding of the results reporting specification, the relationship of this specification with other IMS specifications (including the IMS QTI ASI), and a best practices guide derived from experiences of those using the specification. Example results reports are included along with a demonstration of how SCORMv1.2 results reporting can be supported. The Best Practices & Implementation Guide also includes a significant number of actual examples that describe how vendors can make the best use of the results reporting specification. These examples are also useful as a starting template for each of the different forms of results report. A full glossary of the XML structure used throughout the specification is also supplied.

1.2 Scope & Context

This document is the IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide V1.2 Public Draft Specification. As such it is used in conjunction with the following documents:

  • IMS QTI: Results Reporting Information Model v1.2 [QTI, 02d];
  • IMS QTI: Results Reporting XML Binding v1.2 [QTI, 02e].

This requirement has been derived from the agreed IMS Q&TI V1.x Scoping document [QTI, 00].

1.3 Structure of this Document

The structure of this document is:

2. Relationship to Other Specifications The relationship of this specification activity to other IMS and external specification activities;
3. Overall Data Model A brief summary of the IMS Question & Test Interoperability results reporting information model;
4. Basic Examples Examples of the basic results reporting that are supported by this specification;
5. Advanced Examples Examples of the advanced results reporting supported by this specification;
6. QTI Results Reports and Other Relevant Specifications The ways in which the IMS QTI Results Reporting specification is used in conjunction with the other specifications;
7. Implementation Guidance Tips on how the distributed learning engines can make best usage of the IMS Q&TI results reporting specification;
8. Proprietary Extensions Usage of the extensions facilities to support proprietary requirements;
9. V1.x/V2.0 Issues & Compatibility The initial scoping of the version 1.x specifications and IMS's commitment to backwards compatibility;
10. Conformance The expectations on systems that claim conformance to the IMS QTI results reporting specifications;
Appendix A - DTDs & XSDs The range of available IMS QTI results reporting DTDs and XSDs;
Appendix B - Glossary of Terms A glossary of the key terms and elements used within the specification.
Appendix C - Examples Information Specific descriptive information about the QTI results reporting example files.

1.4 Nomenclature

ADL Advanced Distributed Learning
AMS Assessment Management System
API Application Programming Interface
ASI Assessment, Section, Item
CBT Computer Based Training
CMI Content Management Interface
DTD Document Type Definition
LMS Learning Management System
QTI Question & Test Interoperability
SCORM Shareable Content Object Reference Model
VLE Virtual Learning Environment
W3C World Wide Web Consortium
XML Extensible Mark-up Language
XSD XML Schema

1.5 References

[CP, 01a] IMS Content Packaging Information Model, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[CP, 01b] IMS Content Packaging XML Binding, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[CP, 01c] IMS Content Packaging Best Practice and Implementation Guide, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[IMS, 01a] IMS Persistent Location-independent Resource Identifier Implementation Handbook, V1.0, M,McKell, IMS Specification, May, 2001.
[IMS, 01b] Using the IMS Content Packaging to Package Instances of LIP and Other IMS Specifications Implementation Handbook, V1.0, B.Olivier and M.McKell, IMS Specifications, August 2001.
[LIP, 01a] IMS Learner Information Package Information Model, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[LIP, 01b] IMS Learner Information Package XML Binding Final Specification, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[LIP, 01c] IMS Learner Information Packaging Best Practices & Implementation Guide Final Specification, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[MD, 01a] IMS Learning Resource Meta-data Information Model, T.Anderson and M.McKell, Version 1.2.1, IMS, August 2001.
[MD, 01b] IMS Learning Resource Meta-data XML Binding, T.Anderson and M.McKell, Version 1.2.1, IMS, August 2001.
[MD, 01c] IMS Learning Meta-data Best Practice and Implementation Guide, T.Anderson and M.McKell, Version 1.2.1, IMS, August 2001.
[QTI, 00] IMS Question & Test Interoperability Version 1.x Scoping Statement, C.Smythe and E.Shepherd, Version 1.0, IMS, November 2000.
[QTI, 02a] IMS Question & Test Interoperability ASI Information Model Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02b] IMS Question & Test Interoperability: ASI XML Binding Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02c] IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02d] IMS Question & Test Interoperability: ASI Outcomes Processing Specification, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02e] IMS Question & Test Interoperability: ASI Selection & Ordering Specification, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02f] IMS Question & Test Interoperability: Results Reporting Information Model, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02g] IMS Question & Test Interoperability: Results Reporting XML Binding, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002
[QTI, 02h] IMS Question & Test Interoperability: QTILite Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002
[QTI, 02i] IMS Question & Test Interoperability: An Overview, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.

2. Relationship to Other Specifications

2.1 IMS Specifications

Version 1.2 of the IMS Question & Test Interoperability specification is made up of ten documents:

  1. "IMS Question & Test Interoperability: An Overview - Version 1.2.
    This document describes the overall structure of the IMS QTI specification. It explains the relationship between the different parts of the specification;
  2. "IMS Question & Test Interoperability: ASI Information Model Specification - Version 1.2.
    This document describes the data structures that are used to provide interoperability of on-line distributed learning question and test systems;
  3. "IMS Question & Test Interoperability: ASI XML Binding Specification - Version 1.2.
    This document describes how to encode the Question & Test Interoperability objects in XML and provides the corresponding XML Schema, and DTD;
  4. "IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide - Version 1.2.
    This document provides an overview and describes how the IMS Question & Test Interoperability Information Model and XML Binding specifications can be applied to specific types of interoperability scenarios;
  5. "IMS Question & Test Interoperability: ASI Outcomes Processing - Version 1.2.
    This document describes how outcomes processing for Sections and Assessments is supported within the IMS Question & Test Interoperability framework;
  6. "IMS Question & Test Interoperability: ASI Selection & Ordering - Version 1.2.
    This document describes how the selection and ordering of Items and Sections is supported within the IMS Question & Test Interoperability framework;
  7. "IMS Question & Test Interoperability: Results Reporting Information Model Specification - Version 1.2.
    This document describes the data structures that are used to provide results reporting interoperability for on-line distributed learning question and test systems;
  8. "IMS Question & Test Interoperability: Results Reporting XML Binding Specification - Version 1.2.
    This document describes how to encode the Question & Test Interoperability results reporting objects in XML and provides the corresponding XML Schema, and DTD;
  9. "IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide - Version 1.2.
    This document (the one you are reading now) provides an overview and describes how the IMS Question & Test Interoperability Results Reporting Information Model and XML Binding specifications can be applied to specific types of interoperability scenarios;
  10. IMS Question & Test Interoperability: QTILite Specification - Version 1.2.
    This document describes the QTILite Specification data model, XML binding, and best practice and implementation guidance.

The IMS Question & Test Interoperability specification is related to several other IMS specifications, both complete and in progress. This specification is intended to be consistent with these other initiatives wherever possible, in order to reduce redundancy and confusion between specifications. The related specifications are:

  • IMS Meta-data Specification - the IMS QTI specification shares a number of common data object elements with the IMS Meta-data specification. A set of unique meta-data extensions are also used and these are defined within the IMS QTI specifications themselves;
  • IMS Content Packaging Specification - the IMS QTI data model is a subset of the Content Packaging data model i.e. IMS QTI Assessments, Sections and Items are defined as content and their XML can be inserted into a Content Packaging instance;
  • IMS Learner Information Packaging Specification - this specification adopts some of the Assessment information to construct results records;
  • IMS Sequencing Specification V1.0 - this specification is an extension of the IMS Content Packaging specification to control the way in which the sequencing of the associated content [Seq, 02].

2.2 Related Specifications

2.2.1 IEEE P1484

The IEEE Learning Technology Standardization Committee P1484 is the only body engaged in the educational domain, which has a recognized formal standing. Given the diversity of the fora represented by the participants in the IEEE, there exist a large number of working groups focused on specific activities, as well as more horizontal activities (such as the Architecture and Reference Model and the Glossary working groups) that attempt to tie the other work together. None of the current IEEE working groups and study groups (note a study group is formed to do preliminary work to scope any subsequent working group in the particular area) is focussed on Question & Test Interoperability.

2.2.2 Advanced Distributed Learning (ADL) Initiative

ADL is a US military programme started by the White House in 1997 that aims to advance the use of state-of-the-art online training amongst the countries defence forces. There is some collaboration with experts in military training applications from other NATO countries. ADL is very focused on content for particular areas of training. It also has the Shareable Content Object Reference Model (SCORM v1.2) as its working architecture to encourage discussion and input on the emerging standards. Again no separate Question & Test Interoperability specification development is underway and the IMS QTI specification is being considered for adoption in later versions of the SCORM i.e. SCORM v1.4.

2.2.3 Aviation Industry CBT Committee (AICC)

The Aviation Industry CBT Committee is a membership-based international forum that develops recommendations on interoperable learning technology, principally for the commercial aviation and related industries. As such its members include both plane and equipment manufacturers, carriers, software and multimedia vendors and a growing number of interested parties not directly engaged in the sector, but nevertheless interested in the work being undertaken. A sub-group of the AICC has worked with the ADL and other organizations from the IEEE LTSC. The IMS Q&TI specifications have been presented to the AICC.

2.2.4 ISO/IEC JTC1/SC36 Learning Technology

As of 10th November 1999, the ISO/IEC Joint Technical Committee 1 meeting in Seoul agreed resolution 6, which brought into existence Sub-Committee 36 - Learning Technology. The international secretariat for SC36 is provided by the US National Body: the American National Standards Institute (ANSI). ISO/IEC JTC1/SC36 is intended to address standardization in the area of information technologies that support automation for learners, learning institutions, and learning resources. It is the intention that SC36 shall not create standards or technical reports that define educational standards, cultural conventions, learning objectives, or specific learning content. Their activity in the field of question and test has yet to be defined.

3. Overall Data Model

3.1 Summary Reporting

Summary reporting data structure

 

Figure 3.1 Summary reporting data structure.

3.2 Assessment Reporting

Assessment reporting data structure

 

Figure 3.2 Assessment reporting data structure.

3.3 Section Reporting

Section reporting data structure

 

Figure 3.3 Section reporting data structure.

3.4 Item Reporting

Item reporting data structure

 

Figure 3.4 Item reporting data structure.

4. Basic XML Instance Examples

4.1 Reporting IMS QTI Items

4.1.1 Reporting True/False IMS QTI Items

Below is an example of a True/false question as defined with QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<questestinterop>
  <item ident="IMS_V01_I_BasicExample001">
    <presentation label="BasicExample001">
      <flow>
        <material>
        <mattext>Paris is the Capital of France</mattext>
        </material>
        <response_lid ident="TF01" rcardinality="Single" rtiming="No">
        <render_choice>
            <flow_label>
            <response_label ident="T">
                <material><mattext>Agree</mattext></material>
            </response_label>
            <response_label ident="F"> 
                <material><mattext>Disagree</mattext></material>
            </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
    <resprocessing>
      <outcomes>
        <decvar minvalue="0" maxvalue="1"/>
      </outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="TF01">T</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

The Result report of this Item assumes that the participant has entered the correct answer at the first attempt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<qti_result_report>
  <result>
    <context/>
    <item_result ident_ref = "IMS_V01_I_BasicExample001">
      <asi_description uri = "original_ASI_XML_filename">
        Paris is the Capital of France ? - True/False
      </asi_description>
      <response ident_ref = "TF01">
        <response_form cardinality="single" render_type="choice" timing="No" 
                response_type = "lid">
          <correct_response>T</correct_response>
        </response_form>
        <response_value>T</response_value>
      </response>
      <outcomes>
        <score varname = "SCORE" vartype = "Integer">
          <score_value>1</score_value>
          <score_min>0</score_min>
          <score_max>1</score_max>
          <score_cut>1</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
    </item_result>
  </result>
</qti_result_report>

This example is available is the file: 'ims_qtiresv1p2/item/qtires_item_tf01.xml'. The key points to note are:

  • The initial Item identifier in the ASI-XML (line 2) is repeated in the Results Reporting structure (line 4);
  • A description of the Item is contained in Results Reporting structure (lines 5-7);
  • The response structure of the ASI-XML (line 8) is described in the Results Reporting structure (lines 9-10). The response identifier given in ASI-XML (line 8) is defined in the Results-XML (line 8);
  • The actual score assigned to the participant, as a result of answering correctly, is stored in the Results-XML (lines 15-22).
  • The feedback displayed to the participant, Results Reporting (line 23), is defined in the ASI-XML (lines 34-38).

4.1.2 Multiple Choice IMS QTI Items

Below is an example of a Multiple-choice question as defined with QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
<questestinterop>
  <item title="Standard Multiple Choice Item" ident="IMS_V01_I_BasicExample002b">
    <presentation label="BasicExample002a">
      <flow>
        <material>
          <mattext>
            Which one of the listed standards committees is responsible
            for developing the token ring specification ?
          </mattext>
        </material>
        <response_lid ident="MCb_01" rcardinality="Single" rtiming="No">
          <render_choice shuffle="Yes">
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
            <response_label ident="A">
              <flow_mat>
                <material><mattext>IEEE 802.3</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="B">
              <flow_mat>
                <material><mattext>IEEE 802.5</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="C">
              <flow_mat>
                <material><mattext>IEEE 802.6</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="D">
              <flow_mat>
                <material><mattext>IEEE 802.11</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="E" rshuffle="No">
              <flow_mat> 
                <material><mattext>None of the above.</mattext>
                </material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar  vartype="Integer" defaultval="0" minvalue="0" maxvalue="1"/>
      </outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="MCb_01">A</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


The Result report of this Item assumes that the participant has entered the correct answer at the first attempt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
<qti_result_report>
  <result>
    <context/>
    <item_result ident_ref= "IMS_V01_I_BasicExample002b">
      <asi_description uri="origina_ASI_XML_filename">
        IEEE Token Ring - Multiple-choice
      </asi_description>
      <response ident_ref = "MCb_01">
        <response_form cardinality="single" render_type="choice" 
               timing="No" response_type="lid">
          <correct_response>T</correct_response>
        </response_form>
        <num_attempts>1</num_attempts>
        <response_value>B</response_value>
      </response>
      <outcomes>
        <score varname = "SCORE" vartype = "Integer">
          <score_value>1</score_value>
          <score_min>0</score_min>
          <score_max>1</score_max>
          <score_cut>1</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
    </item_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_item_mc01.xml'. The key points to note are:

  • The initial Item identifier in the ASI-XML (line 2) is repeated in the Results Reporting structure (line 4);
  • A description of the Item is contained in Results Reporting structure (lines 5-7);
  • The response structure of the ASI-XML (line 11) is described in the Results Reporting structure (lines 9-10). The response identifier given in ASI-XML (line 11) is defined in the Results-XML (line 8);
  • The actual score assigned to the participant, as a result of answering correctly, is stored in the Results-XML (lines 17-24).
  • The feedback displayed to the participant, Results Reporting (line 25), is defined in the ASI-XML (lines 55-59).

4.1.3 Multiple Response IMS QTI Items

Below is an example of a Multiple-response question as defined with QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<questestinterop>
  <qticomment>
    This is a multiple-response example. 
    The rendering is a standard check button style.
  </qticomment>
  <item title="Standard Multiple Response Item" ident="IMS_V01_I_BasicExample005">
  <presentation label="RS05">
      <flow>
        <material>
        <mattext>Which of the following elements are used to form water ?
          </mattext>
        </material>
        <response_lid ident="MR01" rcardinality="Multiple" rtiming="No">
        <render_choice shuffle="Yes" minnumber="1" maxnumber="4">
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
54
55
56
57
58
59
60
61
62
63
          <response_label ident="A">
              <flow_mat> 
                <material><mattext>Hydrogen</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="B">
              <flow_mat> 
                <material><mattext>Helium</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="C">
              <flow_mat> 
                <material><mattext>Carbon</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="D">
              <flow_mat> 
                <material><mattext>Oxygen</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="E">
              <flow_mat> 
                <material><mattext>Nitrogen</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="F"> 
              <flow_mat>
                <material><mattext>Chlorine</mattext></material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="SCORE1" vartype="Integer" defaultval="1"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="MR01">A</varequal>
          <varequal respident="MR01">D</varequal>
          <not><varequal respident="MR01">B</varequal><not>
          <not><varequal respident="MR01">C</varequal><not>
          <not><varequal respident="MR01">E</varequal><not>
          <not><varequal respident="MR01">F</varequal><not>
        </conditionvar>
        <setvar action="Add" varname="SCORE1">5</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <material>
        <mattext>Yes, Hydrogen and Oxygen.</mattext>
      </material>
    </itemfeedback>
  </item>
</questestinterop>

The Result report of this Item assumes that the participant has entered the correct answer at the first attempt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<qti_result_report>
  <result>
    <context/>
    <item_result ident_ref = "IMS_V01_I_BasicExample005">
      <asi_description uri = "original_ASI_XML_filename">Which of the following 
        elements are used to form water?
      </asi_description>
      <response ident_ref = "MR_01">
        <response_form cardinality ="multiple" render_type ="choice" timing = "No" 
            response_type = "lid">
          <correct_response>A</correct_response>
          <correct_response>D</correct_response>
        </response_form>
        <num_attempts>1</num_attempts>
        <response_value>A</response_value>
        <response_value>D</response_value>
      </response>
      <outcomes>
        <score varname = "SCORE1" vartype = "Integer">
          <score_value>5</score_value>
          <score_min>0</score_min>
          <score_max>5</score_max>
          <score_cut>5</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
    </item_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_item_mr01.xml'. The key points to note are:

  • The initial Item identifier in the ASI-XML (line 2) is repeated in the Results Reporting structure (line 4);
  • A description of the Item is contained in Results Reporting structure (lines 5-7);
  • The response structure of the ASI-XML (line 13) is described in the Results Reporting structure (lines 9-10). The response identifier given in ASI-XML (line 13) is defined in the Results-XML (line 8);
  • The actual score assigned to the participant, as a result of answering correctly, is stored in the Results-XML (lines 19-26).
  • The feedback displayed to the participant, Results Reporting (line 27), is defined in the ASI-XML (lines 57-61).

4.1.4 Fill-in-the-Blanks IMS QTI Items

Below is an example of a Fill-in-the-Blank question as defined with QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<questestinterop>
  <qticomment>
    This is a standard multiple fill-in-blank (text) example.
  </qticomment>
  <item title="Standard FIB string Item" ident="IMS_V01_I_fibs_ir_002">
    <presentation label="BasicExample013b">
      <flow>
        <material>
          <mattext>Fill-in-the blanks in this text from Richard III: 
          </mattext>
        </material>
        <flow>
          <material>
            <mattext>Now is the </mattext>
          </material>
          <response_str ident="FIB01" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="6">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
          <material>
            <mattext> of our discontent made glorious </mattext>
          </material>
          <response_str ident="FIB02" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="6">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
          <material>
            <mattext> by these sons of </mattext>
          </material>
          <response_str ident="FIB03" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="4">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
        </flow>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="FIBSCORE1" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="FIB01" case="Yes">Winter</varequal>
          <varequal respident="FIB02" case="Yes">Summer</varequal>
          <varequal respident="FIB03" case="Yes">York</varequal>
        </conditionvar>
        <setvar action="Add" varname="FIBSCORE1">3</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="AllCorrect"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar varname="DUMMY"/>
      </outcomes>
      <respcondition>
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB01" case="Yes">Winter</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect1"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition>
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB02" case="Yes">Summer</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect2"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition>
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB03" case="Yes">York</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect3"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="AllCorrect" view="Candidate">
      <flow_mat>
        <material><mattext>All correct.  Well done.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="InCorrect1" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct first answer is "Winter".</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="InCorrect2" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct second answer is "Summer".</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="InCorrect3" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct third answer is "York".</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

The Result report of this Item assumes that the participant has entered the correct answer at the first attempt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<qti_result_report>
  <result>
    <context/>
    <item_result ident_ref = "IMS_V01_I_fibs_ir_002">
      <asi_description uri="original_ASI_XML_filename">Richard III quotations.
      </asi_description>
      <response ident_ref = "FIB01">
        <response_form cardinality = "single" render_type = "fib" timing = "No" 
            response_type = "str">
          <correct_response>Winter</correct_response>
        </response_form>
        <num_attempts>1</num_attempts>
        <response_value>Winter</response_value>
      </response>
      <response ident_ref = "FIB02">
        <response_form cardinality = "single" render_type = "fib" timing = "No" 
            response_type = "str">
          <correct_response>Summer</correct_response>
        </response_form>
        <num_attempts>1</num_attempts>
        <response_value>Summer</response_value>
      </response>
      <response ident_ref = "FIB02">
        <response_form cardinality = "single" render_type = "fib" timing = "No" 
          response_type = "str">
          <correct_response>York</correct_response>
        </response_form>
        <num_attempts>1</num_attempts>
        <response_value>York</response_value>
      </response>
      <outcomes>
        <score varname = "FIBSCORE1" vartype = "Integer">
          <score_value>3</score_value>
          <score_min>0</score_min>
          <score_max>3</score_max>
          <score_cut>3</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
    </item_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_item_fb01.xml'. The key points to note are:

  • The initial Item identifier in the ASI-XML (line 2) is repeated in the Results Reporting structure (line 4);
  • A description of the Item is contained in Results Reporting structure (lines 5-6);
  • The response structure of the ASI-XML (lines 16, 24 and 32) is described in the Results Reporting structure (lines 7-14, 15-23 and 24-31). The response identifier given in ASI-XML (line 16, 24 and 32) is defined in the Results-XML (lines 8, 17 and 25);
  • The actual score assigned to the participant, as a result of answering correctly, is stored in the Results-XML (lines 32-39).
  • The feedback displayed to the participant, Results Reporting (line 40), is defined in the ASI-XML (lines 91-95).

4.2 Reporting IMS QTI Sections

Below is an example of a Section with ten Items as defined using QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<questestinterop>
  <section ident = "IMS_QTIV1p2_S_ResReport_01">
    <presentation_material>
      <flow_mat>
        <flow_mat>
          <material>
            <matimage uri="periodictable.jpg" x0="100" y0="100" height= "400" 
              width = "600"/>
          </material>
        </flow_mat>
        <flow_mat>
          <material>
            <mattext>Answer the following questions on the Periodic Table 
              shown above.
            </mattext>
          </material>
        </flow_mat>
      </flow_mat>
    </presentation_material>
    <outcomes_processing scoremodel = "SumofScores">
      <outcomes>
        <decvar varname = "SCORE" vartype="Integer" minvalue= "0" maxvalue= "6" 
          cutvalue = "4"/>
      </outcomes>
      <outcomes_feedback_test>
        <test_variable>
          <variable_test testoperator = "GTE">4</variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Section_Mastery"/>
      </outcomes_feedback_test>
      <outcomes_feedback_test>
        <test_variable>
          <variable_test testoperator = "LT">4</variable_test>
        </test_variable>
        <displayfeedback linkrefid = "">Section_Failed</displayfeedback>
      </outcomes_feedback_test>
    </outcomes_processing>
    <sectionfeedback ident = "Section_Mastery">
      <flow_mat>
        <material>
          <matemtext>You have passed this Section.</matemtext>
        </material>
      </flow_mat>
    </sectionfeedback>
    <sectionfeedback ident = "Section_Failed">
      <flow_mat>
        <material>
          <mattext>You have failed this Section.</mattext>
        </material>
      </flow_mat>
    </sectionfeedback>
    <selection_ordering>
      <selection>
        <selection_number>6</selection_number>
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
      </selection>
      <order order_type = "Random"/>
    </selection_ordering>
    <item ident = "IMS_QTIV1p2_I_SAO_01" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>Which one of following is an 'Inert' gas ?</mattext>
          </material>
          <response_lid ident = "LID01" rcardinality= "Single" rtiming = "No">
            <render_choice shuffle = "Yes" minnumber = "1" maxnumber = "1">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>He</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>C</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>Zn</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>Cl</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "E">
                  <material>
                    <mattext>Li</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <qticomment/>
        <outcomes>
          <decvar defaultval = "0" minvalue = "0" maxvalue = "1"/>
        </outcomes>
        <respcondition continue = "Yes">
          <qticomment>To detect if the correct answer has been supplied.
          </qticomment>
          <conditionvar>
            <varequal respident = "LID01">A</varequal>
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "Correct"/>
        </respcondition>
        <respcondition continue = "No">
          <qticomment>To detect if the incorrect answer is supplied.
          </qticomment>
          <conditionvar>
            <not>
              <varequal respident = "LID01" case = "No">A</varequal>
            </not>
          </conditionvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "InCorrect"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct">
        <material>
          <mattext>Correct answer is A.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext xml:lang="en-US" xml:space="default" texttype="" 
            charset ="">Answers B, C, D and E are incorrect.
          </mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_02" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>The symbol 'Cl' denotes which element ?</mattext>
          </material>
          <response_lid ident = "LID02" rcardinality= "Single" rtiming = "No">
            <render_choice shuffle = "Yes" minnumber = "1" maxnumber = "1">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>Carbon</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>Chlorine</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>Calcium</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
                    <mattext>Caesium</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
            maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition continue = "Yes">
          <qticomment>Correct response detection</qticomment>
          <conditionvar>
            <varequal respident = "LID02">B</varequal>
          </conditionvar>
          <setvar varname = "SCORE" action = "Set">1</setvar>
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
        <respcondition>
          <conditionvar>
            <not>
              <varequal respident = "LID02">B</varequal>
            </not>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct" view = "All">
        <material>
          <mattext>Correct.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext>No.  The correct answer is Chlorine.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_03" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>Which group of elements are the Halogens ?</mattext>
          </material>
          <response_lid ident = "TF01" rcardinality = "Single" rtiming = "No">
            <render_choice shuffle = "Yes">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>H, Li, Na, K, Rb</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>Be, Mg, Ca, Sr, Ba</mattext>
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>F, Cl, Br, I, At</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>He, Ne, Ar, Kr, Xe</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition continue = "No">
          <qticomment>Processing for the incorrect answer.</qticomment>
          <conditionvar>
            <not>
              <varequal respident = "TF01">C</varequal>
            </not>
          </conditionvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "Incorrect"/>
        </respcondition>
        <respcondition continue = "No">
          <qticomment>Processing for the correct answer.</qticomment>
          <conditionvar>
            <varequal respident = "TF01" case = "No">C</varequal>
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct">
        <material>
          <mattext>Correct answer.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect">
        <material>
          <mattext>Sorry, you are wrong.  F, Cl, Br, I, At are the Halogens.
          </mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_04" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>What is the atomic number for Hydrogen ?</mattext>
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
          </material>
          <response_lid ident = "LID03" rcardinality= "Single" rtiming = "No">
            <render_choice shuffle = "Yes">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>1</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>2</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>3</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>4</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
            maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition continue = "No">
          <qticomment>Correct response check</qticomment>
          <conditionvar>
            <varequal respident = "LID03" case = "No">A</varequal>
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
        <respcondition>
          <conditionvar>
            <not>
              <varequal respident = "LID03" case = "No">A</varequal>
            </not>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct" view = "All">
        <material>
          <mattext>Correct.</mattext>
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext>No.  The atomic weight of Hydrogen is '1'.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_05" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>What is the atomic symbol for the element Silver ?
            </mattext>
          </material>
          <response_lid ident = "LID04" rcardinality= "Single" rtiming = "No">
            <render_choice shuffle = "No" minnumber = "1" maxnumber = "1">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>Al</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>Au</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>Ar</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>Ag</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar varname= "SCORE" defaultval= "0" minvalue= "0" maxvalue= "1" 
            vartype = "Integer"/>
        </outcomes>
        <respcondition continue = "Yes">
          <qticomment>Correct response processing</qticomment>
          <conditionvar>
            <varequal respident = "LID04">D</varequal>
          </conditionvar>
          <setvar varname = "SCORE" action = "Add">1</setvar>
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
        <respcondition continue = "No">
          <qticomment>Incorrect response processing</qticomment>
          <conditionvar>
            <not>
              <varequal respident = "LID04">D</varequal>
            </not>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct" view = "All">
        <material>
          <mattext>Yes.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext>No.  The atomic symbol for Silver is 'Ag'.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_QTILiveTalkv1_06" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>What is the atomic symbol for the common salt ?
            </mattext>
          </material>
          <response_lid ident= "LID03" rcardinality= "Single" rtiming= "No">
            <render_choice shuffle = "Yes" minnumber = "1" maxnumber = "1">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>CaCl</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>NaCl</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>CaBr</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>NaBr</mattext>
                  </material>
                </response_label>
              </flow_label>
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar varname = "SCORE" vartype = "Integer" defaultval = "0" 
            minvalue = "0" maxvalue = "1"/>
        </outcomes>
        <respcondition>
          <qticomment>Correct response processing</qticomment>
          <conditionvar>
            <varequal respident = "LID03">B</varequal>
          </conditionvar>
          <setvar varname = "SCORE" action = "Set">1</setvar>
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
        <respcondition>
          <qticomment>Incorrect answer response processing</qticomment>
          <conditionvar>
            <not>
              <varequal respident = "LID03">B</varequal>
            </not>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct" view = "All">
        <material>
          <mattext>Correct.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext>No.  The atomic symbol for common salt is 'NaCl'.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_07" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>'Fe' is the symbol for which element ?</mattext>
          </material>
          <response_lid ident= "LID03" rcardinality = "Single" rtiming = "No">
            <render_choice shuffle = "Yes" minnumber = "1" maxnumber = "1">
              <flow_label>
                <response_label ident = "A">
                  <material>
                    <mattext>Gold</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "B">
                  <material>
                    <mattext>Bronze</mattext>
                  </material>
                </response_label>
              </flow_label>
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
              <flow_label>
                <response_label ident = "C">
                  <material>
                    <mattext>Iron</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "D">
                  <material>
                    <mattext>Mercury</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <outcomes>
          <decvar varname = "SCORE" vartype = "Integer" defaultval = "0" 
            minvalue = "0" maxvalue = "1"/>
        </outcomes>
        <respcondition>
          <qticomment>Correct answer response processing.</qticomment>
          <conditionvar>
            <varequal respident = "LID03">C</varequal>
          </conditionvar>
          <setvar varname = "SCORE" action = "Set">1</setvar>
          <displayfeedback linkrefid = "Correct" feedbacktype = "Response"/>
        </respcondition>
        <respcondition>
          <qticomment>Incorrect answer response processing.</qticomment>
          <conditionvar>
            <not>
              <varequal respident = "LID03">C</varequal>
            </not>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct" view = "All">
        <material>
          <mattext>Correct.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect" view = "All">
        <material>
          <mattext>No.  'Fe' is the atomic symbol for Iron.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_08" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>Galium Arsenide is known as a III-V compound ?</mattext>
          </material>
          <response_lid ident = "TF02" rcardinality = "Single" rtiming = "No">
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
            <render_choice shuffle = "Yes">
              <flow_label>
                <response_label ident = "T">
                  <material>
                    <mattext>True</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "F">
                  <material>
                    <mattext>False</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <qticomment>Processing for the correct answer.</qticomment>
        <outcomes>
          <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition>
          <conditionvar>
            <varequal respident = "TF02">T</varequal>
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "Correct"/>
        </respcondition>
        <respcondition continue = "No">
          <conditionvar>
            <varequal respident = "TF02" case = "No">F</varequal>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct">
        <material>
          <mattext>Correct answer.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect">
        <material>
          <mattext>Incorrect.  Galium Arsendie is a III-V compound.</mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_09" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>Six is the atomic weight of the element most significant 
              for the creation of on Earth ?
            </mattext>
          </material>
          <response_lid ident = "TF03" rcardinality = "Single" rtiming = "No">
            <render_choice shuffle = "Yes">
              <flow_label>
655
656
657
658
659
660
661
662
663
664
665
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
                <response_label ident = "T">
                  <material>
                    <mattext>True</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "F">
                  <material>
                    <mattext>False</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <qticomment>Processing for the correct answer.</qticomment>
        <outcomes>
          <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition>
          <conditionvar>
            <varequal respident = "TF03">T</varequal>
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "Correct"/>
        </respcondition>
        <respcondition continue = "No">
          <conditionvar>
            <varequal respident = "TF03" case = "No">F</varequal>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct">
        <material>
          <mattext>Correct i.e. the element Carbon.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect">
        <material>
          <mattext>Sorry, you are wrong.  Carbon has an atomic weight of six.
          </mattext>
        </material>
      </itemfeedback>
    </item>
    <item ident = "IMS_QTIV1p2_I_SAO_10" maxattempts = "2">
      <presentation>
        <flow>
          <material>
            <mattext>Is Lutetium the last element in the Lanthanide Series ?
            </mattext>
          </material>
          <response_lid ident = "TF04" rcardinality = "Single" rtiming = "No">
            <render_choice shuffle = "Yes">
              <flow_label>
                <response_label ident = "T">
715
716
717
718
719
720
721
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
                  <material>
                    <mattext>True</mattext>
                  </material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident = "F">
                  <material>
                    <mattext>False</mattext>
                  </material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <qticomment>Processing for the correct answer.</qticomment>
        <outcomes>
          <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
        </outcomes>
        <respcondition>
          <conditionvar>
            <varequal respident = "TF04">T</varequal>
          </conditionvar>
          <setvar action = "Set" varname = "SCORE">1</setvar>
          <displayfeedback feedbacktype = "Response" linkrefid = "Correct"/>
        </respcondition>
        <respcondition continue = "No">
          <conditionvar>
            <varequal respident = "TF04" case = "No">F</varequal>
          </conditionvar>
          <displayfeedback linkrefid = "Incorrect" feedbacktype = "Response"/>
        </respcondition>
      </resprocessing>
      <itemfeedback ident = "Correct">
        <material>
          <mattext>Correct answer.</mattext>
        </material>
      </itemfeedback>
      <itemfeedback ident = "Incorrect">
        <material>
          <mattext>Sorry, you are wrong.  Lutetium is the last element in the 
            Lathanide Series.
          </mattext>
        </material>
      </itemfeedback>
    </item>
  </section>
</questestinterop>


The Result report of this Section assumes that the participant has entered the answer at the first attempt for all six of the presented Items. Five of the Items have been answered correctly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<qti_result_report>
  <result>
    <context>
      <name>Bruce Wayne</name>
      <generic_identifier>
        <type_label>Student Number</type_label>
        <identifier_string>TestCo:156805D</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Exam</type_label>
        <datetime>2001-08-07T14:00:00</datetime>
      </date>
    </context>
    <section_result asi_title = "Example Section Title" 
        ident_ref = "IMS_QTIV1p2_S_ResReport_01">
      <date>
        <type_label>Section Creation Time</type_label>
        <datetime>2001-08-07T13:40:00</datetime>
      </date>
      <control hint_switch = "No" solution_switch = "No" feedback_switch = "Yes"/>
      <outcomes>
        <score varname = "SCORE" vartype = "Integer">
          <score_value>5</score_value>
          <score_min>0</score_min>
          <score_max>6</score_max>
          <score_cut>4</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Section_Passed">Response</feedback_displayed>
      <num_items>10</num_items>
      <num_items_presented>6</num_items_presented>
      <num_items_attempted>6</num_items_attempted>
      <num_sections_presented>1</num_sections_presented>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_01">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:31:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID01">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>A</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value>A</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer">
            <score_value>1</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_02">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:33:00</datetime>
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID02">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>B</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value>B</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer">
            <score_value>1</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_03" presented = "No">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:35:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "TF01">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>C</correct_response>
          </response_form>
        </response>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_04" presented = "Yes">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:37:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID03">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>A</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value response_status = "Valid">D</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer" status = "Valid">
            <score_value>0</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Incorrect">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_05" presented = "Yes">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:39:00</datetime>
        </date>
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID04">
          <response_form cardinality="single" render_type="choice" timing = "No" 
              response_type = "lid">
            <correct_response>D</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value response_status = "Valid">D</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer" status = "Valid">
            <score_value>1</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_06" presented = "No">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:41:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID03">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>B</correct_response>
          </response_form>
        </response>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_07" presented = "Yes">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:42:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "LID03">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>C</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value response_status = "Valid">C</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer" status = "Valid">
            <score_value>1</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_08" presented = "No">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:43:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
        <response ident_ref = "TF02">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>T</correct_response>
          </response_form>
        </response>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_09" presented = "Yes">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:44:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "TF03">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>T</correct_response>
          </response_form>
          <num_attempts>1</num_attempts>
          <response_value response_status = "Valid">T</response_value>
        </response>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer" status = "Valid">
            <score_value>1</score_value>
            <score_min>0</score_min>
            <score_max>1</score_max>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Correct">Response</feedback_displayed>
      </item_result>
      <item_result ident_ref = "IMS_QTIV1p2_I_SAO_10" presented = "No">
        <date>
          <type_label>Item Creation Time</type_label>
          <datetime>2001-08-07T13:43:00</datetime>
        </date>
        <duration>P0Y0M0DT0H2M</duration>
        <response ident_ref = "TF04">
          <response_form cardinality= "single" render_type= "choice" timing= "No" 
              response_type = "lid">
            <correct_response>T</correct_response>
          </response_form>
        </response>
      </item_result>
    </section_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_sc_section02.xml'. The key points to note are:

  • There is an Item result report for ALL of the Items. Items that were not presented are denoted using the attribute value presented='No' on the item_result element;
  • The Section and Item summaries given in the section_result element shown that the Section contains 10 Items of which 6 were presented and attempted, from the 1 presented Section (lines 30-33);
  • The correct response has been returned for all of the Items. The manner in which this is derived from the original ASI structure is outside the scope of this specification.

4.3 Reporting IMS QTI Assessments

Below is an example of an Assessment with ten Items as defined using QTI-XML and the associated Results Reporting structure required to report on an instance of that Item being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<questestinterop>
  <assessment ident = "IMS_QTIV1p2_A_ResReport_02">
    <outcomes_processing scoremodel = "SumofScores">
      <outcomes>
        <decvar varname= "SCORE" vartype= "Integer" minvalue= "0" maxvalue= "6" 
          cutvalue = "4"/>
      </outcomes>
      <outcomes_feedback_test>
        <test_variable>
          <variable_test testoperator = "GTE">4</variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Test_Passed"/>
      </outcomes_feedback_test>
      <outcomes_feedback_test>
        <test_variable>
          <variable_test testoperator = "LT">4</variable_test>
        </test_variable>
        <displayfeedback linkrefid = "">Test_Failed</displayfeedback>
      </outcomes_feedback_test>
    </outcomes_processing>
    <assessfeedback ident = "Test_Passed">
      <flow_mat>
        <material>
          <mattext>Well done.  You have passed this test.</mattext>
        </material>
      </flow_mat>
    </assessfeedback>
    <assessfeedback ident = "Test_Failed">
      <flow_mat>
        <material>
          <mattext>Sorry.  You have failed this test.</mattext>
        </material>
      </flow_mat>
    </assessfeedback>
    <section ident = "IMS_QTIV1p2_S_ResReport_01">
      <presentation_material>
        <flow_mat>
          <flow_mat>
            <material>
              <matimage uri = "periodictable.jpg" x0 = "100" y0 = "100" 
                height = "400" width = "600"/>
            </material>
          </flow_mat>
          <flow_mat>
            <material>
              <mattext>Answer the following questions on the Periodic Table 
                shown above.
              </mattext>
            </material>
          </flow_mat>
        </flow_mat>
      </presentation_material>
      <outcomes_processing scoremodel = "SumofScores">
        <outcomes>
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
          <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
            maxvalue = "6" cutvalue = "4"/>
        </outcomes>
        <outcomes_feedback_test>
          <test_variable>
            <variable_test testoperator = "GTE">4</variable_test>
          </test_variable>
          <displayfeedback linkrefid = "Section_Mastery"/>
        </outcomes_feedback_test>
        <outcomes_feedback_test>
          <test_variable>
            <variable_test testoperator = "LT">4</variable_test>
          </test_variable>
          <displayfeedback linkrefid = "">Section_Failed</displayfeedback>
        </outcomes_feedback_test>
      </outcomes_processing>
      <sectionfeedback ident = "Section_Mastery">
        <flow_mat>
          <material>
            <matemtext>You have passed this Section.</matemtext>
          </material>
        </flow_mat>
      </sectionfeedback>
      <sectionfeedback ident = "Section_Failed">
        <flow_mat>
          <material>
            <mattext>You have failed this Section.</mattext>
          </material>
        </flow_mat>
      </sectionfeedback>
      <selection_ordering>
        <selection>
          <selection_number>6</selection_number>
        </selection>
        <order order_type = "Random"/>
      </selection_ordering>
      <item ident = "IMS_QTIV1p2_I_SAO_01" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>Which one of following is an 'Inert' gas ?</mattext>
            </material>
            <response_lid ident= "LID01" rcardinality="Single" rtiming= "No">
              <render_choice shuffle= "Yes" minnumber= "1" maxnumber= "1">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>He</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>C</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
                    <material>
                      <mattext>Zn</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>Cl</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "E">
                    <material>
                      <mattext>Li</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <qticomment/>
          <outcomes>
            <decvar defaultval = "0" minvalue = "0" maxvalue = "1"/>
          </outcomes>
          <respcondition continue = "Yes">
            <qticomment>To detect if the correct answer has been supplied.
            </qticomment>
            <conditionvar>
              <varequal respident = "LID01">A</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback feedbacktype= "Response" linkrefid = "Correct"/>
          </respcondition>
          <respcondition continue = "No">
            <qticomment>To detect if the incorrect answer is supplied.
            </qticomment>
            <conditionvar>
              <not>
                <varequal respident = "LID01" case = "No">A</varequal>
              </not>
            </conditionvar>
            <displayfeedback feedbacktype="Response" linkrefid="InCorrect"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct">
          <material>
            <mattext>Correct answer is A.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext xml:lang = "en-US" xml:space = "default" texttype = "" 
              charset = "">Answers B, C, D and E are incorrect.</mattext>
          </material>
        </itemfeedback>
      </item>
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
      <item ident = "IMS_QTIV1p2_I_SAO_02" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>The symbol 'Cl' denotes which element ?</mattext>
            </material>
            <response_lid ident="LID02" rcardinality ="Single" rtiming= "No">
              <render_choice shuffle= "Yes" minnumber= "1" maxnumber= "1">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>Carbon</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>Chlorine</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>Calcium</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>Caesium</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
              maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition continue = "Yes">
            <qticomment>Correct response detection</qticomment>
            <conditionvar>
              <varequal respident = "LID02">B</varequal>
            </conditionvar>
            <setvar varname = "SCORE" action = "Set">1</setvar>
            <displayfeedback linkrefid= "Correct" feedbacktype = "Response"/>
          </respcondition>
          <respcondition>
            <conditionvar>
              <not>
                <varequal respident = "LID02">B</varequal>
              </not>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct" view = "All">
          <material>
            <mattext>Correct.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext>No.  The correct answer is Chlorine.</mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_03" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>Which group of elements are the Halogens ?</mattext>
            </material>
            <response_lid ident= "TF01" rcardinality= "Single" rtiming= "No">
              <render_choice shuffle = "Yes">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>H, Li, Na, K, Rb</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>Be, Mg, Ca, Sr, Ba</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>F, Cl, Br, I, At</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>He, Ne, Ar, Kr, Xe</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition continue = "No">
            <qticomment>Processing for the incorrect answer.</qticomment>
            <conditionvar>
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
              <not>
                <varequal respident = "TF01">C</varequal>
              </not>
            </conditionvar>
            <displayfeedback feedbacktype="Response" linkrefid= "Incorrect"/>
          </respcondition>
          <respcondition continue = "No">
            <qticomment>Processing for the correct answer.</qticomment>
            <conditionvar>
              <varequal respident = "TF01" case = "No">C</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback linkrefid ="Correct" feedbacktype = "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct">
          <material>
            <mattext>Correct answer.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect">
          <material>
            <mattext>Sorry, you are wrong.  F, Cl, Br, I, At are the 
              Halogens.
            </mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_04" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>What is the atomic number for Hydrogen ?</mattext>
            </material>
            <response_lid ident="LID03" rcardinality="Single" rtiming= "No">
              <render_choice shuffle = "Yes">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>1</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>2</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>3</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
                      <mattext>4</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
              maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition continue = "No">
            <qticomment>Correct response check</qticomment>
            <conditionvar>
              <varequal respident = "LID03" case = "No">A</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback linkrefid = "Correct" feedbacktype= "Response"/>
          </respcondition>
          <respcondition>
            <conditionvar>
              <not>
                <varequal respident = "LID03" case = "No">A</varequal>
              </not>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct" view = "All">
          <material>
            <mattext>Correct.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext>No.  The atomic weight of Hydrogen is '1'.</mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_05" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>What is the atomic symbol for the element Silver ?
              </mattext>
            </material>
            <response_lid ident="LID04" rcardinality="Single" rtiming = "No">
              <render_choice shuffle= "No" minnumber= "1" maxnumber= "1">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>Al</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
                      <mattext>Au</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>Ar</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>Ag</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar varname = "SCORE" defaultval = "0" minvalue = "0" 
              maxvalue = "1" vartype = "Integer"/>
          </outcomes>
          <respcondition continue = "Yes">
            <qticomment>Correct response processing</qticomment>
            <conditionvar>
              <varequal respident = "LID04">D</varequal>
            </conditionvar>
            <setvar varname = "SCORE" action = "Add">1</setvar>
            <displayfeedback linkrefid ="Correct" feedbacktype = "Response"/>
          </respcondition>
          <respcondition continue = "No">
            <qticomment>Incorrect response processing</qticomment>
            <conditionvar>
              <not>
                <varequal respident = "LID04">D</varequal>
              </not>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct" view = "All">
          <material>
            <mattext>Yes.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext>No.  The atomic symbol for Silver is 'Ag'.</mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_QTILiveTalkv1_06" maxattempts = "2">
        <presentation>
          <flow>
            <material>
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
              <mattext>What is the atomic symbol for the common salt ?
              </mattext>
            </material>
            <response_lid ident="LID03" rcardinality="Multiple" rtiming="No">
              <render_choice shuffle= "Yes" minnumber= "1" maxnumber= "1">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>CaCl</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>NaCl</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>CaBr</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>NaBr</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar varname = "SCORE" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "1"/>
          </outcomes>
          <respcondition>
            <qticomment>Correct response processing</qticomment>
            <conditionvar>
              <varequal respident = "LID03">B</varequal>
            </conditionvar>
            <setvar varname = "SCORE" action = "Set">1</setvar>
            <displayfeedback linkrefid = "Correct" feedbacktype= "Response"/>
          </respcondition>
          <respcondition>
            <qticomment>Incorrect answer response processing</qticomment>
            <conditionvar>
              <not>
                <varequal respident = "LID03">B</varequal>
              </not>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype="Response"/>
          </respcondition>
        </resprocessing>
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
        <itemfeedback ident = "Correct" view = "All">
          <material>
            <mattext>Correct.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext>No.  The atomic symbol for common salt is 'NaCl'.
            </mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_07" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>'Fe' is the symbol for which element ?</mattext>
            </material>
            <response_lid ident="LID03" rcardinality="Multiple" 
                rtiming ="No">
              <render_choice shuffle="Yes" minnumber= "1" maxnumber= "1">
                <flow_label>
                  <response_label ident = "A">
                    <material>
                      <mattext>Gold</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "B">
                    <material>
                      <mattext>Bronze</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "C">
                    <material>
                      <mattext>Iron</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "D">
                    <material>
                      <mattext>Mercury</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <outcomes>
            <decvar varname = "SCORE" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "1"/>
          </outcomes>
          <respcondition>
            <qticomment>Correct answer response processing.</qticomment>
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
            <conditionvar>
              <varequal respident = "LID03">C</varequal>
            </conditionvar>
            <setvar varname = "SCORE" action = "Set">1</setvar>
            <displayfeedback linkrefid= "Correct" feedbacktype = "Response"/>
          </respcondition>
          <respcondition>
            <qticomment>Incorrect answer response processing.</qticomment>
            <conditionvar>
              <not>
                <varequal respident = "LID03">C</varequal>
              </not>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct" view = "All">
          <material>
            <mattext>Correct.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect" view = "All">
          <material>
            <mattext>No.  'Fe' is the atomic symbol for Iron.</mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_08" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>Galium Arsenide is known as a III-V compound ?
              </mattext>
            </material>
            <response_lid ident= "TF02" rcardinality= "Single" rtiming= "No">
              <render_choice shuffle = "Yes">
                <flow_label>
                  <response_label ident = "T">
                    <material>
                      <mattext>True</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "F">
                    <material>
                      <mattext>False</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <qticomment>Processing for the correct answer.</qticomment>
          <outcomes>
            <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition>
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
            <conditionvar>
              <varequal respident = "TF02">T</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback feedbacktype = "Response" linkrefid= "Correct"/>
          </respcondition>
          <respcondition continue = "No">
            <conditionvar>
              <varequal respident = "TF02" case = "No">F</varequal>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct">
          <material>
            <mattext>Correct answer.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect">
          <material>
            <mattext>Incorrect.  Galium Arsendie is a III-V compound.
            </mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_09" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>Six is the atomic weight of the element most 
                significant for the creation of on Earth ?
              </mattext>
            </material>
            <response_lid ident= "TF03" rcardinality= "Single" rtiming= "No">
              <render_choice shuffle = "Yes">
                <flow_label>
                  <response_label ident = "T">
                    <material>
                      <mattext>True</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "F">
                    <material>
                      <mattext>False</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <qticomment>Processing for the correct answer.</qticomment>
          <outcomes>
            <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition>
            <conditionvar>
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
              <varequal respident = "TF03">T</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback feedbacktype = "Response" linkrefid= "Correct"/>
          </respcondition>
          <respcondition continue = "No">
            <conditionvar>
              <varequal respident = "TF03" case = "No">F</varequal>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype="Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct">
          <material>
            <mattext>Correct i.e. the element Carbon.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect">
          <material>
            <mattext>Sorry, you are wrong.  Carbon has an atomic weight of 
              six.
            </mattext>
          </material>
        </itemfeedback>
      </item>
      <item ident = "IMS_QTIV1p2_I_SAO_10" maxattempts = "2">
        <presentation>
          <flow>
            <material>
              <mattext>Is Lutetium the last element in the Lanthanide 
                Series ?
              </mattext>
            </material>
            <response_lid ident="TF04" rcardinality= "Single" rtiming = "No">
              <render_choice shuffle = "Yes">
                <flow_label>
                  <response_label ident = "T">
                    <material>
                      <mattext>True</mattext>
                    </material>
                  </response_label>
                </flow_label>
                <flow_label>
                  <response_label ident = "F">
                    <material>
                      <mattext>False</mattext>
                    </material>
                  </response_label>
                </flow_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <qticomment>Processing for the correct answer.</qticomment>
          <outcomes>
            <decvar minvalue = "0" maxvalue = "1" defaultval = "0"/>
          </outcomes>
          <respcondition>
            <conditionvar>
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
              <varequal respident = "TF04">T</varequal>
            </conditionvar>
            <setvar action = "Set" varname = "SCORE">1</setvar>
            <displayfeedback feedbacktype= "Response" linkrefid = "Correct"/>
          </respcondition>
          <respcondition continue = "No">
            <conditionvar>
              <varequal respident = "TF04" case = "No">F</varequal>
            </conditionvar>
            <displayfeedback linkrefid="Incorrect" feedbacktype= "Response"/>
          </respcondition>
        </resprocessing>
        <itemfeedback ident = "Correct">
          <material>
            <mattext>Correct answer.</mattext>
          </material>
        </itemfeedback>
        <itemfeedback ident = "Incorrect">
          <material>
            <mattext>Sorry, you are wrong.  Lutetium is the last element in 
              the Lathanide Series.
            </mattext>
          </material>
        </itemfeedback>
      </item>
    </section>
  </assessment>
</questestinterop>


The Result report of this Assessment assumes that the participant has entered the answer at the first attempt for all six of the presented Items. Five of the Items have been answered correctly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<qti_result_report>
  <result>
    <context>
      <name>Bruce Wayne</name>
      <generic_identifier>
        <type_label>Student Number</type_label>
        <identifier_string>TestCo:156805D</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Exam</type_label>
        <datetime>2001-08-07T14:00:00</datetime>
      </date>
    </context>
    <assessment_result asi_title = "Example Assessment Title" 
        ident_ref = "IMS_QTIV1p2_A_ResReport_02">
      <date>
        <type_label>Assessment Creation Time</type_label>
        <datetime>2001-08-07T13:30:00</datetime>
      </date>
      <duration>P0Y0M0DT1H0M</duration>
      <control hint_switch = "No" solution_switch = "No" feedback_switch = "Yes"/>
      <outcomes>
        <score varname = "SCORE" vartype = "Integer">
          <score_value>5</score_value>
          <score_min>0</score_min>
          <score_max>6</score_max>
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
          <score_cut>4</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Assess_Passed">Response
      </feedback_displayed>
      <num_items>10</num_items>
      <num_sections>1</num_sections>
      <num_items_presented>6</num_items_presented>
      <num_items_attempted>6</num_items_attempted>
      <num_sections_presented>1</num_sections_presented>
      <section_result asi_title = "Example Section Title" 
          ident_ref = "IMS_QTIV1p2_S_ResReport_01">
        <date>
          <type_label>Section Creation Time</type_label>
          <datetime>2001-08-07T13:30:00</datetime>
        </date>
        <control hint_switch= "No" solution_switch="No" feedback_switch= "Yes"/>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer">
            <score_value>5</score_value>
            <score_min>0</score_min>
            <score_max>6</score_max>
            <score_cut>4</score_cut>
          </score>
        </outcomes>
        <feedback_displayed ident_ref = "Section_Passed">Response
        </feedback_displayed>
        <num_items>10</num_items>
        <num_items_presented>6</num_items_presented>
        <num_items_attempted>6</num_items_attempted>
        <num_sections_presented>1</num_sections_presented>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_01">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:31:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID01">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>A</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value>A</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer">
              <score_value>1</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Correct">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_02">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:33:00</datetime>
          </date>
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID02">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>B</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value>B</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer">
              <score_value>1</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Correct">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_03" presented = "No">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:35:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "TF01">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>C</correct_response>
            </response_form>
          </response>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_04" presented = "Yes">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:37:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID03">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>A</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value response_status = "Valid">D</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>0</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Incorrect">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_05" presented = "Yes">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:39:00</datetime>
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID04">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>D</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value response_status = "Valid">D</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>1</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Correct">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_06" presented = "No">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:41:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID03">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>B</correct_response>
            </response_form>
          </response>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_07" presented = "Yes">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:42:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "LID03">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>C</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value response_status = "Valid">C</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>1</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Correct">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_08" presented = "No">
          <date>
            <type_label>Item Creation Time</type_label>
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
            <datetime>2001-08-07T13:43:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "TF02">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>T</correct_response>
            </response_form>
          </response>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_09" presented = "Yes">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:44:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "TF03">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>T</correct_response>
            </response_form>
            <num_attempts>1</num_attempts>
            <response_value response_status = "Valid">T</response_value>
          </response>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>1</score_value>
              <score_min>0</score_min>
              <score_max>1</score_max>
            </score>
          </outcomes>
          <feedback_displayed ident_ref = "Correct">Response
          </feedback_displayed>
        </item_result>
        <item_result ident_ref = "IMS_QTIV1p2_I_SAO_10" presented = "No">
          <date>
            <type_label>Item Creation Time</type_label>
            <datetime>2001-08-07T13:43:00</datetime>
          </date>
          <duration>P0Y0M0DT0H2M</duration>
          <response ident_ref = "TF04">
            <response_form cardinality = "single" render_type = "choice" 
                timing = "No" response_type = "lid">
              <correct_response>T</correct_response>
            </response_form>
          </response>
        </item_result>
      </section_result>
    </assessment_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_sc_assess02.xml'. The key points to note are:

  • There is an Item result report for ALL of the Items. Items that were not presented are denoted using the attribute value presented='No' on the item_result element;
  • The Section and Item summaries given in the section_result element shown that the Assessment contains 10 Items of which 6 were presented and attempted, from the 1 presented Section (lines 32-36);
  • The correct response has been returned for all of the Items. The manner in which this is derived from the original ASI structure is outside the scope of this specification.

4.4 Reporting Result Summaries

4.4.1 Summary of a Section

The Result report of this Summary is based upon the Section example in Section 4.2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<qti_result_report>
  <result>
    <context>
      <name>Bruce Wayne</name>
      <generic_identifier>
        <type_label>Student Number</type_label>
        <identifier_string>TestCo:156805D</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Exam</type_label>
        <datetime>2001-08-07T00:14:00</datetime>
      </date>
    </context>
    <summary_result>
      <type_label>Section</type_label>
      <generic_identifier>
        <type_label>Section Id</type_label>
        <identifier_string>IMS_QTIV1p2_S_ResReport_01</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Section Creation Time</type_label>
        <datetime>2001-08-07T13:40:00</datetime>
      </date>
      <status>
        <status_value>Complete</status_value>
      </status>
      <duration>P0Y0M0DT1H0M0S</duration>
      <score varname = "SCORE" vartype = "Integer">
        <score_value>5</score_value>
        <score_min>0</score_min>
        <score_max>6</score_max>
        <score_cut>4</score_cut>
      </score>
    </summary_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_ss_sectsummary01.xml'. The key points to note are:

  • There is no reporting structure that reflects the structure of the original Section and its 10 Items;
  • The original Section is identified using the <type_label> and <generic_identifier> mechanism (lines 15-19);
  • The scores reported from the Section are contained in lines 28-33.

4.4.2 Summary of an Assessment

The Result report of this Summary is based upon the Assessment example in Section 4.3.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<qti_result_report>
  <result>
    <context>
      <name>Bruce Wayne</name>
      <generic_identifier>
        <type_label>Student Number</type_label>
        <identifier_string>TestCo:156805D</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Exam</type_label>
        <datetime>2001-08-07T00:14:00</datetime>
      </date>
    </context>
    <summary_result>
      <type_label>Assessment</type_label>
      <generic_identifier>
        <type_label>Assessment Id</type_label>
        <identifier_string>IMS_QTIV1p2_A_ResReport_02</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Assessment Creation Time</type_label>
        <datetime>2001-08-07T13:30:00</datetime>
      </date>
      <status>
        <status_value>Complete</status_value>
      </status>
      <duration>P0Y0M0DT1H0M</duration>
      <score varname = "SCORE" vartype = "Integer">
        <score_value>5</score_value>
        <score_min>0</score_min>
        <score_max>6</score_max>
        <score_cut>4</score_cut>
      </score>
    </summary_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_ss_assesssummary01.xml'. The key points to note are:

  • There is no reporting structure that reflects the structure of the original Assessment, the Section and its 10 Items;
  • The original Assessment is identifed using the <type_label> and <generic_identifier> mechanism (lines 15-19);
  • The scores reported from the Assessment are contained in lines 28-33.

5. Advanced XML Instance Examples

5.1 Complex Assessments

Below is an example of a complex Assessment consisting of two Sections each of which consist of two Sections and contain a total of 20 Items with QTI-XML and the associated Results Reporting structure required to report on an instance of that Assessment being answered and reported.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<questestinterop>
  <assessment ident = "IMS_QTIV1p2_A_SAO_01">
    <outcomes_processing scoremodel = "SumofScores">
      <outcomes>
        <decvar vartype="Integer" varname="SCORE" defaultval= "0" minvalue= "0" 
          maxvalue = "18" cutvalue = "14"/>
      </outcomes>
      <outcomes_feedback_test title = "Pass test.">
        <test_variable>
          <variable_test testoperator="GTE" varname= "SCORE">14
          </variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Pass" feedbacktype = "Response"/>
      </outcomes_feedback_test>
      <outcomes_feedback_test title = "Fail test.">
        <test_variable>
          <variable_test testoperator = "LT" varname = "SCORE">14
          </variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Fail" feedbacktype = "Response"/>
      </outcomes_feedback_test>
    </outcomes_processing>
    <outcomes_processing scoremodel = "NumberCorrect">
      <outcomes>
        <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
          minvalue = "0" maxvalue = "18" cutvalue = "14"/>
      </outcomes>
      <outcomes_feedback_test title = "Pass test.">
        <test_variable>
          <variable_test testoperator = "GTE" varname = "SCORE">14
          </variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Pass" feedbacktype = "Response"/>
      </outcomes_feedback_test>
      <outcomes_feedback_test title = "Fail test.">
        <test_variable>
          <variable_test testoperator = "LT" varname = "SCORE">14
          </variable_test>
        </test_variable>
        <displayfeedback linkrefid = "Fail" feedbacktype = "Response"/>
      </outcomes_feedback_test>
    </outcomes_processing>
    <assessfeedback ident = "Pass" view = "All">
      <flow_mat>
        <material>
          <mattext>Well done.  You have passed this test.</mattext>
        </material>
      </flow_mat>
    </assessfeedback>
    <assessfeedback ident = "Fail" view = "All">
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
      <flow_mat>
        <material>
          <mattext>Sorry,  You have failed this test.</mattext>
        </material>
      </flow_mat>
    </assessfeedback>
    <selection_ordering>
      <selection>
        <selection_number>1</selection_number>
      </selection>
      <order order_type = "Random"/>
    </selection_ordering>
    <section ident = "IMS_QTIV1p2_S_SAO_11">
      <outcomes_processing scoremodel = "SumofScores">
        <outcomes>
          <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
            minvalue = "0" maxvalue = "10" cutvalue = "8"/>
        </outcomes>
      </outcomes_processing>
      <outcomes_processing scoremodel = "NumberCorrect">
        <outcomes>
          <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
            minvalue = "0" maxvalue = "10" cutvalue = "8"/>
        </outcomes>
      </outcomes_processing>
      <selection_ordering>
        <selection>
          <selection_metadata mdname= "qmd_numberofitems" mdoperator = "GTE">4
          </selection_metadata>
        </selection>
        <order order_type = "Sequential"/>
      </selection_ordering>
      <section title = "IMSQTI_Selection&amp;OrderingTest_S11p1" 
          ident = "IMS_QTIV1p2_S_SAO_11p1">
        <qticomment>Set of True/false questions</qticomment>
        <qtimetadata>
          <qtimetadatafield>
            <fieldlabel>qmd_numberofitems</fieldlabel>
            <fieldentry>4</fieldentry>
          </qtimetadatafield>
        </qtimetadata>
        <outcomes_processing scoremodel = "SumofScores">
          <outcomes>
            <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <outcomes_processing scoremodel = "NumberCorrect">
          <outcomes>
            <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <selection_ordering>
          <selection/>
          <order order_type = "Random"/>
        </selection_ordering>
        <item ident = "IMS_QTIV1p2_I_SAO_02" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>The QTI specification supports the exchange of 
                  which data structures ?
                </mattext>
              </material>
              <response_lid ident = "LID02" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle = "Yes" minnumber = "1" 
                    maxnumber = "2">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>Response</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>Question</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
                      <material>
                        <mattext>Item</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Assessment</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" defaultval = 
                "False"/>
            </outcomes>
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
            <respcondition continue = "No">
              <qticomment xml:lang = "en-US">Correct response detection
              </qticomment>
              <conditionvar>
                <varequal respident = "LID02" case = "No">A</varequal>
                <varequal respident = "LID02" case = "No">B</varequal>
                <not>
                  <varequal respident = "LID02" case = "No">C
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID02" case = "No">D
                  </varequal>
                </not>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID02" case = "No">A
                    </varequal>
                    <varequal respident = "LID02" case = "No">B
                    </varequal>
                    <not>
                      <varequal respident = "LID02" case = "No">C
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID02" case = "No">D
                      </varequal>
                    </not>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.  Items and Assessment.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  The correct answers are Item and Assessment.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_08" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Time-based responses are supported by the QTI 
                  specification.</mattext>
              </material>
              <response_lid ident = "TF02" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF02" case = "No">T</varequal>
              </conditionvar>
              <setvar action = "Set" varname = "SCORE">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF02" case = "No">F</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  Time-based reponses ARE 
                supported by the specification.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_09" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Items defined according to QTI V1.0 are not 
                  compatible with Items from QTI V1.2.
                </mattext>
              </material>
              <response_lid ident = "TF03" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF03" case = "No">F</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF03" case = "No">T</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  V1.0 Items ARE compatible 
                with the V1.2 specification.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_10" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>The QTI specification is used within the ADL 
                  SCORM.
                </mattext>
              </material>
              <response_lid ident = "TF04" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF04" case = "No">T</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF04" case = "No">F</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  The QTI specification is NOT 
                used within ADL SCORM.
              </mattext>
            </material>
          </itemfeedback>
        </item>
      </section>
      <section title = "IMSQTI_Selection&amp;OrderingTest_S11p2" 
          ident = "IMS_QTIV1p2_S_SAO_11p2">
        <qticomment>Set of multiple-choice/multiple-response questions
        </qticomment>
        <qtimetadata>
          <qtimetadatafield>
            <fieldlabel>qmd_numberofitems</fieldlabel>
            <fieldentry>4</fieldentry>
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
          </qtimetadatafield>
        </qtimetadata>
        <outcomes_processing scoremodel = "SumofScores">
          <outcomes>
            <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
              minvalue = "0" maxvalue = "6" cutvalue = "5"/>
          </outcomes>
        </outcomes_processing>
        <outcomes_processing scoremodel = "NumberCorrect">
          <outcomes>
            <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "6" cutvalue = "5"/>
          </outcomes>
        </outcomes_processing>
        <selection_ordering>
          <selection/>
          <order order_type = "Random"/>
        </selection_ordering>
        <item ident = "IMS_QTIV1p2_I_SAO_01" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Which of the following statements are true about 
                  the QTI specification ?
                </mattext>
              </material>
              <response_lid ident = "LID01" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle="Yes" minnumber="1" 
                    maxnumber= "5">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>It is independent of pedagogy
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>It cannot be extended to support 
                          proprietary features
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
                    <response_label ident = "C">
                      <material>
                        <mattext>It contains many unnecesary 
                          features
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>It provides different content 
                          views for different types of 
                          participants
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "E">
                      <material>
                        <mattext>It is based on a well established 
                          framework
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment xml:lang = "en-US"/>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "Yes">
              <qticomment>To detect if the correct answer has been 
                supplied.
              </qticomment>
              <conditionvar>
                <varequal respident = "LID01" case = "No">A</varequal>
                <not>
                  <varequal respident = "LID01" case = "No">B
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID01" case = "No">C
                  </varequal>
                </not>
                <varequal respident = "LID01" case = "No">D</varequal>
                <varequal respident = "LID01" case = "No">E</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
            </respcondition>
            <respcondition continue = "No">
              <qticomment>To detect if the incorrect answer is supplied.
              </qticomment>
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID01" case = "No">A
                    </varequal>
                    <not>
                      <varequal respident = "LID01" case = "No">B
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID01" case = "No">C
                      </varequal>
                    </not>
                    <varequal respident = "LID01" case = "No">D
                    </varequal>
                    <varequal respident = "LID01" case = "No">E
                    </varequal>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "InCorrect"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer is A, D, E.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Answers B and C are incorrect.</mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_03" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Multiple Assessments cannot be contained in a 
                  single QTI ASI XML instance.
                </mattext>
              </material>
              <response_lid ident = "TF01" rcardinality = "Single" 
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the incorrect answer.</qticomment>
            <outcomes>
              <decvar minvalue = "0" maxvalue = "1" defaultval = "0" 
                vartype = "Integer" varname = "SCORE"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF01" case = "No">T</varequal>
              </conditionvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Incorrect"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF01" case = "No">F</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  A QTI-XML instance CAN 
                contain multiple Asssessments.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_04" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Which one of the following data structures is 
                  used to provide hierarchically structured 
                  assessments?
                </mattext>
              </material>
              <response_lid ident = "LID03" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>Assessment</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>Section</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
                      <material>
                        <mattext>Item</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Question</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
              <qticomment>Correct response check</qticomment>
              <conditionvar>
                <varequal respident = "LID03" case = "No">B</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <not>
                  <varequal respident = "LID03" case = "No">B
                  </varequal>
                </not>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  Only Sections support hierachical Assessments.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_05" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Which versions of the QTI specifications support 
                  results reporting ?
                </mattext>
              </material>
              <response_lid ident = "LID04" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle="No" minnumber="1" maxnumber="4">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>V1.0</mattext>
                      </material>
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
87-
871
872
873
874
875
876
877
879
879
880
881
882
883
884
885
886
887
888
889
890
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>V1.01</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
                      <material>
                        <mattext>V1.1</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>V1.2</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" defaultval = "0" minvalue = "0" 
                maxvalue = "1" vartype = "Integer"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>Correct response processing</qticomment>
              <conditionvar>
                <not>
                  <varequal respident = "LID04" case = "No">A
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID04" case = "No">B
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID04" case = "No">C
                  </varequal>
                </not>
                <varequal respident = "LID04" case = "No">D</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "Yes">
              <qticomment>Incorrect response processing</qticomment>
              <conditionvar>
                <not>
                  <and>
                    <not>
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
295
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
                      <varequal respident = "LID04" case = "No">A
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID04" case = "No">B
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID04" case = "No">C
                      </varequal>
                    </not>
                    <varequal respident = "LID04" case = "No">D
                    </varequal>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Yes.  Only V1.2 supports results reporting.
              </mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  Only V1.2 supports results reporting.</mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_06" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Which question types are supported by the full 
                  QTI specification ?
                </mattext>
              </material>
              <response_lid ident = "LID03" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle="Yes" minnumber="1" maxnumber="1">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>True/False</mattext>
                      </material>
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>Multiple choice with images
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
                      <material>
                        <mattext>Multiple response</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Fill-in-the-blank (integers)
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Fill-in-the-blank (essay)
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Image hot spot (multiple)
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>Correct response processing</qticomment>
              <conditionvar>
                <varequal respident = "LID03" case = "No">A</varequal>
                <varequal respident = "LID03" case = "No">B</varequal>
                <varequal respident = "LID03" case = "No">C</varequal>
                <varequal respident = "LID03" case = "No">D</varequal>
                <varequal respident = "LID03" case = "No">E</varequal>
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
                <varequal respident = "LID03" case = "No">F</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "No">
              <qticomment>Incorrect answer response processing</qticomment>
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID03" case = "No">A
                    </varequal>
                    <varequal respident = "LID03" case = "No">B
                    </varequal>
                    <varequal respident = "LID03" case = "No">C
                    </varequal>
                    <varequal respident = "LID03" case = "No">D
                    </varequal>
                    <varequal respident = "LID03" case = "No">E
                    </varequal>
                    <varequal respident = "LID03" case = "No">F
                    </varequal>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.  All of those question types are supported.
              </mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  All of those question types are supported.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_07" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Which question types are supported by the 
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
                  QTILite specification ?
                </mattext>
              </material>
              <response_lid ident = "LID03" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle="Yes" minnumber="1" maxnumber="4">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>True/False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>Multiple choice</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
                      <material>
                        <mattext>Multiple response</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Fill-in-the-blank</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" 
                defaultval = "0" minvalue = "0" maxvalue = "1"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>Correct answer response processing.</qticomment>
              <conditionvar>
                <varequal respident = "LID03" case = "No">A</varequal>
                <varequal respident = "LID03" case = "No">B</varequal>
                <not>
                  <varequal respident = "LID03" case = "No">C
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID03" case = "No">D
                  </varequal>
                </not>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "No">
              <qticomment>Incorrect answer response processing.
              </qticomment>
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID03" case = "No">A
                    </varequal>
                    <varequal respident = "LID03" case = "No">B
                    </varequal>
                    <not>
                      <varequal respident = "LID03" case = "No">C
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID03" case = "No">D
                      </varequal>
                    </not>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.  True/False and Multple-choice only.
              </mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  Only True/False and Multiple-choice are 
                supported.
              </mattext>
            </material>
          </itemfeedback>
        </item>
      </section>
    </section>
    <section ident = "IMS_QTIV1p2_S_SAO_12">
      <outcomes_processing scoremodel = "SumofScores">
        <outcomes>
          <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
            minvalue = "0" maxvalue = "8" cutvalue = "6"/>
        </outcomes>
      </outcomes_processing>
      <outcomes_processing scoremodel = "NumberCorrect">
        <outcomes>
          <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
            minvalue = "0" maxvalue = "8" cutvalue = "6"/>
        </outcomes>
      </outcomes_processing>
      <selection_ordering>
        <selection/>
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
        <order order_type = "Random"/>
      </selection_ordering>
      <section title = "IMSQTI_Selection&amp;OrderingTest_S12p1" 
          ident = "IMS_QTIV1p2_S_SAO_12p1">
        <qticomment>Set of True/false questions</qticomment>
        <outcomes_processing scoremodel = "SumofScores">
          <outcomes>
            <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <outcomes_processing scoremodel = "NumberCorrect">
          <outcomes>
            <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <selection_ordering>
          <selection/>
          <order order_type = "Random"/>
        </selection_ordering>
        <item ident = "IMS_QTIV1p2_I_SAO_02" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>The QTI specification supports the exchange of 
                  which data structures ?
                </mattext>
              </material>
              <response_lid ident = "LID02" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle="Yes" minnumber="1" maxnumber="2">
                  <flow_label class = "Block">
                    <response_label ident = "A">
                      <material>
                        <mattext>Response</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "B">
                      <material>
                        <mattext>Question</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "C">
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
                      <material>
                        <mattext>Item</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "D">
                      <material>
                        <mattext>Assessment</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>Correct response detection</qticomment>
              <conditionvar>
                <varequal respident = "LID02" case = "No">A</varequal>
                <varequal respident = "LID02" case = "No">B</varequal>
                <not>
                  <varequal respident = "LID02" case = "No">C
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID02" case = "No">D
                  </varequal>
                </not>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID02" case = "No">A
                    </varequal>
                    <varequal respident = "LID02" case = "No">B
                    </varequal>
                    <not>
                      <varequal respident = "LID02" case = "No">C
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID02" case = "No">D
                      </varequal>
                    </not>
                  </and>
                </not>
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.  Items and Assessment.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  The correct answers are Item and Assessment.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_08" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Time-based responses are supported by the QTI 
                  specification.
                </mattext>
              </material>
              <response_lid ident = "TF02" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF02" case = "No">T</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF02" case = "No">F</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattex>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  Time-based reponses ARE 
                supported by the specification.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_09" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>Items defined according to QTI V1.0 are not 
                  compatible with Items from QTI V1.2.
                </mattext>
              </material>
              <response_lid ident = "TF03" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF03" case = "No">F</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF03" case = "No">T</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext xml:lang = "en-US" xml:space = "default" texttype =
"text/plain" charset = "ascii-us">Sorry, you are wrong.  V1.0 Items ARE compatible with
the V1.2 specification.</mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_10" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow class = "Block">
              <material>
                <mattext>The QTI specification is used within the ADL 
                  SCORM.
                </mattext>
              </material>
              <response_lid ident="TF04" rcardinality="Single" 
                  rtiming="No">
                <render_choice shuffle = "Yes">
                  <flow_label class = "Block">
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label class = "Block">
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the correct answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "1" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF04" case = "No">T</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">1</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF04" case = "No">F</varequal>
              </conditionvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>Sorry, you are wrong.  The QTI specification is NOT 
                used within ADL SCORM.
              </mattext>
            </material>
          </itemfeedback>
        </item>
      </section>
      <section title = "IMSQTI_Selection&amp;OrderingTest_S12p2" 
          ident = "IMS_QTIV1p2_S_SAO_12p2">
        <qticomment>Set of multiple-choice/multiple-response questions
        </qticomment>
        <outcomes_processing scoremodel = "SumofScores">
          <outcomes>
            <decvar vartype = "Integer" varname = "SCORE" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <outcomes_processing scoremodel = "NumberCorrect">
          <outcomes>
            <decvar varname = "CORRECT" vartype = "Integer" defaultval = "0" 
              minvalue = "0" maxvalue = "4" cutvalue = "3"/>
          </outcomes>
        </outcomes_processing>
        <selection_ordering>
          <sequence_parameter pname = "maxscorepossible">6
          </sequence_parameter>
          <selection/>
          <order order_type = "Random"/>
        </selection_ordering>
        <item ident = "IMS_QTIV1p2_I_SAO_01" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow>
              <material>
                <mattext>Which of the following statements are true about 
                  the QTI specification ?
                </mattext>
              </material>
              <response_lid ident = "LID01" rcardinality = "Multiple" 
                  rtiming = "No">
                <render_choice shuffle = "Yes" minnumber = "1" 
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
                    maxnumber = "5">
                  <flow_label>
                    <response_label ident = "A">
                      <material>
                        <mattext>It is independent of pedagogy
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "B">
                      <material>
                        <mattext>It cannot be extended to support 
                          proprietary features
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "C">
                      <material>
                        <mattext>It contains many unnecesary 
                          features
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "D">
                      <material>
                        <mattext>It provides different content 
                          views for different types of 
                          participants
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "E">
                      <material>
                        <mattext>It is based on a well established 
                          framework
                        </mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment/>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "2" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>To detect if the correct answer has been 
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
                supplied.
              </qticomment>
              <conditionvar>
                <varequal respident = "LID01">A</varequal>
                <not>
                  <varequal respident = "LID01" case = "No">B
                  </varequal>
                </not>
                <not>
                  <varequal respident = "LID01" case = "No">C
                  </varequal>
                </not>
                <varequal respident = "LID01">D</varequal>
                <varequal respident = "LID01">E</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">2</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Correct"/>
            </respcondition>
            <respcondition continue = "No">
              <qticomment>To detect if the incorrect answer is supplied.
              </qticomment>
              <conditionvar>
                <not>
                  <and>
                    <varequal respident = "LID01" case = "No">A
                    </varequal>
                    <not>
                      <varequal respident = "LID01" case = "No">B
                      </varequal>
                    </not>
                    <not>
                      <varequal respident = "LID01" case = "No">C
                      </varequal>
                    </not>
                    <varequal respident = "LID01">D</varequal>
                    <varequal respident = "LID01">E</varequal>
                  </and>
                </not>
              </conditionvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "InCorrect"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct">
            <material>
              <mattext>Correct answer is A, D, E.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattex>Answers B and C are incorrect.</mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_03" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>basic</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow>
              <material>
                <mattext>Multiple Assessments cannot be contained in a 
                  single QTI ASI XML instance.
                </mattext>
              </material>
              <response_lid ident = "TF01" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label>
                    <response_label ident = "T">
                      <material>
                        <mattext>True</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "F">
                      <material>
                        <mattext>False</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <qticomment>Processing for the incorrect answer.</qticomment>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "2" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF01">T</varequal>
              </conditionvar>
              <displayfeedback feedbacktype = "Response" 
                linkrefid = "Incorrect"/>
            </respcondition>
            <respcondition continue = "No">
              <conditionvar>
                <varequal respident = "TF01" case = "No">F</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">2</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct">
            <material>
              <mattext>Correct answer.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect">
            <material>
              <mattext>Sorry, you are wrong.  A QTI-XML instance CAN 
                contain multiple Asssessments.
              </mattext>
            </material>
          </itemfeedback>
        </item>
        <item ident = "IMS_QTIV1p2_I_SAO_04" maxattempts = "2">
          <itemmetadata>
            <qtimetadata>
              <qtimetadatafield>
                <fieldlabel>qmd_levelofdifficulty</fieldlabel>
                <fieldentry>advanced</fieldentry>
              </qtimetadatafield>
              <qtimetadatafield>
                <fieldlabel>qmd_topic</fieldlabel>
                <fieldentry>qtiv1p2test</fieldentry>
              </qtimetadatafield>
            </qtimetadata>
          </itemmetadata>
          <presentation>
            <flow>
              <material>
                <mattext>Which one of the following data structures is 
                  used to provide hierarchically structured 
                  assessments?
                </mattext>
              </material>
              <response_lid ident = "LID03" rcardinality = "Single" 
                  rtiming = "No">
                <render_choice shuffle = "Yes">
                  <flow_label>
                    <response_label ident = "A">
                      <material>
                        <mattext>Assessment</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "B">
                      <material>
                        <mattext>Section</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                  <flow_label>
                    <response_label ident = "C">
                      <material>
                        <mattext>Item</mattext>
                      </material>
                    </response_label>
                  </flow_label>
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
                  <flow_label>
                    <response_label ident = "D">
                      <material>
                        <mattext>Question</mattext>
                      </material>
                    </response_label>
                  </flow_label>
                </render_choice>
              </response_lid>
            </flow>
          </presentation>
          <resprocessing>
            <outcomes>
              <decvar varname = "SCORE" vartype = "Integer" minvalue = "0" 
                maxvalue = "2" defaultval = "0"/>
              <decvar varname = "CORRECT" vartype = "Boolean" 
                defaultval = "False"/>
            </outcomes>
            <respcondition continue = "No">
              <qticomment>Correct response check</qticomment>
              <conditionvar>
                <varequal respident = "LID03" case = "No">B</varequal>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">2</setvar>
              <setvar varname = "CORRECT" action = "Set">True</setvar>
              <displayfeedback linkrefid = "Correct" 
                feedbacktype = "Response"/>
            </respcondition>
            <respcondition>
              <conditionvar>
                <not>
                  <varequal respident = "LID03" case = "No">B
                  </varequal>
                </not>
              </conditionvar>
              <setvar varname = "SCORE" action = "Set">0</setvar>
              <displayfeedback linkrefid = "Incorrect" 
                feedbacktype = "Response"/>
            </respcondition>
          </resprocessing>
          <itemfeedback ident = "Correct" view = "All">
            <material>
              <mattext>Correct.</mattext>
            </material>
          </itemfeedback>
          <itemfeedback ident = "Incorrect" view = "All">
            <material>
              <mattext>No.  Only Sections support hierachical Assessments.
              </mattext>
            </material>
          </itemfeedback>
        </item>
      </section>
    </section>
  </assessment>
</questestinterop>


The Result report of this Assessment assumes that:

  • Only one attempt was required for each Item;
  • Only the Section labelled '11' was presented.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<qti_result_report>
  <result>
    <context>
      <name>Bruce Wayne</name>
      <generic_identifier>
        <type_label>Student Number</type_label>
        <identifier_string>TestCo:156805D</identifier_string>
      </generic_identifier>
      <date>
        <type_label>Exam</type_label>
        <datetime>2001-08-07T14:00:00</datetime>
      </date>
    </context>
    <assessment_result asi_title = "Example Assessment Title" 
        ident_ref = "IMS_QTIV1p2_A_SAO_01">
      <date>
        <type_label>Assessment Creation Time</type_label>
        <datetime>2001-08-07T13:30:00</datetime>
      </date>
      <duration>P0Y0M0DT1H0M</duration>
      <control hint_switch = "No" solution_switch = "No" feedback_switch = "Yes"/>
      <outcomes>
        <score varname = "SCORE" vartype = "Integer">
          <score_value>8</score_value>
          <score_min>0</score_min>
          <score_max>10</score_max>
          <score_cut>8</score_cut>
        </score>
        <score varname = "COUNT" vartype = "Integer" status = "Valid">
          <score_value>8</score_value>
          <score_min>0</score_min>
          <score_max>10</score_max>
          <score_cut>8</score_cut>
        </score>
      </outcomes>
      <feedback_displayed ident_ref = "Pass">Response</feedback_displayed>
      <num_items>20</num_items>
      <num_sections>2</num_sections>
      <num_items_presented>10</num_items_presented>
      <num_items_attempted>10</num_items_attempted>
      <num_sections_presented>1</num_sections_presented>
      <section_result asi_title = "Example Section Title" 
          ident_ref = "IMS_QTIV1p2_S_SAO_11">
        <date>
          <type_label>Section Creation Time</type_label>
          <datetime>2001-08-07T13:30:00</datetime>
        </date>
        <control hint_switch = "No" solution_switch = "No" feedback_switch = "No"/>
        <outcomes>
          <score varname = "SCORE" vartype = "Integer">
            <score_value>9</score_value>
            <score_min>0</score_min>
            <score_max>10</score_max>
            <score_cut>8</score_cut>
          </score>
          <score varname = "COUNT" vartype = "Integer" status = "Valid">
            <score_value>3</score_value>
            <score_min>0</score_min>
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
            <score_max>10</score_max>
            <score_cut>8</score_cut>
          </score>
        </outcomes>
        <num_items>10</num_items>
        <num_sections>2</num_sections>
        <num_items_presented>10</num_items_presented>
        <num_items_attempted>10</num_items_attempted>
        <num_sections_presented>2</num_sections_presented>
        <section_result asi_title = "Example Section Title" 
            ident_ref = "IMS_QTIV1p2_S_SAO_11p1" presented = "Yes">
          <asi_metadata>
            <asi_metadatafield>
              <field_name>qmd_numberofitems</field_name>
              <field_value>4</field_value>
            </asi_metadatafield>
          </asi_metadata>
          <date>
            <type_label>Section Creation Time</type_label>
            <datetime>2001-08-07T13:30:00</datetime>
          </date>
          <control hint_switch= "No" solution_switch="No" feedback_switch= "No"/>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>3</score_value>
              <score_min>0</score_min>
              <score_max>4</score_max>
              <score_cut>3</score_cut>
            </score>
            <score varname = "COUNT" vartype = "Integer" status = "Valid">
              <score_value>3</score_value>
              <score_min>0</score_min>
              <score_max>4</score_max>
              <score_cut>3</score_cut>
            </score>
          </outcomes>
          <num_items>4</num_items>
          <num_sections>0</num_sections>
          <num_items_presented>4</num_items_presented>
          <num_items_attempted>4</num_items_attempted>
          <num_sections_presented>0</num_sections_presented>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_02" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:31:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID02">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
                <correct_response>A</correct_response>
                <correct_response>B</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">A</response_value>
              <response_value response_status = "Valid">B</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_08" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:33:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF02">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">T</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_09" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:35:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF03">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>F</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value>F</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "SCORE" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_10" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:37:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF04">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">F</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
                <score_value>0</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>False</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Incorrect">Response
            </feedback_displayed>
          </item_result>
        </section_result>
        <section_result asi_title = "Example Section Title" 
            ident_ref = "IMS_QTIV1p2_S_SAO_11p2" presented = "Yes">
          <asi_metadata>
            <asi_metadatafield>
              <field_name>qmd_numberofitems</field_name>
              <field_value>6</field_value>
            </asi_metadatafield>
          </asi_metadata>
          <date>
            <type_label>Section Creation Time</type_label>
            <datetime>2001-08-07T13:30:00</datetime>
          </date>
          <control hint_switch="No" solution_switch="No" feedback_switch = "No"/>
          <outcomes>
            <score varname = "SCORE" vartype = "Integer" status = "Valid">
              <score_value>6</score_value>
              <score_min>0</score_min>
              <score_max>6</score_max>
              <score_cut>5</score_cut>
            </score>
            <score varname = "COUNT" vartype = "Integer" status = "Valid">
              <score_value>6</score_value>
              <score_min>0</score_min>
              <score_max>6</score_max>
              <score_cut>5</score_cut>
            </score>
          </outcomes>
          <num_items>6</num_items>
          <num_sections>0</num_sections>
          <num_items_presented>6</num_items_presented>
          <num_items_attempted>6</num_items_attempted>
          <num_sections_presented>0</num_sections_presented>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_01" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:31:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
            <response ident_ref = "LID01">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>A</correct_response>
                <correct_response>D</correct_response>
                <correct_response>E</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">A</response_value>
              <response_value response_status = "Valid">D</response_value>
              <response_value response_status = "Valid">E</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_03" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:33:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF01">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">T</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_04" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:37:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID03">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>B</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">B</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "COUNT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_05" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:39:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID04">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
                <correct_response>D</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">D</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_06" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:41:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID03">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>A</correct_response>
                <correct_response>B</correct_response>
                <correct_response>C</correct_response>
                <correct_response>D</correct_response>
                <correct_response>E</correct_response>
                <correct_response>F</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">A</response_value>
              <response_value response_status = "Valid">B</response_value>
              <response_value response_status = "Valid">C</response_value>
              <response_value response_status = "Valid">D</response_value>
              <response_value response_status = "Valid">E</response_value>
              <response_value response_status = "Valid">F</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
              </score>
            </outcomes>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_07" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:42:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID03">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>A</correct_response>
                <correct_response>B</correct_response>
              </response_form>
              <num_attempts>1</num_attempts>
              <response_value response_status = "Valid">A</response_value>
              <response_value response_status = "Valid">B</response_value>
            </response>
            <outcomes>
              <score varname = "SCORE" vartype = "Integer" status = "Valid">
                <score_value>1</score_value>
                <score_min>0</score_min>
                <score_max>1</score_max>
              </score>
              <score varname = "CORRECT" vartype = "Boolean">
                <score_value>True</score_value>
              </score>
            </outcomes>
            <feedback_displayed ident_ref = "Correct">Response
            </feedback_displayed>
          </item_result>
        </section_result>
      </section_result>
      <section_result asi_title = "Example Section Title" 
          ident_ref = "IMS_QTIV1p2_S_SAO_12" presented = "No">
        <date>
          <type_label>Section Creation Time</type_label>
          <datetime>2001-08-07T13:30:00</datetime>
        </date>
        <control hint_switch = "No" solution_switch = "No" feedback_switch = "No"/>
        <num_items>10</num_items>
        <num_sections>2</num_sections>
        <num_items_presented>0</num_items_presented>
        <num_items_attempted>0</num_items_attempted>
        <num_sections_presented>0</num_sections_presented>
        <section_result asi_title = "Example Section Title" 
            ident_ref = "IMS_QTIV1p2_S_SAO_12p1" presented = "Yes">
          <asi_metadata>
            <asi_metadatafield>
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
              <field_name>qmd_numberofitems</field_name>
              <field_value>4</field_value>
            </asi_metadatafield>
          </asi_metadata>
          <date>
            <type_label>Section Creation Time</type_label>
            <datetime>2001-08-07T13:30:00</datetime>
          </date>
          <control hint_switch="No" solution_switch="No" feedback_switch="No"/>
          <num_items>4</num_items>
          <num_sections>0</num_sections>
          <num_items_presented>0</num_items_presented>
          <num_items_attempted>0</num_items_attempted>
          <num_sections_presented>0</num_sections_presented>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_02" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:31:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID02">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>A</correct_response>
                <correct_response>B</correct_response>
              </response_form>
            </response>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_08" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:33:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF02">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
            </response>
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_09" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:35:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF03">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>F</correct_response>
              </response_form>
            </response>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_10" presented = "Yes">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:37:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF04">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
            </response>
          </item_result>
        </section_result>
        <section_result asi_title = "Example Section Title" 
            ident_ref = "IMS_QTIV1p2_S_SAO_12p2" presented = "Yes">
          <asi_metadata>
            <asi_metadatafield>
              <field_name>qmd_numberofitems</field_name>
              <field_value>3</field_value>
            </asi_metadatafield>
          </asi_metadata>
          <date>
            <type_label>Section Creation Time</type_label>
            <datetime>2001-08-07T13:30:00</datetime>
          </date>
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
          <control hint_switch= "No" solution_switch="No" feedback_switch= "No"/>
          <num_items>3</num_items>
          <num_sections>0</num_sections>
          <num_items_presented>0</num_items_presented>
          <num_items_attempted>0</num_items_attempted>
          <num_sections_presented>0</num_sections_presented>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_01" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:31:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID01">
              <response_form cardinality = "multiple" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>A</correct_response>
                <correct_response>D</correct_response>
                <correct_response>E</correct_response>
              </response_form>
            </response>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_03" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>basic</field_value>
              </asi_metadatafield>
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:33:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "TF01">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>T</correct_response>
              </response_form>
            </response>
          </item_result>
          <item_result ident_ref = "IMS_QTIV1p2_I_SAO_04" presented = "No">
            <asi_metadata>
              <asi_metadatafield>
                <field_name>qmd_levelofdifficulty</field_name>
                <field_value>advanced</field_value>
              </asi_metadatafield>
719
720
721
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
              <asi_metadatafield>
                <field_name>qmd_topic</field_name>
                <field_value>qtiv1p2test</field_value>
              </asi_metadatafield>
            </asi_metadata>
            <date>
              <type_label>Item Creation Time</type_label>
              <datetime>2001-08-07T13:37:00</datetime>
            </date>
            <duration>P0Y0M0DT0H2M</duration>
            <response ident_ref = "LID03">
              <response_form cardinality = "single" render_type = "choice" 
                  timing = "No" response_type = "lid">
                <correct_response>B</correct_response>
              </response_form>
            </response>
          </item_result>
        </section_result>
      </section_result>
    </assessment_result>
  </result>
</qti_result_report>


This example is available is the file: 'ims_qtiresv1p2/item/qtires_sc_assess03.xml'. The key points to note are:

  • A report is made for all of the Items and Section irrespective of whether they were presented to the participant;
  • Outcomes and actual response are not reported for the Section and Items that were not presented.

6. QTI Results Reporting & Other Relevant Specifications

6.1 IMS Specifications

6.1.1 Meta-data

The IMS QTI Result Reporting specification supports the inclusion of meta-data within the XML instance using the asi_metadata element. This mechanism uses a vocabulary-based approach. The intended usage of this mechanism is to enable the meta-data from the original evaluation structure (an Assessment, Section, Item, Object-bank, or proprietary structure) to be reported back thereby enabling the receiving system to search through the results using that meta-data.

The alternative method for assigning meta-data is to use the IMS Content Packaging specification [CP, 01a], [CP, 01b], [CP, 01c] to enclose the IMS QTI Results Reporting structure - see Sub-section 6.1.2. The IMS Content Packaging specification allows IMS Meta-data to be assigned to any resource and so the appropriate IMS QTI object should be defined as a Content Package resource. The granularity of the allocation of the meta-data using the IMS Content Packaging mechanism is determined by the actual resource allocation and so it is not possible to define an Assessment result as a resource and then assign IMS Meta-data to any contained Section result and/or Item result.

6.1.2 Content Packaging

An IMS QTI Results Report can be packaged using the IMS Content Packaging specification in two ways:

  • The entire results report XML instance can be inserted as a single resource with all of the externally referenced files packaged as associated resources;
  • The actual results report XML can be inserted into the content package. This requires the usage of the IMS QTI Results Report XML schema form of the XML binding. This schema has to have its own namespace identified in the content packaging XML instance. All of the externally referenced files are once again packaged as associated resources.

6.1.3 Learner Information Packaging

The IMS LIP specification can also be used to exchange results information. However, the IMS LIP specification is focused on the exchange of information concerning personal profiles and not detailed assessment information. Whilst the IMS LIP could be used to pass any of the detailed scoring data within the IMS QTI Results Reporting information the representation of that information is considerably more abstract and the IMS LIP cannot be used to pass the non-scoring information e.g. the associated meta-data, objectives, etc.

It is envisaged that one of the ways in which the IMS QTI Results and IMS LIP specifications would interact is as follows:

  • The assessment control system receives the student data configuration information from the profile server using the IMS LIP. The individual profile for each candidate will be required;
  • The assessment system then generates the actual assessments that the candidates then complete. The original Assessment may be sent from the assessment control system to the assessment engine and then onto the client renderer using the IMS QTI ASI specification. The results from the rendering engine may be reported back to the assessment engine and then onto the assessment control system using the IMS QTI Results specification;
  • The assessment control system will then report the individual assessment results to the profile server using the IMS LIP specification features. Each student's profile will be updated according to their own performance on the Assessment;
  • The assessment control system could then report the full set of detailed results to some centralized assessment collation and evaluation system. This reporting could be achieved using the IMS QTI Results specification.

6.2 Other Specifications

6.2.1 ADL SCORM

The IMS QTI Results Reporting specification has been designed to ensure that it can be used to support the CMI interactions as defined in SCORM. The mapping between the CMI interactions and the IMS QTI Results Reporting specification is shown in Table 6.11.

 

Table 6.1 SCORM CMI Interactions mapping to the IMS QTI Results Reporting specification.

 
CMI Interaction1
IMS QTI Results Equivalent
Comments
_children N/A Not mapped because this element is tied to the SCORM communications/transport binding.
_count N/A Not mapped because this element is tied to the SCORM communications/transport binding.
n.id <qti_result>
<result>
<item_result ident_ref="n.id">

 
n.objectives <qti_result>
<result>
<item_result>
<objective>
n.objectives
In SCORM, this element represents a relation to the Learning objective(s) to which the interaction is related. In IMS QTI, objectives are the objective of the assessment item itself. If these are designed to be equivalent then the mapping is valid.
n.objectives._count N/A Not mapped because this element is tied to the SCORM communications/transport binding.
n.objectives.n.id <qti_result>
<result>
<item_result>
<extension_item_result>
There is no equivalent identifier. The extension mechanism must be used.
n.time <qti_result>
<result>
<item_result>
<date>
<datetime>
n.time
The IMS QTI <datetime> supports the date and time. Only the time component is required by the CMI.
n.type <qti_result>
<result>
<item_result>
<response>
<response_form>
This mapping must use the 'extension' value for the attribute response_type on <response_form>.
n.correct.responses <qti_result>
<result>
<item_result>
<response>
<response_form>
<correct_response>
n.correct.response_1
...
<correct_response>
n.correct.response_n

 
n.correct_responses._count N/A Not mapped because this element is tied to the SCORM communications/transport binding.
n.correct_responses.n.pattern <qti_result>
<result>
<item_result>
<response>
<response_form>
<extension_responseform>
The CMI pattern is the full set of responses that can be supplied by the user e.g. all of the choices available as a multiple choice question. There is no direct mapping equivalent. The extension mechanism must be used.
n.weighting <qti_result>
<result>
<item_result>
<asi_metadata>
<field_name>qmd_weighting
<field_value>n.weighting

 
n.student_reponses <qti_result>
<result>
<item_result>
<response>
<response_value>
n.student_reponse_1
...
<response_value>
n.student_reponse_n

 
n.result <qti_result>
<result>
<item_result>
<outcomes>
<score>
<score_value>

 
n.latency <qti_result>
<result>
<item_result>
<duration>
The 'n.latency' is the time taken by the user to supply a particular response once the question has been presented. This is only equivalent to the <duration> if the Item has a single response structure.
1
All of the entries in this column are assumed to start with: 'cmi.interactions.'.

7. Implementation Guidance

7.1 Nomenclature

The key terms that are used within a results report are:

  • Evaluation - this is the generic term that is used to identify any form of assessment based upon any of the IMS QTI core objects (the ASIs) or other proprietary mechanisms. Therefore, an evaluation could range from a single question to a full high-stakes test;
  • Results report - this is the generic term to identify the structure that contains the results being reported using the IMS QTI Results Reporting specification. This report, in the form of the corresponding QTI-XML instance, can range from a summary of an evaluation to the detailed report of a high-stakes Assessment containing a complex combination of Sections and Items;
  • IMS QTI-specific metadata - this refers to the meta-data that is specific to the IMS QTI specifications and that uses the corresponding vocabulary. It specifically excludes the meta-data fields as defined in the IMS Meta-data specification. The IMS QTI-specific meta-data is defined using a special vocabulary.

7.2 Using the Core Data Structures

7.2.1 <result>

The <result> structure is used to contain each evaluation report and to bind that information to the associated context that describes the conditions under which the evaluation was taken. Multiple <result> structures can be reported in each <qti_result_report> and these can be used to report:

  • Multiple results for a single individual e.g. the reports for a set of tests undertaken by a single individual - leading to the development of a personal assessment profile;
  • Multiple results for a single test undertaken by several participants - the classic examination environment;
  • Any combination of the above two plus any other usage. However, mixed usage will require the exchanging system to have an appropriate set of transaction rules.

An issue that must be considered is the most effective way in which a complex structure is reported e.g. an Assessment consisting of several Sections each of which consist of several Items. The two ways in which this could be reported are:

  • As a single Assessment result in which the component Section and Items are reported as sub-structures to the Assessment;
  • As multiple <result> structures in which each of the Assessment, Section and Items are reported in their own result report. The linkage between these structures must then be managed by the communicating systems by operating on the data object identifiers and using the original ASI structure to construct the object hierarchy.

The four result structures that can be exchanged are (these are split into those that conform to the IMS QTI ASI structures and those that use a different evaluation construction mechanism):

  • Summary - a set of information that is used to summarize the evaluation. This cannot consist of sub-structures. A summary report could consist of the same information as any one of the other structures in which only the top-level object information is reported;
  • ASI Assessment or equivalent - the equivalent of a test. This would typically be used in high-stakes systems. The Assessment will almost certainly contain Sections or their equivalent;
  • ASI Section or equivalent - the hierarchical grouping structure. The significance of this structure in the evaluation is defined by the context in which it is used i.e. how is the Section used within the educational paradigm being used. The Section may contain other Sections and will certainly contain Items or their equivalents;
  • ASI Item or equivalent - the core evaluation component i.e. the container for the actual question. The SCORM equivalent would be an 'interaction'.

7.2.2 <context>

The <context> structure is used to contain the information that sets the context for the results that are reported in the associated data structure e.g. the Summary result, Assessment result, etc. The <context> is mandatory, only one entry is permitted for each result structure, and is used to supply the following information:

  • The name of the candidate. The name should be supplied in an agreed formatted style;
  • Any generic identifier that is used to identify any facet of the evaluation procedure e.g. a unique identifier for the candidate, the identifier of the evaluation system, the identifier assigned to the evaluation host, etc. The vocabularies for the identifier have not been defined;
  • Any dates that are relevant to the evaluation e.g. the time at which the evaluation was sat, the date after which the validity of the results expire, etc.

The current <context> structure does not supply information about the actual results being summarized e.g. there is no indicator of the type of result about to be reported. If this 'header' type of information is required then the extension mechanism (<extension_context>) should be used.

7.2.3 <summary_result>

The <summary_result> structure is used to contain a generic summary of an evaluation e.g. a test. The summary is composed of an identifier, dates relevant to the evaluation, the status of the summary report, the time taken to complete the evaluation, and the scores and grades achieved by the participant. The summary structure contains no summary information on the structure of the evaluation e.g. the number of Items presented, the number of section presented, etc. Any number of scores and grades can be reported but it is expected that the summary is more likely to report a single score and/or grade reflecting the mastery, or otherwise, of the topic being examined.

7.2.4 <assessment_result >

The <assessment_result> structure is designed to report results from Assessments as defined under the IMS QTI ASI specifications. To this end the following structures are used to report the Assessment features:

  • ident_ref - contains the original globally unique identifier assigned to the Assessment (every Assessment must have an identifier);
  • asi_title - contains the original title labelling the Assessment (this is an optional field in the ASI);
  • <asi_metadata> - contains the reported meta-data that was significant to the way in which the Assessment was used e.g. for selection and ordering, outcomes processing, etc.
  • <asi-description> - this is used to contain, or reference, a description of the actual Assessment being undertaken. Whenever possible this reference should link back to the original Assessment QTI-XML instance;
  • <date> and <duration> - these are used to contain the key date/time information about the Assessment e.g. time the Assessment was undertaken, and the duration of the Assessment. Both data sets conform to the ISO8601 standard;
  • <objective> - this is used to contain, or reference, the objectives identified within the Assessment being undertaken. This information could be used to identify the competencies achieved by mastery of the subject covered by the Assessment;
  • <control> - this is used to indicate if hints, solutions and response feedback were made available to the candidate;
  • <outcomes> - this contains the detailed values assigned to the Assessment score and grade variables. Any number of such variables can be reported. An extensive set of information about each variable can be reported and this should be used as comprehensive as possible;
  • <feedback_displayed> - this is used to contain, or reference, the feedback that was displayed to the candidate;
  • <section_result> - this is used to contain the result report for any contained Sections. An Assessment must contain a Section and so a detailed report of the Assessment should always be accompanied by at least one Section result report.

The other structures are used to report summary information concerning the sub-structures used within the Assessment, namely:

  • <num_items> - this is the total number of Items, throughout the entire hierarchy, that are either contained or referenced by the Assessment, irrespective of whether they are actually presented and/or attempted by the candidate;
  • <num_sections> - this is the total number of top-level Sections that are either contained or referenced by the Assessment, irrespective of whether they are actually presented and/or attempted by the candidate. Any Sections contained within a Section are not counted in this total;
  • <num_items_presented> - this is the total number of Items that were selected for presentation to the candidate;
  • <num_items_attempted> - this is the total number of Items that were attempted by the candidate (this number will be less than or equal to <num_items_presented>. For the sake of this total, multiple attempts of an Item by the candidate are counted as a single attempt. An Item is defined as attempted if the candidate submits an answer using some local mechanism that clearly denotes the explicit submission/selection of an answer;
  • <num_sections_presented> - this is the number of top-level Sections that were selected for presentation to the candidate. Sections within Sections do not count towards this total. A Section is counted as presented even if none of the contained objects were actually attempted by the candidate.

It is an implementation issue whether or not information concerning contained or referenced Sections and Items that were not presented are reported. If these objects are reported then the values for <num_items_presented>, <num_items_attempted> and <num_sections_presented> are set to zero.

Assessments that do not conform to the IMS QTI ASI specification should make use of the above structures in ways that are consistent with their definitions.

7.2.5 <section_result >

The <section_result> structure is designed to report results from Sections as defined under the IMS QTI ASI specifications. To this end the following structures are used to report the Section features:

  • ident_ref - contains the original globally unique identifier assigned to the Section (every Section must have an identifier);
  • asi_title - contains the original title labelling the Section (this is an optional field in the ASI);
  • <asi_metadata> - contains the reported meta-data that was significant to the way in which the Section was used e.g. for selection and ordering, outcomes processing, etc.
  • <asi-description> - this is used to contain, or reference, a description of the actual Section being undertaken. Whenever possible this reference should link back to the original Section QTI-XML instance;
  • <date> and <duration> - these are used to contain the key date/time information about the Section e.g. time the Section was undertaken, and the duration of the Section. Both data sets conform to the ISO8601 standard;
  • <objective> - this is used to contain, or reference, the objectives identified within the Section being undertaken. This information could be used to identify the competencies achieved by mastery of the subject covered by the Section;
  • <control> - this is used to indicate if hints, solutions and response feedback were made available to the candidate;
  • <outcomes> - this contains the detailed values assigned to the Section score and grade variables. Any number of such variables can be reported. An extensive set of information about each variable can be reported and this should be used as comprehensive as possible;
  • <feedback_displayed> - this is used to contain, or reference, the feedback that was displayed to the candidate;
  • <section_result> - this is used to contain the result report for any contained Sections;
  • <item_result> - this is used to contain the result report for any contained Items.

The other structures are used to report summary information concerning the sub-structures used within the Section, namely:

  • <num_items> - this is the total number of Items, throughout the entire hierarchy, that are either contained or referenced by the Section, irrespective of whether they are actually presented and/or attempted by the candidate;
  • <num_sections> - this is the total number of top-level Sections that are either contained or referenced by the Section, irrespective of whether they are actually presented and/or attempted by the candidate. Any Sections contained within any of the sub-Sections are not counted in this total;
  • <num_items_presented> - this is the total number of Items that were selected for presentation to the candidate;
  • <num_items_attempted> - this is the total number of Items that were attempted by the candidate (this number will be less than or equal to <num_items_presented>. For the sake of this total, multiple attempts of an Item by the candidate are counted as a single attempt. An Item is defined as attempted if the candidate submits an answer using some local mechanism that clearly denotes the explicit submission/selection of an answer;
  • <num_sections_presented> - this is the number of top-level Sections that were selected for presentation to the candidate. Sub-Sections within Sections do not count towards this total. A Section is counted as presented even if none of the contained objects were actually attempted by the candidate.

It is an implementation issue whether or not information concerning contained or referenced Sections and Items that were not presented are reported. If these objects are reported then the values for <num_items_presented>, <num_items_attempted> and <num_sections_presented> are set to zero.

Sections that do not conform to the IMS QTI ASI specification should make use of the above structures in ways that are consistent with their definitions.

7.2.6 <item_result >

The <item_result> structure is designed to report results from Items as defined under the IMS QTI ASI specifications. To this end the following structures are used to report the Item features:

  • ident_ref - contains the original globally unique identifier assigned to the Item (every Item must have an identifier);
  • asi_title - contains the original title labelling the Item (this is an optional field in the ASI);
  • <asi_metadata> - contains the reported meta-data that was significant to the way in which the Item was used e.g. for selection and ordering, outcomes processing, etc.
  • <asi-description> - this is used to contain, or reference, a description of the actual Item being undertaken. Whenever possible this reference should link back to the original Section QTI-XML instance;
  • <date> and <duration> - these are used to contain the key date/time information about the Item e.g. time the Section was undertaken, and the duration of the Section. Both data sets conform to the ISO8601 standard;
  • <objective> - this is used to contain, or reference, the objectives identified within the Item being undertaken. This information could be used to identify the competencies achieved by mastery of the subject covered by the Item;
  • <control> - this is used to indicate if hints, solutions and response feedback were made available to the candidate;
  • <response> - this is used to contain a detailed description of the actual question being presented, the correct answer to the question and a record of the responses (if attempted by the candidate) made by the candidate;
  • <outcomes> - this contains the detailed values assigned to the Item score and grade variables. Any number of such variables can be reported. An extensive set of information about each variable can be reported and this should be used as comprehensive as possible;
  • <feedback_displayed> - this is used to contain, or reference, the feedback that was displayed to the candidate.

Items, e.g. SCORM Interactions that do not conform to the IMS QTI ASI specification should make use of the above structures in ways that are consistent with their definitions.

7.2.7 Scores and Grades

The score structure can be used to report the following statistics:

  • <score_value> - the value awarded to the candidate. The type of value should agree to the type of variable as defined by the 'vartype' attribute;
  • <score_interpretation> - a description of the rules for the interpretation of the score awarded. This will be a textual description and should report any key information for understanding the context of the range of possible scores;
  • <score_min> - the minimum value that could have been awarded to the candidate. This is only valid for numeric typed variables or ones that are enumerated lists (the first entry being defined as the highest value thus the minimum value will be the last entry);
  • <score_max> - the maximum value that could have been awarded to the candidate (it will have the same type as the variable). This is only valid for numeric typed variables or ones that are enumerated lists (the first entry being defined as the highest value thus the maximum value will be the first entry);
  • <score_normalized> - the normalized equivalent of the <score_value>. This is normalized using the <score_min> and <score_max> values and so these must have been defined for the normalized value to be valid. The normalized value is a real number in the range 0-1;
  • <score_average> - the average value that the candidate could be expected to achieve. The average is a real number whose value lies between <score_min> and <score_max>. This is a reported value and is not derived from the set of scores awarded to the candidate or set of candidates answering this object;
  • <score_std_error> - the standard error of the score. The standard error is a real number whose value lies between <score_min> and <score_max>. This is a reported value and is not derived from the set of scores awarded to the candidate or set of candidates answering this object;
  • <score_reliability> - the reliability of the score. This is a real number;
  • <score_cut> - the score which if achieved or surpassed denotes that the topic has been passed, mastered, etc. (it will have the same type as the variable). The cut score is a number between <score_min> and <score_max>.

The grade structure can be used to report the following statistics:

  • <grade_value> - the value actually awarded to the candidate. If the set of possible grades has been defined using the 'members' attribute then this value must be a member of that set;
  • <grade_cut> - the grade which if achieved or surpassed denotes that the topic has been passed, mastered, etc. If the set of possible grades has been defined using the 'members' attribute then this value must be a member of that set and it is assumed that the set is defined with the highest grade being placed first in the list.

The values for <score_reliability> and <score_std_error> for the default 'SCORE' variable can be obtained from the corresponding IMS QTI-specific meta-data entries.

7.3 QTI Results Reporting Meta-data

The <asi_metadata> structure within the results structures is used to report the key meta-data fields that were relevant to the original evaluation structures. It is expected that these entries will be identical to those supplied by the associated ASI or equivalent structure. Within the <asi_metadata> structure only the vocabulary mechanism for meta-data is supported. Three types of meta-data can be reported:

  • IMS QTI-specific meta-data as defined in Table 6.1 [QTI, 02f];
  • IMS Meta-data - as defined within the IMS Meta-data specifications [MD, 01a]. [MD, 01b], [MD, 01c];
  • Non IMS meta-data - this includes Dublin Core.

7.3.1 IMS QTI-Specific Meta-data Support

The following XML code shows how the IMS QTI-specific meta-data is supported:

  <qti_result_report>
    <context>
      ...
    </context>
    <item_result ident_ref="***...***">
      ...
      <asi_metadata>
        <vocabulary uri="imsqtiv1p2_metadata.txt" vocab_type="text/plain"/>
        <asi_metadatafield>
          <field_name>qmd_questiontype</field_name>
          <field_value>Multiple-choice</field_value>
        </asi_metadatafield>
        ...
      </asi_metadata>
      ...
    </item_result>
  </qti_result_report>

The usage of the <vocabulary> element is good practice but not necessary i.e. the usage of the IMS QTI-specific vocabulary is considered the default condition.

7.3.2 IMS Meta-data Support

The following XML code shows how IMS Meta-data is supported:

  <qti_result_report>
    <context>
      ...
    </context>
    <item_result ident_ref="***...***">
      ...
      <asi_metadata>
        <vocabulary uri="ims_metadatav1p2p1.txt" vocab_type="text/plain"/>
        <asi_metadatafield>
          <field_name>lom:general.title</field_name>
          <field_value>Maths101</field_value>
        </asi_metadatafield>
        ...
      </asi_metadata>
      ...
    </item_result>
  </qti_result_report>

The usage of the <vocabulary> element must be used to identify the source of the reference vocabulary. The entries in the <field_name> and <field_value> elements are a reflection of the associated IMS vocabulary. The 'lom:' namespace should be used in the 'field_name'.

7.3.3 Non-IMS Meta-data Support

The following XML code shows how non-IMS meta-data is supported:

  <qti_result_report>
    <context>
      ...
    </context>
    <item_result ident_ref="***...***">
      ...
      <asi_metadata>
        <vocabulary uri="dublincore.txt" vocab_type="text/plain"/>
        <asi_metadatafield>
          <field_name>dc:title</field_name>
          <field_value>Maths101</field_value>
        </asi_metadatafield>
        ...
      </asi_metadata>
      ...
    </item_result>
  </qti_result_report>

The usage of the <vocabulary> element must be used to identify the source of the reference vocabulary. The entries in the <field_name> and <field_value> elements are a reflection of the associated non-IMS vocabulary. An appropriate namespace should be used in the 'field_name'.

7.3.4 Key IMS QTI-specific Meta-data

The IMS QTI-specific meta-data fields that will common reported are:

 

Table 7.1 Commonly reported IMS QTI-specific entries.

 
IMS QTI-specific Meta-data Field
Usage
qmd_penaltyvalue The penalty value that is to be used in the 'GuessingPenalty' scoring algorithm.
qmd_questiontype The question-type that is being represented.
qmd_scorereliability The reliability metric that is assigned to the SCORE variable. This should agree with the value in the <score_reliability> element.
qmd_scorestderr The standard error metric that is assigned to the SCORE variable. This should agree with what is reported in the <score_std_error> element.
qmd_weighting The weighting that is to be used in the corresponding scoring algorithms.


Other IMS QTI-specific meta-data fields will regularly occur but these will depend upon local implementation issues.

7.4 QTI Results Reporting Vocabularies & Taxonomies

At the current time none of the IMS vocabularies and taxonomies have been defined in a formal manner. Such a definition requires:

  • The label for the actual vocabulary object;
  • The list of the possible entries that can be assigned to the label;
  • The constraints that must be applied to the individual entries e.g. the possible range for a numeric entry;
  • The agreed representation format for the vocabulary e.g. an XML file, comma separated text file, etc.
  • The ways in which the vocabulary is to be linked to the actual object using the vocabulary.

The key vocabulary that is used within the IMS QTI Results Reporting specification is the IMS QTI-specific meta-data. At the current time the IMS QTI-specific meta-data is assumed to be that defined in [QTI, 02f] Table 6.1 and as such it should be assumed to be definitive in nature. Any IMS QTI Results Reporting system must support this as the default vocabulary and should NOT require the <vocabulary> element to be used to define the associated source file for this vocabulary.

In many cases the XML DTD could contain the vocabulary as an enumerated attribute list. Unfortunately such structures are not easily extended within a DTD. The full adoption of XML Schema for V2.0 will enable us to support extensible attribute lists hence many vocabularies will then be enforced, at least across the core agreed vocabulary, by the parsing of the XML against the control schema.

7.5 Packaging IMS QTI Result Reports

It is recommended that the IMS Content Packaging specification [CP, 01a], [CP, 01b], [Cp, 01c] is used to package the QTI-XML result report instance with its associated files e.g. an externally referenced description file. The approach recommended for the packaging is described in [IMS, 01b]. The IMS Content Packaging mechanism may also be used to package together multiple result reports i.e. each separate results report could be entered as its own resource within the Content package. This approach could also be used as an alternative mechanism to using multiple <result> structures within the <qti_result_report> root structure.

8. Proprietary Extensions

The proprietary extensions facilities listed in Table 8.1 are supported as elements within the specifications:

 

Table 8.1 List of proprietary extension elements.

 
Extension Element Name
Host Element
Description
extension_assessment_result assessment_result Inclusion for new functionality to support the reporting of Assessment results.
extension_context context Inclusion for new functionality to support the details of the context of the evaluation report.
extension_grade grade Inclusion for new functionality to support the details of a particular grade.
extension_item_result item_result Inclusion for new functionality to support the reporting of Item results.
extension_response response Inclusion for new functionality to support the details of the possible and given responses for an Item.
extension_responseform responseform Inclusion for new functionality to support the details of the actual response structure of the Item.
extension_result result Inclusion for new functionality to support the core reporting structure e.g. new types of report as opposed to the current Assessment, Section, Item and Summary.
extension_score score Inclusion for new functionality to support the details of a particular score.
extension_section_result section_result Inclusion for new functionality to support the reporting of Section results.
extension_summary_result summary_result Inclusion for new functionality to support the reporting of Summary results.

Note: These elements are only used if the suppliers of the Results Reports require proprietary features that are not supported by the available range of elements. It is recommended that these elements are used sparingly. Backwards compatibility with proprietary extensions will NOT be guaranteed in future versions of these specifications.

9. V1.x/V2.0 Issues & Compatibility

9.1 Functional Requirements

The functional developments to be considered in V2.0 are:

  • An adaptive integrated scoring model across the assessment, section and item data structures. The adaptive nature is defined as a dependence on the responses obtained from the user. This model will allow a variety of adaptive aggregation methods between Sections and Items, and Assessments and Sections. The Results Reporting mechanism will have to be sufficiently flexible to report these new adaptive-based features;
  • Support for the exchange of tracking information. Tracking information is the data that describes all of the intermediate states entered by the participant e.g. a participant make change their initial answer and so the tracking information would record this intermediate state.

9.2 Constraints

V1.2 of the IMS QTI Result Reporting specification is the first release and so there are no issues concerning backwards compatibility. This version of the QTI Results Reporting specification is capable of supporting results obtained from any currently released version of the IMS QTI ASI specifications (v1.0, v1.01, v1.1 and v1.2).

9.3 Compatibility Map

The compatibility between all of the current IMS QTI specifications is shown in Figure 9.1. At the current time four versions of the full IMS QTI specification have been released and two versions of the QTILite. Figure 9.1 shows that any 'Item' instance file created under versions 1.0, 1.01 and 1.1 are fully compatible with version 1.2. From the QTILite perspective, any instances created under V1.1 are not backwards compatible. QTILite V1.1 and V1.2 instances are compatible. All QTILite instances are fully compatible with full QTI V1.1 and V1.2.

Compatibility representation of the set of released QTI specifications

 

Figure 9.1 Compatibility representation of the set of released QTI specifications.

In the case of IMS QTI V1.2 the Sections and Assessments are not backwards compatible with earlier versions of the specification. This is because:

  • Selection and ordering capabilities have been included within Assessments and Sections;
  • Outcomes processing capabilities have been included within Assessments and Sections;
  • Reference and presentation materials storage capabilities have been added to Assessments and Sections.

Also note that V1.2 objects are NOT backwards compatible with any of the other versions. This is because features have been added within V1.2 to support accessibility, namely:

  • The <material> element can now contain multiple <altmaterial> elements (previously this was limited to a single occurrence at most). These new instances can also be different language equivalents to the defined material.

In the case of results reporting, this can be used to capture the results from any object defined in QTI ASI V1.0, V1.01, V1.1 and V1.2, as well as for QTILite V1.1 and V1.2.

10. Conformance

The purpose of this statement is to provide a mechanism for customers to fairly compare vendors of assessment systems, tools and content. It is not mandatory for a vendor to support every feature of the IMS QTI Results Reporting specification, but a vendor must detail their level of support with a "Conformance Statement". For example vendors may choose to accept or publish IMS QTI results data, but not choose to repackage IMS QTI results data. Compliance is represented by:

  • Conformance summary - this is a summary that shows, in colloquial terms, the capabilities of a particular implementation with respect to the IMS QTI Results Reporting specification;
  • Interoperability statement - this is a detailed technical checklist that identifies all of the feature capabilities of the implementation in terms of the IMS QTI Results Reporting specification functions.

10.1 Valid Data Issues

Vendors claiming conformance shall publish, accept, and/or repackage valid IMS QTI Results Reporting data as defined by the DTD including proprietary extensions where applicable. Vendors claiming their tools publish IMS QTI Results Reports shall export valid IMS QTI data. Vendors claiming their system tools accept IMS QTI Results Reports data shall be able to parse and recognize valid IMS QTI data. Vendors claiming their system tools repackage IMS QTI Results Reports data shall be able "pass through" valid IMS QTI Results Reports data whether the tool recognizes the optional elements or not. Vendors claiming their assessment content conforms to this specification shall provide valid IMS QTI Results Reports data. Publishers claiming their content conforms to IMS QTI Results Reports shall provide valid IMS QTI Results Reports data.

10.2 Conformance Summary

Vendors claiming conformance must provide a "Conformance Summary", detailing their level of conformance, substantially similar to the information shown below, upon a reasonable request from a member of the IMS, or a prospective customer(s). It is expected that this table, a template of which is shown in Table 7.1 of the IMS QTI Results Reporting Information Model [QTI, 02f], is a summary of the information given in the 'Interoperability statement'. The intention is for the 'Conformance Summary' to be informative in nature. Completion of the three columns is intended to reflect:

  • Publish - this implies that the XML instance contains the identified elements. If such an element is not ticked then it will not occur within the exported QTI-XML instance(s);
  • Accept - it is assumed that the ability to accept the contents of an element is accompanied by the ability to use, and if appropriate, display that content. If this is not the case but the content of the material can be exported then the 'Repackage' column can still be ticked;
  • Repackage - this is the ability to import QTI-XML instances from one or more sources and to create a new instance that combines the imported information. It is not necessary for the repackaging system to be able to operate on the information supplied.

10.3 Interoperability Statement

An example of the detailed 'Interoperability Statement' is shown in Tables 7.2a, 7.2b, 7.2c, 7.2d and 7.2e (one for each of the core structures) of the IMS QTI Results Reporting Information model [QTI, 02f]. Compliance to QTI means that at least one of the columns must be completed. Note that the 'Interoperability Statement' addresses support for the various elements within the binding. The set of attributes are not considered. Inclusion of conformance with respect to attributes will be considered in later versions of the specification.

It is important that the 'Interoperability Statement' is clear in showing what is and, perhaps more importantly, what is not supported. The usage of descriptive conformance approach has been adopted to encourage vendors to be as clear as possible when describing the capabilities of their IMS QTI-compliant systems.

10.4 Completing a Conformance Statement

There is a close relationship between the 'Conformance Summary' and the 'Interoperability Statement'. The guidelines for completing these tables are:

  • An entry of 'Y' in the 'Context' part of the 'Conformance Summary' should be reflected by the accompanying 'Context Interoperability Statement'. The 'Conformance Summary' is only indicates whether or not the Context information is supported - the 'Context' structure is mandatory;
  • An entry of 'Y' in the 'Summary result' part of the 'Conformance Summary' should be reflected by the accompanying 'Summary Result Interoperability Statement'. The 'Conformance Summary' gives details on the 'Score', 'Grade' and 'Outcomes' parts only of the 'Interoperability Statement';
  • Any entry of 'Y' in the 'Assessment result' part of the 'Conformance Summary' should be reflected by the accompanying 'Assessment Result Interoperability Statement'. The 'Conformance Summary' gives details on the 'Outcomes' and 'Section' parts only of the 'Interoperability Statement';
  • Any entry of 'Y' in the 'Section result' part of the 'Conformance Summary' should be reflected by the accompanying 'Section Result Interoperability Statement'. The 'Conformance Summary' gives details on the 'Outcomes' and 'Item' parts only of the 'Interoperability Statement';
  • An Assessment must contain a Section and so support for Assessment results must result in completion of both the Assessment and Section parts of the tables;
  • Any entry of 'Y' in the 'Item Result support' part of the 'Conformance Summary' should be reflected by the accompanying 'Result Interoperability Statement';

10.5 An Example Conformance Statement

Table 10.1 shows an example Conformance Summary.

 

Table 10.1 QTI Results Report conformance summary.

 

QTI Results Report Conformance Summary (Version 1.2)

 
Publish
(export, data)
Accept
(import, display)
Repackage Feature
context
N
Y
N
summary_result
N
Y
N
score
-
Y
-
grade
-
Y
-
outcomes
-
Y
-
assessment_result
N
Y
N
outcomes
-
Y
-
section_result
-
Y
-
section_result
N
Y
N
outcomes
-
Y
-
item_result
-
Y
-
item_result
N
Y
N
response
-
Y
-
outcomes
-
Y
-

The system that is described by this summary has the following capabilities:

  • It imports QTI-XML instances only i.e. not exporting or repackaging;
  • It imports all forms of the IMS QTI results reports i.e. Summary, Item, Section and Assessment.

Appendix A - QTI Results XSDs and DTDs

A1 - Overview

The Version 1.2 IMS Question & Test Interoperability Results Reporting XML Schema Definition (XSD) and Document Type Definitions (DTDs) are contained in a directory that has:

  • xmla - the directory that contains all of the DTDs and XSDs in native XML Authority format. XML Authority (V2.2.1) is a product supplied by xtensibility Inc;
  • mac - the directory that contains all of the XSDs and DTDs in text file format. These text files are designed for usage with Macintosh systems;
  • ibm- the directory that contains all of the Xsds and DTDs in text file format. These text files are designed for usage with PC systems;
  • unix- the directory that contains all of the XSDs and DTDs in text file format. These text files are designed for usage with Unix systems.

The further directory structure under each of these directories is identical. This further structure is:

  • xsds
    • qtifullxsd - full commented XSD
    • qtifullncxsd - full non-commented XSD
  • dtds
    • qtifulldtd - full commented DTD
    • qtifullncdtd - full non-commented DTD

Within each of the XSD directories is the file: ims_qtiresv1p2.xsd and within each of the DTD directories is the file: ims_qtiresv1p2.dtd.

This approach means that's the different types of XSD/DTD can be applied without requiring any editing of the associated source XML files. The full directory structure is given in Appendix A of this file.

A2 - Full Directory Structure

The full directory structure is:

xmla

xsds

qtiresfullncxsd

ims_qtiresv1p2.xsd

qtiresfullxsd

ims_qtiresv1p2.xsd

dtds

qtiresfullncdtd

ims_qtiresv1p2.dtd

qtiresfulldtd

ims_qtiresv1p2.dtd

mac

xsds

qtiresfullxsd

ims_qtiresv1p2.xsd

qtiresfullncxsd

ims_qtiresv1p2.xsd

dtds

qtiresfulldtd

ims_qtiresv1p2.dtd

qtiresfullncdtd

ims_qtiresv1p2.dtd

unix

xsds

qtiresfullxsd

ims_qtiasiv1p2.xsd

qtiresfullncxsd

ims_qtiasiv1p2.xsd

dtds

qtiresfulldtd

ims_qtiasiv1p2.dtd

qtiresfullncdtd

ims_qtiasiv1p2.dtd

ibm

xsds

qtiresfullxsd

ims_qtiasiv1p2.xsd

qtiresfullncxsd

dtds

qtiresfulldtd

ims_qtiasiv1p2.dtd

qtiresfullncdtd

ims_qtiasiv1p2.dtd

Appendix B - Glossary of Terms

B1 - IMS QTI Elements and Attributes

asi_description

This element is the container for the description of the associated Assessment, Section or Item. This enables the report to either reference the original Item, Section or Assessment XML instance (using the uri or entityref attributes) or to support a brief textual description.

asi_metadata

This is the container for the meta-data descriptions of the corresponding evaluation objects. This meta-data is IMS QTI-specific and should be used in conjunction with the standard IMS Meta-data Specifications.

asi_metadatafield

The asi_metadatafield element is used within the asi_metadata element. It is used to contain each of the actual meta-data fields. These definitions consist of the field label (defined using the field_name element) and the data itself (defined using the field_value element). The vocabulary is identified using the vocabulary element and is applied to all of the asi_metadatafield elements contained within the immediate asi_metadata element.

asi_title

The asi_title attribute is the title that has been assigned to the evaluation object. The title is usually 1-256 characters in length. This could have been assigned to an Assessment, Section or Item using their 'title' attribute.

assessment_result

The assessment_result element is the container for all of the results information pertaining to a particular Assessment. This is the structure that should be used to contain the results reports from evaluation objects based upon the IMS QTI Assessment structure or proprietary Assessment/Test structures that have a similar usage. Each assessment_result is contained within a single result element and so reports for multiple Assessments must use multiple result instances.

cardinality

The cardinality attribute is used by the responseform element to indicate the number and nature of the response actions expected from the user. The enumerated choices are {single | multiple | ordered | extension}. If an IMS QTI-compliant Item is being described the value entered here should reflect the value assigned to the rcardinality attribute of the Item.

context

The context element is use to define the context for the associated results report i.e. the context for either the summary, Item, Section or Assessment report. The context contains the information that describes the instantiation environment of the evaluation e.g. the identifier of the participant, etc.

control

The control element is used to contain the information that describes the state of the hint switch, solution switch and feedback switch for the evaluation object i.e. the Item, Section or Assessment. The attributes hint_switch, feedback_switch and soluton_switch are used to describe if the associated information was revealed.

correct_response

The correct_response element is used within the item-result element to contain the correct answer. The form of the answer could be the label of the correct answer for a multiple-choice Item, or the expect string for a FIB, etc. Each correct answer is stored within its own element (when appropriate, the order of these is used to define the correct order).

date

This element is the container for any date information. It consists of the type of the date (defined using the type_label element) and the actual date information itself (using the datetime element).

datetime

The actual date and time information. This information conforms to the ISO 8601 i.e. YYYYMMDDTHHMMSS.

duration

The duration element is used within the item_result, section_result and assessment_result elements to define the permitted duration for the corresponding evaluation. The duration is defined as the period between the activity's activation and completion. The ISO 8601 format is used: PnYnMnDTnHnMnS.

entityref

The entityref attribute is used, in some instances, as an alternative to the uri attribute. The key difference is that the entityref refers to an XML entity whose external linkage is bound to the XML instance itself. This binding also allows the XML-capable processes to intelligently handle the material. It is recommended that this attribute be used in preference to the uri attribute.

extension_assessment_result

The extension_assessment_result element is used to contain any extensions functionality for the assessment_result element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_context

The extension_context element is used to contain any extensions functionality for the context element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_grade

The extension_grade element is used to contain any extension functionality for the grade element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_item_result

The extension_item_result element is used to contain any extension functionality for the item_result element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_response

The extension_response element is used to contain any extension functionality for the response element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_responseform

The extension_responseform element is used to contain any extension functionality for the responseform element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_result

The extension_result element is used to contain any extension functionality for the result element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_score

The extension_score element is used to contain any extension functionality for the score element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_section_result

The extension_section_result element is used to contain any extension functionality for the section_result element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

extension_summary_result

The extension_summary_result element is used to contain any extension functionality for the summary_result element. This facility must be used sparingly because the usage of extensions limits interoperability. All proprietary extensions should follow an appropriate naming convention and namespacing technique.

feedback_displayed

The feedback_displayed element is used to identify the feedback that was presented to the candidate. The content of the element is either 'Response', 'Hint' or 'Solution' depending on the feedback revealed. The actual feedback is identified using the ident_ref and asi_title attributes and reference to the feedback is made using either the uri or entityref attribute.

feedback_switch

The feedback_switch attribute is used to report if feedback was available through the evaluation object i.e. was Feedback display enabled. The possible states are {Yes, No} with 'No' being the default. This switch is used within the control element within the item_result, section_result and assessment_result elements.

field_name

The field_name element is used within the asi_metadatafield element. It is used to contain the label of the associated meta-data. This allows user-defined IMS QTI-specific meta-data to be associated with the evaluation object. The data entry for the label must be contained within the vocabulary (as defined by the vocabulary element) whenever such a vocabulary has been defined. The content is defined as a free format string.

field_value

The field_value element is used within the asi_metadatafield element. It is used to contain the actual value of the meta-data identified by the field_name element. This allows user-defined IMS QTI-specific meta-data to be associated with the evaluation objects. The content is defined as a free format string. It some cases it will be possible to use the vocabulary to define the limits to which the data must conform.

generic_identifier

The generic_identifier element is used to contain any type of identifier that is assigned to the object - an object or activity may have more than one such identifier. It consists of the type of identifier being defined (using the type_label element) and the actual identity string itself (using the identifier_string element.

grade

The grade element is used to contain the grade result information. Apart from the actual grade awarded and the associated cut-grade, this information consists of the variable name used to store the grade (the varname attribute), the set of possible grades that could have been awarded (the members attribute) and the status of the grade awarded (the status attribute).

grade_cut

The grade_cut element is used within the grade element to define the grade that if obtained or surpassed denotes that the material has been mastered. If the members attribute has been used on the grade element then the assigned grade-cut should be one value in that set.

grade_value

The grade_value element is used within the grade element to contain the grade awarded. If the members attribute has been used on the grade element then the value stored should be one value in that set.

hint_switch

The hint_switch attribute is used to report if hints were available through the evaluation object i.e. was Hint display enabled. The possible states are {Yes, No} with 'No' being the default. This switch is used within the control element within the item_result, section_result and assessment_result elements.

ident_ref

The ident_ref attribute is used to reference the unique identifier allocated to the object. The uniqueness of the identifier is not maintained by the XML and so a naming convention should be adopted e.g. the IMS Persistent Location Independent Resource Identifier. This identifier may have been allocated to the objects using the ident attribute within the IMS QTI ASI specifications.

identifier_string

This element is the container for the identification information assigned to an object. It is used as a part of the generic_identifier element. This is a string field of 1-256 characters length.

item_result

The item_result element is the container for all of the results information pertaining to a particular Item. This is the structure that should be used to contain the results reports from evaluation objects based upon the IMS QTI Item structure or proprietary Item/Question structures that have a similar usage. Each item_result is contained within a single result element and so reports for multiple Items must use multiple result instances.

members

The members attribute is used by the grade element to define the members of the set of possible grades being defined. The members are defined as a comma separated list without any enclosing parentheses and the list is order from left to right with the highest grade being the leftmost member of the set.

name

The name element is used within the context element to contain the name of the candidate undertaking the evaluation being reported. This formatted name can consist of 1-156 characters.

num_attempts

The num_attempts element is used to contain the number of attempts that were made to answer a particular response. An attempt is defined as the final answer that is given to a response for one visit to that response structure. Subsequent visits are counted as more attempts. How the actual visit is identified as being complete is assessment-engine dependent.

num_items

The num_items element is used to store the total number of Items associated with the host Assessment or Section. This number is a cumulative value across all of the Sections containing their own set of Items.

num_items_attempted

The num_items_attempted element is used to record the total number of Items within the object being reported that were attempted by the candidate. This number will be less than or equal to the value reported in the num_items_presented element. This number is the total number of Items attempted from all of the object hierarchy being reported.

num_items_presented

The num_items_presented element is used to record the total number of Items within the object being reported that were presented to the candidate. This number is the total number of Items presented from all of the object hierarchy being reported.

num_sections

The num_sections element is used to store the total number of Sections associated with the host Assessment or Section. This number is a reflection of the immediate children of the Assessment or Section i.e. it is not a cumulative score of the hierarchy up to the point being recorded.

num_sections_presented

The num_sections_presented element is used to record the total number of Sections within the object being reported that were presented to the candidate. This number is the total number of Sections presented that are immediate children of the object being recorded.

objective

This objective element is the container for the description of the objectives originally assigned to the Assessments, Sections and Items - the context is defined by the usage. These objectives are defined with respect to the actor as defined by the view attribute. Externally referenced objectives are linked using the uri or entityref attribute.

outcomes

The outcomes element is used to contain the actual scores and grades that are being reported within the summary_result, assessment_result, section_result and item_result elements. Multiple sets of scores and grades can be stored and the status of these results can also be stored.

presented

The presented attribute is used on the section_result and the item_result elements to indicate if the object has been presented to the participant. The possible values of the attribute are {Yes, No, Unknown} with 'Yes' being the default value.

qti_comment

This is the commenting facility within the XML schemas. The comments can take any form supported as #PCDATA. The key difference between this comment style and the standard '<!-- *** -->' is that the former is passed through the XML parser to the host system.
qti_result_report
The qti_result_report is the root element for the IMS QTI Results Report XML binding. It can contain either a summary_result, assessment-result, section_result or item_result report.

render_type

The render_type attribute is used on the response_form element to describe the nature of the rendering used on the response structure (an Item can be constructed from more than one response structure). The possible values of the attribute are {choice, hotspot, slider, fib, extension}. The 'choice', 'hotspot', 'slider' and 'fib' values reflect the corresponding ASI structures and 'extension' is used to denote any proprietary response extension structure.

response

The response element is within the item_result element to contain the description of the response structure of the Item, the number of attempts made at answering the question and the response that was actually submitted by the participant.

response_form

The response_form element is used within the response element to contain the actual description of the response structure for the associated Item. This description uses the cardinality, render-type, timing and response_type attributes. This structure also contains the correct_response element.

response_status

The response_status attribute is used on the response_value element to describe the nature of the value. The possible values of this attribute are: {Null, Valid, NA} and 'Invalid'. The default value is 'Valid'. This attribute is used to indicate the validity of the response supplied by the participant.

response_time

The response_time attribute is used with the response_value element to store the duration of a response i.e. the time between the initial entry into the Item and the submission of the answer by the participant. The value is in the range 0f 1-999 seconds.

response_type

The response_type attribute is used with the response_form element to define the type of response expected from the participant. The enumerated set of values assigned to the response_type are {lid, str, xy, num, grp, extension}. The values 'lid', 'xy', 'str', 'num' and 'grp' follow the corresponding ASI structure whereas 'extension' is used for proprietary response types.

response_value

The response_value element is used within the response element to contain the actual responses supplied by the participant. The associated attributes are the response_status, response_time, uri and entityref. The multiplicity and order of the response_value elements reflects the number of, and the seuqnce of, the responses given by the participant. The actual data stored will be either the label of the response (for response_lid structures), the xy-coordinate of the point identified (for response_xy structures) or the actual data input e.g. string, number, etc.

result

The result element is the container for the reported results. There can be multiple instances of result within the qti_result_report root element but each result element can contain the results of either one summary, one Assessment, one Section or one Item. Each result also contains the context for the instantiation of the evaluation.

score

The score element is used to contain all of the reported information about a single scoring variable. It is used within the outcomes and summary_result elements. The name and type of the score variable are defined using the attributes varname and vartype respectively with default values of 'SCORE' and 'integer'.

score_average

The score_average element is used within the score element to contain the average value that would be expected for this evaluation event. This is a reported value and is not derived from the scoring engine itself. The data type will follow the type of the scoring variable.

score_cut

The score_cut element is used within the score element to define the cut score for the evaluation event. Any score equal to or above this value is used to denote mastery of the associated learning materials. The data type will follow the type of the scoring variable.

score_interpretation

The score_interpretation element is used within the score element to contain the information that can be used to provide the mathematical interpretation of the results. The actual interpretation is supplied as either a string (1-2048 characters) or as a reference to an external file using the uri or entityref attributes.

score_max

The score_max element is used to contain the maximum score that could have been assigned to the scoring variable. The type of the information is as per the vartype attribute defined on the score element. This is used within the score element and is normally accompanied by the score_min element.

score_min

The score_min element is used to contain the minimum score that could have been assigned to the scoring variable. The type of the information is as per the vartype attribute defined on the score element. This is used within the score element and is normally accompanied by the score_max element.

score_normalized

The score_normalized element is used within the score element to contain the normalized value of the score being reported. The score is normalized to lay within the range 0-1. The normalization is defined using the '*.max' and '*.min' values and so it can only be supplied if the minimum and maximum values for the variable have been defined when declared.

score_reliablility

The score_reliability element is used within the score element to contain the reliability metric that describes the score. This value is not calculated from the scoring mechanism but is a reported value. The value is reported as a real number and must consist of no more than 32 characters.

score_std_error

The score_std_error element is used within the score element to contain the standard error value that would be expected for this evaluation event. This is a reported value and is not derived from the scoring engine itself. The data type will follow the type of the scoring variable. The value is reported as a real number and must consist of no more than 32 characters.

score_value

The score_value element is used within the score element to contain the score awarded. There is only one score value assigned to each score variable.

section_result

The section_result element is the container for all of the results information pertaining to a particular Section. This is the structure that should be used to contain the results reports from evaluation objects based upon the IMS QTI Section structure or proprietary Section/Topic structures that have a similar usage. Each section_result is contained within a single result element and so reports for multiple Sections must use multiple result instances.

solution_switch

The solution_switch attribute is used to report if solutions were available through the evaluation object i.e. was Solution display enabled. The possible states are {Yes, No} with 'No' being the default. This switch is used within the control element within the item_result, section_result and assessment_result elements.

source

The source attribute is optionally available to the type_label element to define the source of the associated vocabulary. This source is normally a URL string (1-256 characters).

status

The enumerated status attribute is optionally available to the score and grade elements. The possible values of this attribute are {Valid, Noanswer, Error}. 'Valid' is the default value and is used to indicate that a score has been reported, 'Noanswer' means that no attempt was made to answer the question (for whatever reason) and 'Error' is used to indicate the assessment failure status.

status

The status element is used within the summary_result and outcomes elements to indicate the status of thew contained information. The status may consist of the type of status being reported (using the type_label element), the date that the status is being record (using the datetime element) and the actual status value (using the status_value element).

status_value

The status_value element is used within the status element to contain the status being recorded. This information is a string (1-32 characters). At the current time there is no vocabulary for the status.

summary_result

The summary_result element is the container for all of the results information pertaining to a summary of an evaluation. A summary may be of an Assessment, Section, Item or any other appropriate evaluation activity. Each summary_result is contained within a single result element and so reports for multiple summaries must use multiple result instances.

timing

This attribute is used on the response_form element to indicate if the response is time-dependent. The possible entries are {Yes, No} with the default value being assumed as 'No' i.e. there is no recording of the time taken to enter an answer.

type_label

The type_label element is use whenever a data structure requires typing i.e. a date, status, generic identifier or summary result. The content for the element is the actual type and is a string (1-64 characters). The content may be defined with respect to a vocabulary using the source attribute. If a vocabulary is used then the content of the type_label should be contained within the vocabulary.

uri

The uri attribute is used to identify an external resource i.e. typically a file name or URL. In some cases, an alternative, and preferred method is the usage of the entityref attribute. This should be used when the named resource needs to be bound and exchanged with the results instance XML file.

varname

The varname attribute is used to define the name of the variable. This attribute is used by the score and grade elements. The name can consist of any lowercase and uppercase characters i.e. a-z, A-Z, 0-9 and underscore (0-9 should not be used for the first character). The default variable name is 'SCORE'.

vartype

The vartype attribute is used by the score element to define the type of variable being declared. The type of variable is: String, Boolean, Integer, Decimal, Scientific, Set and Enumerated. The 'Set' and 'Enumerated' option enable the declaration of typed entries and the range of types is defined within the members attribute that must accompany the declaration.

view

The view attribute is used to define the 'actors' permitted to see the associated information e.g. feedback, objectives, etc. The supported actors are All (used to indicate access to all), Administrating Authority, Administrator, Assessor, Author, Candidate, Invigilator/Proctor, Psychometrician, Scorer and Tutor.

vocabulary

The vocabulary element is used to provide the vocabularies to be used for the IMS QTI-specific meta-data, as entered through the asi_metadata element. The uri and entityref attributes are used to define any external file that contains the actual vocabulary.

vocab_type

The vocab_type attribute is used with the vocabulary element to describe the type of vocabulary file that is referred to in the associated uri or entityref attributes. The default type of file type is 'text/plain'.

xml:lang

The xml:lang attribute is used wherever the language of the entry text can be varied. This attribute is used to define the language of the associated text. The format of the attribute shows that it is one of the core attributes provided by XML itself.

Appendix C - Examples Information

C1 - Proposed Naming Convention

A request has been made to introduce a naming convention for the IMS QTI example files that is more informative. The request is for the name to reflect the nature of the content of the file.

C1.1 - Directory Naming

The directory naming convention is proposed to be (the bold words are the corresponding directory names):

ims_qtiresv1p2examples

item - Item(s) result examples

section - Section(s) result examples

assessment - Assessment(s) result examples

summary - Summary result examples

mixed - instances that contain a mixture of Summary, Item, Section and Assessment examples

About This Document

 
Title IMS Question & Test Interoperability Results Reporting Best Practice & Implementation Guide
Editors Colin Smythe, Lane Brewer, and Steve Lay
Version 1.2
Version Date 11 February 2002
Status Final Specification
Summary

This document presents the IMS QTI Results Reporting Best Practice & Implementation Guide. It complements the IMS Question & Test Interoperability: Results Reporting XML Binding and Information Model documents.

Revision Information 22 January 2002
Purpose Defines the ways in which the QTI XML binding is used to implement interoperability between assessment-oriented systems.
Document Location http://www.imsglobal.org/question/v1p2/imsqti_res_bestv1p2.html

List of Contributors

The following individuals contributed to the development of this document:

Russell Almond ETS, USA
Lane Brewer Galton Technologies Inc.
Todd Brewer Galton Technologies Inc.
Russell Grocott Can Studios Ltd.
Andy Heath CETIS/JISC, UK
Paul Hilton Can Studios Ltd.
John Kleeman Question Mark Computing Ltd.
Steven Lay University of Cambridge Local Examinations Syndicate, UK
Jez Lord Can Studios Ltd.
Paul Roberts Question Mark Computing Ltd.
Nial Sclater CETIS/University of Strathclyde, UK
Colin Smythe Dunelm Services Ltd.

Revision History

 
Version No.
Release Date
Comments
Base Document Version 1.2 7 June 2001 The first formal release of the IMS QTI: Results Reporting Best Practice & Implementation Guide Base Document.
Public Draft Version 1.2 30 September 2001 The first public release of the IMS QTI: Results Reporting Best Practice & Implementation Guide document.
Final Version 1.2 11 February 2002 The first final release of the IMS QTI: Results Reporting Best Practice & Implementation Guide document.

Index

A
ASI 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
     Assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
     Item 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
     Section 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33
Assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Assessment_result Elements
     assessment_result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     extension_ assessment_result 1, 2
Attributes
     asi_title 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     cardinality 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     entityref 1, 2, 3, 4, 5, 6, 7
     feedback_switch 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     hint_switch 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     ident_ref 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
     members 1, 2, 3, 4, 5
     presented 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     render_type 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     response_status 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     response_time 1
     response_type 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     solution_switch 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     source 1, 2, 3, 4, 5
     status 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
     timing 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     uri 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     varname 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80
     vartype 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
     view 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36
     xmllang 1, 2, 3, 4, 5, 6
     xmlspace 1, 2, 3
 

C
Common Elements
     asi_metadata 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
     control 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     date 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     duration 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     feedback_displayed 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     grade 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     grade_cut 1, 2
     grade_value 1, 2
     num_items 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_items_attempted 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_items_presented 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_sections 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_sections_presented 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     other 1
     outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83
     qti_comment 1
     score 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
     score_average 1, 2
     score_cut 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     score_interpretation 1, 2
     score_max 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     score_min 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     score_normalized 1, 2
     score_reliability 1, 2, 3
     score_value 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     status 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Context Elements
     context 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
     date 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     extension_context 1, 2, 3
     generic_identifier 1, 2, 3, 4, 5, 6
     name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
 

D
DTD 1, 2, 3, 4, 5

E
Elements
     asi_description 1, 2, 3, 4, 5
     asi_metadata 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
     asi_metadatafield 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
     assessment_result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     context 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
     control 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     correct_response 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     date 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     datetime 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     duration 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     extension_assessment_result 1, 2
     extension_context 1, 2, 3
     extension_grade 1, 2
     extension_item_result 1, 2, 3
     extension_response 1, 2, 3
     extension_responseform 1, 2, 3
     extension_result 1, 2
     extension_score 1, 2
     extension_section_result 1, 2
     extension_summary_result 1, 2
     feedback_display 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     field_name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     field_value 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     generic_identifier 1, 2, 3, 4, 5, 6
     grade 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     grade_cut 1, 2
     grade_value 1, 2
     identifier_string 1, 2, 3, 4, 5, 6
     item_result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
     name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     num_attempts 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     num_items 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_items_attempted 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_items_presented 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     num_sections_presented 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     objective 1, 2, 3, 4, 5
     other 1
     outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83
     qti_comment 1
     qti_result_report 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
     response 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93
     response_form 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     response_value 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
     result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
     score 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
     score_average 1, 2
     score_cut 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     score_interpretation 1, 2
     score_max 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     score_min 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     score_normalized 1, 2
     score_reliability 1, 2, 3
     score_std_error 1, 2, 3
     score_value 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     section_result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     status 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
     status_value 1, 2, 3
     summary_result 1, 2, 3, 4, 5, 6, 7, 8, 9
     type_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
     vocabulary 1, 2, 3, 4, 5, 6, 7, 8
Extension Elements
     extension 1, 2, 3, 4, 5, 6, 7, 8
     extension_assessment_result 1, 2
     extension_context 1, 2, 3
     extension_grade 1, 2
     extension_item_result 1, 2, 3
     extension_response 1, 2, 3
     extension_responseform 1, 2, 3
     extension_result 1, 2
     extension_score 1, 2
     extension_section_result 1, 2
     extension_summary_result 1, 2
 

H
Harmonisation
     IMS
 

Content Packaging 1, 2

Learner Information Package 1

I
Item 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
Item_result Elements
     asi_metadata 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
     control 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     correct_response 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     date 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     duration 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     extension_response 1, 2, 3
     item_result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
     num_attempts 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     objective 1, 2, 3, 4, 5
     outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83
     qti_comment 1
     response 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93
     response_form 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     response_value 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
 

M
Meta-data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     Resource Identifier 1
     Version 1, 2
 

Q
Question 1

R
Resource Identifier 1

S
Section 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33
Section_result Elements
     extension_section_result 1, 2
Summary_result Elements
     summary_result 1, 2, 3, 4, 5, 6, 7, 8, 9
 

V
Vocabularies 1

X
XML 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     Schema
 

DTD 1, 2, 3, 4, 5

XSD 1, 2 XSD 1, 2

1
This table is based upon a report completed by Ron Ball from ADL on 20th August, 2001.

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS would appreciate receiving your comments and suggestions.

Please contact IMS through our website at http://www.imsglobal.org

Please refer to Document Name:
IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide Date: 11 February 2002