IMS Candidate Final Public

IMS Global Logo

IMS OneRoster Gradebook Service Version 1.2

IMS Candidate Final Public
Version 1.0

Date Issued: 1st July 2021
Latest version: http://www.imsglobal.org/activity/onerosterlis/

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 © 2021 IMS Global Learning Consortium. All Rights Reserved.

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/speclicense.html.

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

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.

Public contributions, comments and questions can be posted here: www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

Trademark information: http://www.imsglobal.org/copyright.html

Document Name: IMS OneRoster Gradebook Service v1.2

Revision: 1st July 2021

toc | top

Abstract

The IMS OneRoster (OR) standard addresses the exchange of student data (primarily about people, courses, enrollments and grades) between different educational systems for the specific needs of K-12. The primary use-case is the exchange of data between a Student Information System (SIS) and Learning Management System (LMS). In OR 1.2, the service has been split into three core services:

This OR 1.2 Gradebook Service provides the ability to manage the exchange of information about gradebooks in the form of results, lineItems, collections of lineItems (categories) and score-scales. It is also possible to exchange information about assessment activities in the form of assessment lineItems and assessment results. In this document the data exchange is described in an implementation-independent format i.e. using a profile of the Unified Modeling Language (UML). The service description includes the definition of the data formats that are exchanged using a set of service operations.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Conventions

1.3 Changes in Gradebook Service 1.2

1.4 Structure of this Document

1.5 Nomenclature

2. Use-cases

3. Service Architecture and Specification Model

3.1 An Abstract Representation

3.2 Service Providers and Service Consumers

3.3 Gradebooks and Assessment Results

3.3.1 Assessment Results

3.4 Service Objects

3.5 Synchronous and Asynchronous Services

3.6 OneRoster Rostering and Gradebook Choreography

4. The Behavior Model

4.1 Service Definition

4.2 "AssessmentLineItemsManagement" Interface Description

4.2.1 "getAllAssessmentLineItems" Operation

4.2.2 "getAssessmentLineItem" Operation

4.2.3 "deleteAssessmentLineItem" Operation

4.2.4 "putAssessmentLineItem" Operation

4.3 "AssessmentResultsManagement" Interface Description

4.3.1 "getAllAssessmentResults" Operation

4.3.2 "getAssessmentResult" Operation

4.3.3 "deleteAssessmentResult" Operation

4.3.4 "putAssessmentResult" Operation

4.4 "CategoriesManagement" Interface Description

4.4.1 "getAllCategories" Operation

4.4.2 "getCategory" Operation

4.4.3 "deleteCategory" Operation

4.4.4 "putCategory" Operation

4.5 "ClassesManagement" Interface Description

4.5.1 "getResultsForClass" Operation

4.5.2 "getLineItemsForClass" Operation

4.5.3 "getResultsForLineItemForClass" Operation

4.5.4 "getResultsForStudentForClass" Operation

4.5.5 "getCategoriesForClass" Operation

4.5.6 "getScoreScalesForClass" Operation

4.5.7 "postResultsForAcademicSessionForClass" Operation

4.5.8 "postLineItemsForClass" Operation

4.6 "LineItemsManagement" Interface Description

4.6.1 "getAllLineItems" Operation

4.6.2 "getLineItem" Operation

4.6.3 "deleteLineItem" Operation

4.6.4 "putLineItem" Operation

4.6.5 "postResultsForLineItem" Operation

4.7 "ResultsManagement" Interface Description

4.7.1 "getAllResults" Operation

4.7.2 "getResult" Operation

4.7.3 "deleteResult" Operation

4.7.4 "putResult" Operation

4.8 "SchoolsManagement" Interface Description

4.8.1 "getScoreScalesForSchool" Operation

4.8.2 "postLineItemsForSchool" Operation

4.9 "ScoreScalesManagement" Interface Description

4.9.1 "getAllScoreScales" Operation

4.9.2 "getScoreScale" Operation

4.9.3 "deleteScoreScale" Operation

4.9.4 "putScoreScale" Operation

5. The Interface Data Model

5.1 "AssessmentLineItemSet" Class Description

5.1.1 "assessmentLineItems" Attribute Description

5.2 "AssessmentResultSet" Class Description

5.2.1 "assessmentResults" Attribute Description

5.3 "CategoriesSet" Class Description

5.3.1 "categories" Attribute Description

5.4 "GUID" Class Description

5.5 "GUIDPairSet" Class Description

5.5.1 "sourcedIdPairs" Attribute Description

5.6 "LineItemSet" Class Description

5.6.1 "lineItems" Attribute Description

5.7 "ResultSet" Class Description

5.7.1 "results" Attribute Description

5.8 "ScoreScaleSet" Class Description

5.8.1 "scoreScales" Attribute Description

5.9 "SingleAssessmentLineItem" Class Description

5.9.1 "assessmentLineItem" Attribute Description

5.10 "SingleAssessmentResult" Class Description

5.10.1 "assessmentResult" Attribute Description

5.11 "SingleCategory" Class Description

5.11.1 "category" Attribute Description

5.12 "SingleLineItem" Class Description

5.12.1 "lineItem" Attribute Description

5.13 "SingleResult" Class Description

5.13.1 "result" Attribute Description

5.14 "SingleScoreScale" Class Description

5.14.1 "scoreScale" Attribute Description

5.15 "imsx_StatusInfo" Class Description

5.15.1 "imsx_codeMajor" Attribute Description

5.15.2 "imsx_severity" Attribute Description

5.15.3 "imsx_description" Attribute Description

5.15.4 "imsx_CodeMinor" Attribute Description

6. The Data Model

6.1 Data Class Descriptions

6.1.1 "AcadSessionGUIDRef" Class Description

6.1.1.1 "type" Attribute Description

6.1.2 "AssessmentLineItem" Class Description

6.1.2.1 "title" Attribute Description

6.1.2.2 "description" Attribute Description

6.1.2.3 "class" Attribute Description

6.1.2.4 "parentAssessmentLineItem" Attribute Description

6.1.2.5 "scoreScale" Attribute Description

6.1.2.6 "resultValueMin" Attribute Description

6.1.2.7 "resultValueMax" Attribute Description

6.1.2.8 "learningObjectiveSet" Attribute Description

6.1.3 "AssessmentLineItemGUIDRef" Class Description

6.1.3.1 "type" Attribute Description

6.1.4 "AssessmentLineItemSet" Class Description

6.1.4.1 "assessmentLineItems" Attribute Description

6.1.5 "AssessmentResult" Class Description

6.1.5.1 "assessmentLineItem" Attribute Description

6.1.5.2 "student" Attribute Description

6.1.5.3 "score" Attribute Description

6.1.5.4 "textScore" Attribute Description

6.1.5.5 "scoreDate" Attribute Description

6.1.5.6 "scoreScale" Attribute Description

6.1.5.7 "scorePercentile" Attribute Description

6.1.5.8 "scoreStatus" Attribute Description

6.1.5.9 "comment" Attribute Description

6.1.5.10 "learningObjectiveSet" Attribute Description

6.1.6 "AssessmentResultSet" Class Description

6.1.6.1 "assessmentResults" Attribute Description

6.1.7 "Base" Class Description

6.1.7.1 "sourcedId" Attribute Description

6.1.7.2 "status" Attribute Description

6.1.7.3 "dateLastModified" Attribute Description

6.1.7.4 "metadata" Attribute Description

6.1.8 "CategoriesSet" Class Description

6.1.8.1 "categories" Attribute Description

6.1.9 "Category" Class Description

6.1.9.1 "title" Attribute Description

6.1.9.2 "weight" Attribute Description

6.1.10 "CategoryGUIDRef" Class Description

6.1.10.1 "type" Attribute Description

6.1.11 "ClassGUIDRef" Class Description

6.1.11.1 "type" Attribute Description

6.1.12 "CourseGUIDRef" Class Description

6.1.12.1 "type" Attribute Description

6.1.13 "GUIDPair" Class Description

6.1.13.1 "suppliedSourcedId" Attribute Description

6.1.13.2 "allocatedSourcedId" Attribute Description

6.1.14 "GUIDPairSet" Class Description

6.1.14.1 "sourcedIdPairs" Attribute Description

6.1.15 "GUIDRef" Class Description

6.1.15.1 "href" Attribute Description

6.1.15.2 "sourcedId" Attribute Description

6.1.16 "LearningObjectiveResults" Class Description

6.1.16.1 "learningObjectiveId" Attribute Description

6.1.16.2 "score" Attribute Description

6.1.16.3 "textScore" Attribute Description

6.1.17 "LearningObjectiveScoreSet" Class Description

6.1.17.1 "source" Attribute Description

6.1.17.2 "learningObjectiveResults" Attribute Description

6.1.18 "LearningObjectiveSet" Class Description

6.1.18.1 "source" Attribute Description

6.1.18.2 "learningObjectiveIds" Attribute Description

6.1.19 "LineItem" Class Description

6.1.19.1 "title" Attribute Description

6.1.19.2 "description" Attribute Description

6.1.19.3 "assignDate" Attribute Description

6.1.19.4 "dueDate" Attribute Description

6.1.19.5 "class" Attribute Description

6.1.19.6 "school" Attribute Description

6.1.19.7 "category" Attribute Description

6.1.19.8 "gradingPeriod" Attribute Description

6.1.19.9 "academicSession" Attribute Description

6.1.19.10 "scoreScale" Attribute Description

6.1.19.11 "resultValueMin" Attribute Description

6.1.19.12 "resultValueMax" Attribute Description

6.1.19.13 "learningObjectiveSet" Attribute Description

6.1.20 "LineItemGUIDRef" Class Description

6.1.20.1 "type" Attribute Description

6.1.21 "LineItemSet" Class Description

6.1.21.1 "lineItems" Attribute Description

6.1.22 "Metadata" Class Description

6.1.22.1 "extensions" Attribute Description

6.1.23 "OrgGUIDRef" Class Description

6.1.23.1 "type" Attribute Description

6.1.24 "Result" Class Description

6.1.24.1 "lineItem" Attribute Description

6.1.24.2 "student" Attribute Description

6.1.24.3 "class" Attribute Description

6.1.24.4 "scoreScale" Attribute Description

6.1.24.5 "scoreStatus" Attribute Description

6.1.24.6 "score" Attribute Description

6.1.24.7 "textScore" Attribute Description

6.1.24.8 "scoreDate" Attribute Description

6.1.24.9 "comment" Attribute Description

6.1.24.10 "learningObjectiveSet" Attribute Description

6.1.25 "ResultSet" Class Description

6.1.25.1 "results" Attribute Description

6.1.26 "ScoreScale" Class Description

6.1.26.1 "title" Attribute Description

6.1.26.2 "type" Attribute Description

6.1.26.3 "course" Attribute Description

6.1.26.4 "class" Attribute Description

6.1.26.5 "scoreScaleValue" Attribute Description

6.1.27 "ScoreScaleGUIDRef" Class Description

6.1.27.1 "type" Attribute Description

6.1.28 "ScoreScaleSet" Class Description

6.1.28.1 "scoreScales" Attribute Description

6.1.29 "ScoreScaleValue" Class Description

6.1.29.1 "itemValueLHS" Attribute Description

6.1.29.2 "itemValueRHS" Attribute Description

6.1.30 "SingleAssessmentLineItem" Class Description

6.1.30.1 "assessmentLineItem" Attribute Description

6.1.31 "SingleAssessmentResult" Class Description

6.1.31.1 "assessmentResult" Attribute Description

6.1.32 "SingleCategory" Class Description

6.1.32.1 "category" Attribute Description

6.1.33 "SingleLineItem" Class Description

6.1.33.1 "lineItem" Attribute Description

6.1.34 "SingleResult" Class Description

6.1.34.1 "result" Attribute Description

6.1.35 "SingleScoreScale" Class Description

6.1.35.1 "scoreScale" Attribute Description

6.1.36 "UserGUIDRef" Class Description

6.1.36.1 "type" Attribute Description

6.1.37 "imsx_CodeMinor" Class Description

6.1.37.1 "imsx_codeMinorField" Attribute Description

6.1.38 "imsx_CodeMinorField" Class Description

6.1.38.1 "imsx_codeMinorFieldName" Attribute Description

6.1.38.2 "imsx_codeMinorFieldValue" Attribute Description

6.1.39 "imsx_StatusInfo" Class Description

6.1.39.1 "imsx_codeMajor" Attribute Description

6.1.39.2 "imsx_severity" Attribute Description

6.1.39.3 "imsx_description" Attribute Description

6.1.39.4 "imsx_CodeMinor" Attribute Description

6.2 Derived Class Descriptions

6.2.1 "GUID" Class Description

6.2.2 "Identifier" Class Description

6.2.3 "ScoreStatusExtString" Class Description

6.2.3.1 "pattern" Attribute Description

6.2.4 "SourceExtensionString" Class Description

6.2.4.1 "pattern" Attribute Description

6.2.5 "UUID" Class Description

6.2.5.1 "pattern" Attribute Description

6.3 Enumerated Vocabulary Descriptions

6.3.1 "AcadSessionGUIDRefTypeEnum" Vocabulary Description

6.3.2 "AssessmentLineItemGUIDRefTypeEnum" Vocabulary Description

6.3.3 "BaseStatusEnum" Vocabulary Description

6.3.4 "CategoryGUIDRefTypeEnum" Vocabulary Description

6.3.5 "ClassGUIDRefTypeEnum" Vocabulary Description

6.3.6 "CourseGUIDRefTypeEnum" Vocabulary Description

6.3.7 "LineItemGUIDRefTypeEnum" Vocabulary Description

6.3.8 "OrgGUIDRefTypeEnum" Vocabulary Description

6.3.9 "ScoreScaleGUIDRefTypeEnum" Vocabulary Description

6.3.10 "ScoreStatusEnum" Vocabulary Description

6.3.11 "SourceEnum" Vocabulary Description

6.3.12 "UserGUIDRefTypeEnum" Vocabulary Description

6.3.13 "imsx_CodeMajorEnum" Vocabulary Description

6.3.14 "imsx_CodeMinorValueEnum" Vocabulary Description

6.3.15 "imsx_SeverityEnum" Vocabulary Description

6.4 Union Class Descriptions

6.4.1 "ScoreStatusExtEnum" Class Description

6.4.2 "SourceExtEnum" Class Description

7. Link Data Definitions

7.1 AcademicSession Link Data Description

7.2 AssessmentLineItem Link Data Description

7.3 CFItem Link Data Description

7.4 Category Link Data Description

7.5 Class Link Data Description

7.6 Course Link Data Description

7.7 LineItem Link Data Description

7.8 Org Link Data Description

7.9 ScoreScale Link Data Description

7.10 User Link Data Description

8. Extending and Profiling the Service

8.1 Extending the Specification

8.1.1 Proprietary Operations

8.1.2 Proprietary Data Elements

8.1.3 Proprietary Vocabulary Terms

8.2 Profilng the Specification

References

Appendix A Modelling Concepts and Terms

A1 Behavior Descriptions Explanations

A1.1 Service Diagrams

A1.2 Operation Descriptions

A2 InterfaceDescriptions Explanations

A2.1 Parameter Model Diagrams

A2.2 Class Descriptions

A2.3 Attribute Descriptions

A3 Data Model Descriptions Explanantions

A3.1 Data Model Diagrams

A3.2 Class Descriptions

A3.3 Attribute and Characteristic Descriptions

A3.4 Enumerated Vocabulary Descriptions

A3.5 External Vocabulary Descriptions

A3.6 Import Class Descriptions

A3.7 Link Data Descriptions

A3.8 Common Data Model Persistent Identifier Descriptions

Appendix B Service Status Codes

B1 Definition of the Status Codes

B1.1 Definition of the "CodeMajor" Values

B1.2 Definition of the "Severity" Values

B1.3 Definition of the "CodeMinor" Values

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 4.1 Service interface definitions

Figure 5.1 AssessmentLineItemSet class definitions

Figure 5.2 AssessmentResultSet class definitions

Figure 5.3 CategoriesSet class definitions

Figure 5.4 GUID class definitions

Figure 5.5 GUIDPairSet class definitions

Figure 5.6 LineItemSet class definitions

Figure 5.7 ResultSet class definitions

Figure 5.8 ScoreScaleSet class definitions

Figure 5.9 SingleAssessmentLineItem class definitions

Figure 5.10 SingleAssessmentResult class definitions

Figure 5.11 SingleCategory class definitions

Figure 5.12 SingleLineItem class definitions

Figure 5.13 SingleResult class definitions

Figure 5.14 SingleScoreScale class definitions

Figure 5.15 imsx_StatusInfo class definitions

Figure 6.1.1 AcadSessionGUIDRef class definitions

Figure 6.1.2 AssessmentLineItem class definitions

Figure 6.1.3 AssessmentLineItemGUIDRef class definitions

Figure 6.1.4 AssessmentLineItemSet class definitions

Figure 6.1.5 AssessmentResult class definitions

Figure 6.1.6 AssessmentResultSet class definitions

Figure 6.1.7 Base class definitions

Figure 6.1.8 CategoriesSet class definitions

Figure 6.1.9 Category class definitions

Figure 6.1.10 CategoryGUIDRef class definitions

Figure 6.1.11 ClassGUIDRef class definitions

Figure 6.1.12 CourseGUIDRef class definitions

Figure 6.1.13 GUIDPair class definitions

Figure 6.1.14 GUIDPairSet class definitions

Figure 6.1.15 GUIDRef class definitions

Figure 6.1.16 LearningObjectiveResults class definitions

Figure 6.1.17 LearningObjectiveScoreSet class definitions

Figure 6.1.18 LearningObjectiveSet class definitions

Figure 6.1.19 LineItem class definitions

Figure 6.1.20 LineItemGUIDRef class definitions

Figure 6.1.21 LineItemSet class definitions

Figure 6.1.22 Metadata class definitions

Figure 6.1.23 OrgGUIDRef class definitions

Figure 6.1.24 Result class definitions

Figure 6.1.25 ResultSet class definitions

Figure 6.1.26 ScoreScale class definitions

Figure 6.1.27 ScoreScaleGUIDRef class definitions

Figure 6.1.28 ScoreScaleSet class definitions

Figure 6.1.29 ScoreScaleValue class definitions

Figure 6.1.30 SingleAssessmentLineItem class definitions

Figure 6.1.31 SingleAssessmentResult class definitions

Figure 6.1.32 SingleCategory class definitions

Figure 6.1.33 SingleLineItem class definitions

Figure 6.1.34 SingleResult class definitions

Figure 6.1.35 SingleScoreScale class definitions

Figure 6.1.36 UserGUIDRef class definitions

Figure 6.1.37 imsx_CodeMinor class definitions

Figure 6.1.38 imsx_CodeMinorField class definitions

Figure 6.1.39 imsx_StatusInfo class definitions

Figure 6.2.1 GUID class definitions

Figure 6.2.2 Identifier class definitions

Figure 6.2.3 ScoreStatusExtString class definitions

Figure 6.2.4 SourceExtensionString class definitions

Figure 6.2.5 UUID class definitions

Figure 6.3.1 AcadSessionGUIDRefTypeEnum class definitions

Figure 6.3.2 AssessmentLineItemGUIDRefTypeEnum class definitions

Figure 6.3.3 BaseStatusEnum class definitions

Figure 6.3.4 CategoryGUIDRefTypeEnum class definitions

Figure 6.3.5 ClassGUIDRefTypeEnum class definitions

Figure 6.3.6 CourseGUIDRefTypeEnum class definitions

Figure 6.3.7 LineItemGUIDRefTypeEnum class definitions

Figure 6.3.8 OrgGUIDRefTypeEnum class definitions

Figure 6.3.9 ScoreScaleGUIDRefTypeEnum class definitions

Figure 6.3.10 ScoreStatusEnum class definitions

Figure 6.3.11 SourceEnum class definitions

Figure 6.3.12 UserGUIDRefTypeEnum class definitions

Figure 6.3.13 imsx_CodeMajorEnum class definitions

Figure 6.3.14 imsx_CodeMinorValueEnum class definitions

Figure 6.3.15 imsx_SeverityEnum class definitions

Figure 6.4.1 ScoreStatusExtEnum class definitions

Figure 6.4.2 SourceExtEnum class definitions

Figure 7.1 AcademicSession link data definition.

Figure 7.2 AssessmentLineItem link data definition.

Figure 7.3 CFItem link data definition.

Figure 7.4 Category link data definition.

Figure 7.5 Class link data definition.

Figure 7.6 Course link data definition.

Figure 7.7 LineItem link data definition.

Figure 7.8 Org link data definition.

Figure 7.9 ScoreScale link data definition.

Figure 7.10 User link data definition.

toc | top

List of Tables

Table 4.1 The set of interfaces.

Table 4.2 The set of operations for the "AssessmentLineItemsManagement" interface.

Table 4.3 The set of operations for the "AssessmentResultsManagement" interface.

Table 4.4 The set of operations for the "CategoriesManagement" interface.

Table 4.5 The set of operations for the "ClassesManagement" interface.

Table 4.6 The set of operations for the "LineItemsManagement" interface.

Table 4.7 The set of operations for the "ResultsManagement" interface.

Table 4.8 The set of operations for the "SchoolsManagement" interface.

Table 4.9 The set of operations for the "ScoreScalesManagement" interface.

Table 5.1 "AssessmentLineItemSet" Class Description

Table 5.1.1 "assessmentLineItems" Attribute Description

Table 5.2 "AssessmentResultSet" Class Description

Table 5.2.1 "assessmentResults" Attribute Description

Table 5.3 "CategoriesSet" Class Description

Table 5.3.1 "categories" Attribute Description

Table 5.4 "GUID" Class Description

Table 5.5 "GUIDPairSet" Class Description

Table 5.5.1 "sourcedIdPairs" Attribute Description

Table 5.6 "LineItemSet" Class Description

Table 5.6.1 "lineItems" Attribute Description

Table 5.7 "ResultSet" Class Description

Table 5.7.1 "results" Attribute Description

Table 5.8 "ScoreScaleSet" Class Description

Table 5.8.1 "scoreScales" Attribute Description

Table 5.9 "SingleAssessmentLineItem" Class Description

Table 5.9.1 "assessmentLineItem" Attribute Description

Table 5.10 "SingleAssessmentResult" Class Description

Table 5.10.1 "assessmentResult" Attribute Description

Table 5.11 "SingleCategory" Class Description

Table 5.11.1 "category" Attribute Description

Table 5.12 "SingleLineItem" Class Description

Table 5.12.1 "lineItem" Attribute Description

Table 5.13 "SingleResult" Class Description

Table 5.13.1 "result" Attribute Description

Table 5.14 "SingleScoreScale" Class Description

Table 5.14.1 "scoreScale" Attribute Description

Table 5.15 "imsx_StatusInfo" Class Description

Table 5.15.1 "imsx_codeMajor" Attribute Description

Table 5.15.2 "imsx_severity" Attribute Description

Table 5.15.3 "imsx_description" Attribute Description

Table 5.15.4 "imsx_CodeMinor" Attribute Description

Table 6.1.1 AcadSessionGUIDRef class definitions

Table 6.1.1.1 Description of the "type" attribute for the "AcadSessionGUIDRef" class

Table 6.1.2 AssessmentLineItem class definitions

Table 6.1.2.1 Description of the "title" attribute for the "AssessmentLineItem" class

Table 6.1.2.2 Description of the "description" attribute for the "AssessmentLineItem" class

Table 6.1.2.3 Description of the "class" attribute for the "AssessmentLineItem" class

Table 6.1.2.4 Description of the "parentAssessmentLineItem" attribute for the "AssessmentLineItem" class

Table 6.1.2.5 Description of the "scoreScale" attribute for the "AssessmentLineItem" class

Table 6.1.2.6 Description of the "resultValueMin" attribute for the "AssessmentLineItem" class

Table 6.1.2.7 Description of the "resultValueMax" attribute for the "AssessmentLineItem" class

Table 6.1.2.8 Description of the "learningObjectiveSet" attribute for the "AssessmentLineItem" class

Table 6.1.3 AssessmentLineItemGUIDRef class definitions

Table 6.1.3.1 Description of the "type" attribute for the "AssessmentLineItemGUIDRef" class

Table 6.1.4 AssessmentLineItemSet class definitions

Table 6.1.4.1 Description of the "assessmentLineItems" attribute for the "AssessmentLineItemSet" class

Table 6.1.5 AssessmentResult class definitions

Table 6.1.5.1 Description of the "assessmentLineItem" attribute for the "AssessmentResult" class

Table 6.1.5.2 Description of the "student" attribute for the "AssessmentResult" class

Table 6.1.5.3 Description of the "score" attribute for the "AssessmentResult" class

Table 6.1.5.4 Description of the "textScore" attribute for the "AssessmentResult" class

Table 6.1.5.5 Description of the "scoreDate" attribute for the "AssessmentResult" class

Table 6.1.5.6 Description of the "scoreScale" attribute for the "AssessmentResult" class

Table 6.1.5.7 Description of the "scorePercentile" attribute for the "AssessmentResult" class

Table 6.1.5.8 Description of the "scoreStatus" attribute for the "AssessmentResult" class

Table 6.1.5.9 Description of the "comment" attribute for the "AssessmentResult" class

Table 6.1.5.10 Description of the "learningObjectiveSet" attribute for the "AssessmentResult" class

Table 6.1.6 AssessmentResultSet class definitions

Table 6.1.6.1 Description of the "assessmentResults" attribute for the "AssessmentResultSet" class

Table 6.1.7 Base class definitions

Table 6.1.7.1 Description of the "sourcedId" attribute for the "Base" class

Table 6.1.7.2 Description of the "status" attribute for the "Base" class

Table 6.1.7.3 Description of the "dateLastModified" attribute for the "Base" class

Table 6.1.7.4 Description of the "metadata" attribute for the "Base" class

Table 6.1.8 CategoriesSet class definitions

Table 6.1.8.1 Description of the "categories" attribute for the "CategoriesSet" class

Table 6.1.9 Category class definitions

Table 6.1.9.1 Description of the "title" attribute for the "Category" class

Table 6.1.9.2 Description of the "weight" attribute for the "Category" class

Table 6.1.10 CategoryGUIDRef class definitions

Table 6.1.10.1 Description of the "type" attribute for the "CategoryGUIDRef" class

Table 6.1.11 ClassGUIDRef class definitions

Table 6.1.11.1 Description of the "type" attribute for the "ClassGUIDRef" class

Table 6.1.12 CourseGUIDRef class definitions

Table 6.1.12.1 Description of the "type" attribute for the "CourseGUIDRef" class

Table 6.1.13 GUIDPair class definitions

Table 6.1.13.1 Description of the "suppliedSourcedId" attribute for the "GUIDPair" class

Table 6.1.13.2 Description of the "allocatedSourcedId" attribute for the "GUIDPair" class

Table 6.1.14 GUIDPairSet class definitions

Table 6.1.14.1 Description of the "sourcedIdPairs" attribute for the "GUIDPairSet" class

Table 6.1.15 GUIDRef class definitions

Table 6.1.15.1 Description of the "href" attribute for the "GUIDRef" class

Table 6.1.15.2 Description of the "sourcedId" attribute for the "GUIDRef" class

Table 6.1.16 LearningObjectiveResults class definitions

Table 6.1.16.1 Description of the "learningObjectiveId" attribute for the "LearningObjectiveResults" class

Table 6.1.16.2 Description of the "score" attribute for the "LearningObjectiveResults" class

Table 6.1.16.3 Description of the "textScore" attribute for the "LearningObjectiveResults" class

Table 6.1.17 LearningObjectiveScoreSet class definitions

Table 6.1.17.1 Description of the "source" attribute for the "LearningObjectiveScoreSet" class

Table 6.1.17.2 Description of the "learningObjectiveResults" attribute for the "LearningObjectiveScoreSet" class

Table 6.1.18 LearningObjectiveSet class definitions

Table 6.1.18.1 Description of the "source" attribute for the "LearningObjectiveSet" class

Table 6.1.18.2 Description of the "learningObjectiveIds" attribute for the "LearningObjectiveSet" class

Table 6.1.19 LineItem class definitions

Table 6.1.19.1 Description of the "title" attribute for the "LineItem" class

Table 6.1.19.2 Description of the "description" attribute for the "LineItem" class

Table 6.1.19.3 Description of the "assignDate" attribute for the "LineItem" class

Table 6.1.19.4 Description of the "dueDate" attribute for the "LineItem" class

Table 6.1.19.5 Description of the "class" attribute for the "LineItem" class

Table 6.1.19.6 Description of the "school" attribute for the "LineItem" class

Table 6.1.19.7 Description of the "category" attribute for the "LineItem" class

Table 6.1.19.8 Description of the "gradingPeriod" attribute for the "LineItem" class

Table 6.1.19.9 Description of the "academicSession" attribute for the "LineItem" class

Table 6.1.19.10 Description of the "scoreScale" attribute for the "LineItem" class

Table 6.1.19.11 Description of the "resultValueMin" attribute for the "LineItem" class

Table 6.1.19.12 Description of the "resultValueMax" attribute for the "LineItem" class

Table 6.1.19.13 Description of the "learningObjectiveSet" attribute for the "LineItem" class

Table 6.1.20 LineItemGUIDRef class definitions

Table 6.1.20.1 Description of the "type" attribute for the "LineItemGUIDRef" class

Table 6.1.21 LineItemSet class definitions

Table 6.1.21.1 Description of the "lineItems" attribute for the "LineItemSet" class

Table 6.1.22 Metadata class definitions

Table 6.1.22.1 Description of the "extensions" attribute for the "Metadata" class

Table 6.1.23 OrgGUIDRef class definitions

Table 6.1.23.1 Description of the "type" attribute for the "OrgGUIDRef" class

Table 6.1.24 Result class definitions

Table 6.1.24.1 Description of the "lineItem" attribute for the "Result" class

Table 6.1.24.2 Description of the "student" attribute for the "Result" class

Table 6.1.24.3 Description of the "class" attribute for the "Result" class

Table 6.1.24.4 Description of the "scoreScale" attribute for the "Result" class

Table 6.1.24.5 Description of the "scoreStatus" attribute for the "Result" class

Table 6.1.24.6 Description of the "score" attribute for the "Result" class

Table 6.1.24.7 Description of the "textScore" attribute for the "Result" class

Table 6.1.24.8 Description of the "scoreDate" attribute for the "Result" class

Table 6.1.24.9 Description of the "comment" attribute for the "Result" class

Table 6.1.24.10 Description of the "learningObjectiveSet" attribute for the "Result" class

Table 6.1.25 ResultSet class definitions

Table 6.1.25.1 Description of the "results" attribute for the "ResultSet" class

Table 6.1.26 ScoreScale class definitions

Table 6.1.26.1 Description of the "title" attribute for the "ScoreScale" class

Table 6.1.26.2 Description of the "type" attribute for the "ScoreScale" class

Table 6.1.26.3 Description of the "course" attribute for the "ScoreScale" class

Table 6.1.26.4 Description of the "class" attribute for the "ScoreScale" class

Table 6.1.26.5 Description of the "scoreScaleValue" attribute for the "ScoreScale" class

Table 6.1.27 ScoreScaleGUIDRef class definitions

Table 6.1.27.1 Description of the "type" attribute for the "ScoreScaleGUIDRef" class

Table 6.1.28 ScoreScaleSet class definitions

Table 6.1.28.1 Description of the "scoreScales" attribute for the "ScoreScaleSet" class

Table 6.1.29 ScoreScaleValue class definitions

Table 6.1.29.1 Description of the "itemValueLHS" attribute for the "ScoreScaleValue" class

Table 6.1.29.2 Description of the "itemValueRHS" attribute for the "ScoreScaleValue" class

Table 6.1.30 SingleAssessmentLineItem class definitions

Table 6.1.30.1 Description of the "assessmentLineItem" attribute for the "SingleAssessmentLineItem" class

Table 6.1.31 SingleAssessmentResult class definitions

Table 6.1.31.1 Description of the "assessmentResult" attribute for the "SingleAssessmentResult" class

Table 6.1.32 SingleCategory class definitions

Table 6.1.32.1 Description of the "category" attribute for the "SingleCategory" class

Table 6.1.33 SingleLineItem class definitions

Table 6.1.33.1 Description of the "lineItem" attribute for the "SingleLineItem" class

Table 6.1.34 SingleResult class definitions

Table 6.1.34.1 Description of the "result" attribute for the "SingleResult" class

Table 6.1.35 SingleScoreScale class definitions

Table 6.1.35.1 Description of the "scoreScale" attribute for the "SingleScoreScale" class

Table 6.1.36 UserGUIDRef class definitions

Table 6.1.36.1 Description of the "type" attribute for the "UserGUIDRef" class

Table 6.1.37 imsx_CodeMinor class definitions

Table 6.1.37.1 Description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class

Table 6.1.38 imsx_CodeMinorField class definitions

Table 6.1.38.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class

Table 6.1.38.2 Description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class

Table 6.1.39 imsx_StatusInfo class definitions

Table 6.1.39.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class

Table 6.1.39.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class

Table 6.1.39.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class

Table 6.1.39.4 Description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class

Table 6.2.1 GUID class definitions

Table 6.2.2 Identifier class definitions

Table 6.2.3 ScoreStatusExtString class definitions

Table 6.2.3.1 Description of the "pattern" attribute for the "ScoreStatusExtString" class

Table 6.2.4 SourceExtensionString class definitions

Table 6.2.4.1 Description of the "pattern" attribute for the "SourceExtensionString" class

Table 6.2.5 UUID class definitions

Table 6.2.5.1 Description of the "pattern" attribute for the "UUID" class

Table 6.3.1 AcadSessionGUIDRefTypeEnum class definitions

Table 6.3.2 AssessmentLineItemGUIDRefTypeEnum class definitions

Table 6.3.3 BaseStatusEnum class definitions

Table 6.3.4 CategoryGUIDRefTypeEnum class definitions

Table 6.3.5 ClassGUIDRefTypeEnum class definitions

Table 6.3.6 CourseGUIDRefTypeEnum class definitions

Table 6.3.7 LineItemGUIDRefTypeEnum class definitions

Table 6.3.8 OrgGUIDRefTypeEnum class definitions

Table 6.3.9 ScoreScaleGUIDRefTypeEnum class definitions

Table 6.3.10 ScoreStatusEnum class definitions

Table 6.3.11 SourceEnum class definitions

Table 6.3.12 UserGUIDRefTypeEnum class definitions

Table 6.3.13 imsx_CodeMajorEnum class definitions

Table 6.3.14 imsx_CodeMinorValueEnum class definitions

Table 6.3.15 imsx_SeverityEnum class definitions

Table 6.4.1 ScoreStatusExtEnum class description

Table 6.4.2 SourceExtEnum class description

Table 7.1 Description of the AcademicSession link data class.

Table 7.2 Description of the AssessmentLineItem link data class.

Table 7.3 Description of the CFItem link data class.

Table 7.4 Description of the Category link data class.

Table 7.5 Description of the Class link data class.

Table 7.6 Description of the Course link data class.

Table 7.7 Description of the LineItem link data class.

Table 7.8 Description of the Org link data class.

Table 7.9 Description of the ScoreScale link data class.

Table 7.10 Description of the User link data class.

Table A3.1 The key to the descriptions of data model diagrams

Table A3.2 The key to the descriptions of the data class tables

Table A3.3 The key to the descriptions of the data attribute/characteristic tables

Table A3.4 The key to the descriptions of the enumerated vocabulary tables

Table A3.5 The key to the descriptions of the external vocabulary tables

Table A3.6 The key to the descriptions of the import class tables

Table A3.7 The key to the descriptions of the link data tables

Table A3.8 The key to the descriptions of the common data model persistent identifier tables

toc | top

1. Introduction

This Section is NOT NORMATIVE.

1.1. Scope and Context

This document is the OneRoster Gradebook Service Model v1.2 and as such it is used as the basis for the development of the following documents:

This information model defines the OneRoster Gradebook Abstract Application Programming Interface (a-API). This service model is described using the Unified Modeling Language (UML) based upon the IMS Global Model Driven Specification approach and the associated modelling toolkit [I-BAT, 06]. This means that this specification is based upon the concepts of:

1.2. Conventions

All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML diagrams), examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This means that from the perspective of conformance:

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.

1.3. Changes in Gradebook Service 1.2

The set of changes made between OR 1.1 and OR 1.2 with respect to gradebook are:

1.4. Structure of this Document

The structure of the rest of this document is:

2. Use-cases The set of gradebook use-cases that are a supported by this service. Only a one-line summary of each use-case is provided;
3. Service Architecture and Specification Model An overview of the service including the key use-cases and the underlying service architecture and end-system service objects;
4. The Behavior Model The definition of the operations of the service. This focuses on the description of the behaviors supported by the service. The behaviors are grouped as interfaces;
5. The Interface Data Model The definition of the data models exchanged between the service End Systems. These are the parameters exchanged across the interoperability interface. These are an abbreviated description with the full set of details in the corresponding data class description;
6. The Data Model The definition of the data classes for the full data exchange. This addresses the data classes used to supplement the interface parameters. The descriptions are grouped according to their type e.g. data, enumeration, derived, etc.
7. Link Data Definitions The set of descriptions for the link data definitions that are used to establish the intra- and inter- specification relationships;
8. Extending and Profiling the Service An explanation of how the service can be extended, using the permitted points of extension and/or profiled. Profiling is the process by which the specification is tailored to a specific set of market/domain requirements;
References The set of cited documents, normative and informative, that are used to support the technical details in this document;
Appendix A Modelling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the service model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model);
Appendix B Service Status Codes A summary list of the status codes, and their causes, that can be returned by each of the operations forming the service. These describe the end-to-end status of the transaction.

1.5. Nomenclature

API Application Programming Interface
CEDS Common Education Data Standards
GUID Globally Unique Identifier
HTTP Hypertext Transfer Protocol
I-BAT IMS Binding Autogeneration Toolkit
IETF Internet Engineering Task Force
JSON Java Script Object Notation
LIS Learning Information Services
NCES National Centre for Education Statistics
OAS OpenAPI Specification
PII Personally Identifiable Information
REST Representational State Transfer
RFC Request for Comments
TLS Transport Layer Security
UML Unified Modeling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
UTC Coordinated Universal Time
YAML Yet Another Markup Language

toc | top

2. Use-cases

This Section is NOT NORMATIVE.

The set of use-cases addressed by the OR Gradebook Service are summarised in Table 2.1.

Table 2.1 - The list of use-cases enabled by this OneRoster service.
ID Use-case Description
1 To enable a system to obtain information about the set of results for an assignment.
To provide the details of the lineItem that have been created for recording the set of results for the assignment as part of a class. It MUST be possible to obtain a specific linteItem, all lineItems and the set of lineItems aligned to a class.
2 To enable a system to obtain information about the set of available scores (contained within a result object).
To provide the details of the results that have been collected. It MUST be possible to obtain a specific result, all results and the set of lineItems aligned to a class and/or lineItem and/or a student.
3 To enable a system to obtain information about the set of categories
To provide the details of the categories that have been created for aggregating lineItems. It MUST be possible to obtain a specific category all categories.
4 To enable a system to create a lineItem.
The specified lineItem is to be created on the target system. The system creating the lineItem MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated.
5 To enable a system to delete a lineItem.
The specified lineItem is to be deleted i.e. subsequent attempts to 'read' this object will fail. The originally assigned sourcedId MUST NOT be reassigned. The nature of the deletion is implementation dependent.
6 To enable a system to create a result.
The specified result is to be created on the target system. The system creating the lineItem MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated.
7 To enable a system to delete a result.
The specified result is to be deleted i.e. subsequent attempts to 'read' this object will fail. The originally assigned sourcedId MUST NOT be reassigned. The nature of the deletion is implementation dependent.
8 To enable a system to create a category.
The specified category is to be created on the target system. The system creating the lineItem MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated.
9 To enable a system to delete a category.
The specified category is to be deleted i.e. subsequent attempts to 'read' this object will fail. The originally assigned sourcedId MUST NOT be reassigned. The nature of the deletion is implementation dependent.
10 To enable a system to obtain the set of identifiers for the academic standards assigned to a class or a school (added in version 1.2).
In this version it is possible to annotate the results and lineItems with the academic standard identifier that addresses the host object (this identifier is a CASE Item UUID [CASE, 17]). This use-case covers obtaining the set of academic standards identifiers (CASE Item UUIDs) for a specific school or class.
11 To enable a system to manage the use of scoreScales (added in version 1.2).
This management takes the form of enabling one or all scoreScales to be obtained, obtaining the scoreScales for a specific class or school, the deletion of a specific scoreScale (the originally assigned sourcedId MUST NOT be reassigned and the nature of the deletion is implementation dependent) and the creation of a speciifc scoreScale (the system creating the scoreScale MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated).
12 To enable a system to manage the use of assessment lineItems (added in version 1.2).
This management takes the form of enabling one or all assesmentLineItems to be obtained, the deletion of a specific assesmentLineItem (the originally assigned sourcedId MUST NOT be reassigned and the nature of the deletion is implementation dependent) and the creation of a specific assesmentLineItem (the system creating the assessmentLineItem MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated).
13 To enable a system to manage the use of assessment results (added in version 1.2).
This management takes the form of enabling one or all assesmentResults to be obtained, the deletion of a specific assesmentResult (the originally assigned sourcedId MUST NOT be reassigned and the nature of the deletion is implementation dependent) and the creation of a specific assesmentResult (the system creating the assessmentResult MUST supply the sourcedId under which the object is to be created and the target system MAY reject the request if that sourcedId is already allocated).
14 To enable a system to create a set of lineItems for a specific school or class (added in version 1.2).
This enables a system to create a collection of lineItems on the target system. A set of sourcedIds are supplied by the requesting system but these MUST be replaced by the set of sourcedIds allocated by the target system (the latter MUST be reported back to the requesting system).
15 To enable a system to create a set of results for a specific lineItem or academicSession/class (added in version 1.2).
This enables a system to create a collection of results on the target system. A set of sourcedIds are supplied by the requesting system but these MUST be replaced by the set of sourcedIds allocated by the target system (the latter MUST be reported back to the requesting system).

toc | top

3. Service Architecture and Specification Model

This Section is NOT NORMATIVE.

3.1. An Abstract Representation

It is important to remember that this document contains a description of the underlying service model in terms of the abstract Application Programming Interface (API). The manner in which this abstract representation is visualized is not intended to dictate the implementation form of the Service. The breakdown of the service into its interface classes is a convenient way to document the set of behaviors. The objective for producing these interfaces is to identify and define the messages that are exchanged between the end-systems to realize the system behaviors required of the service.

The internal organization of an implementation of the full abstract API is beyond the scope of this specification. The only constraint is that the external behavior of the abstract API complies with this specification. This means that a .NET, J2EE, etc. physical implementation of this abstract API does not have to represent the functionality using the same breakdown of operations/methods. This physical implementation is not subject to the conformance specification.

It is important to note that the UML representation of the interfaces is used to help develop and document the Service Model and various Bindings. It is not a requirement for a system to implement this interface as defined i.e. to use the same parameters, etc. Conformance against this specification will be confirmed by inspecting the appropriate binding of the information model and ensuring that the relevant information is present and that different sequences of activity result in the predicted and mandated behavior. It is essential that the behaviors described by each of the operations are fully supported and that the behaviors described by different sequences are also maintained.

3.2. Service Providers and Service Consumers

The basic architectural model for the OR Gradebook Service specification is shown in Figure 3.1. In this architecture the scope of the IMS OR Gradebook Service specification is shown as the dotted line. The scope of the interoperability is the data and behavioral models of the objects being exchanged.

Diagram of the OR Gradebook service architecture.

Figure 3.1 - The OR Gradebook service architecture.

It is important to remember that the structure of the exchanged information has NO bearing on how the same information is contained within the 'consumer' and 'provider' OR Gradebook systems (the OR Gradebook repositories in the two end-systems). It is simply a representation of the data used to facilitate exchange between the end-systems. The only constraint on the end-system repositories is that they provide data persistence consistent with the required behavior.

3.3. Gradebooks and Assessment Results

The Gradebook Service enables the exchange of gradebooks. A schematic representation of a gradebook is shown in Figure 3.2.

Diagram of the schematic representation of a gradebook.

Figure 3.2 - A schematic representation of a gradebook.

A gradebook is essentially a matrix of results assigned to a class list for a set of assignments. The key points in Figure 3.2 are:

3.3.1. Assessment Results

In this latest version, the Gradebook Service has been extended to support the exchange of detailed assessment results. A schematic representation of the structure for assessment results is shown in Figure 3.3.

Diagram of the structure of the assessment results.

Figure 3.3 - A schematic representation of the structure of assessment results.

This structure is based around an Assessment: this may be a Question and Test Interoperability (QTI) test. The assessment results structure enables the exchange of detailed scores for a simple and complex assessment. The Assessment is composed of a set of AssessmentLineItems (similar to LineItems) for which there is a set of AssessmentResults. The key differences between a LineItem and an AssessmentLineItem are:

The management of AssessmentLineItems and AssessmentResults is achieved using a separate set of operations i.e. not using the original LineItem and Result operations.

3.4. Service Objects

The set of single objects that can be exchanged between OR Gradebook end-systems are:

The set of collection objects that can be exchanged between OR Gradebook end-systems are:

The relationships between the core classes in OR Gradebook are shown in Figure 3.4.

Diagram of the  relationships between the core classes in the Gradebook data model.

Figure 3.4 - The relationships between the core classes in the Gradebook data model.

The key relationships shown in Figure 3.4 are:

3.5. Synchronous and Asynchronous Services

The OR Gradebook Service is a synchronous service i.e. the initiator is blocked until the response from the respondent is received. This means that an initiator can only have one outstanding request with a service provider. The OR Gradebook Service is available as either a 'Pull' or 'Push' service. The corresponding sequence of actions for the 'Pull' and 'Push' services are shown in Figure 3.5 and 3.6 respectively.

Diagram of the action sequence for the OR Gradebook (pull) synchronous service.

Figure 3.5 - The action sequence for the OR Gradebook (Pull) synchronous service.

In the case of the 'Pull' service the Service Consumer is the initiator of the read requests from the Service Provider.

Diagram of the action sequence for the OR Gradebook (push) synchronous service.

Figure 3.6 - The action sequence for the OR Gradebook (Push) synchronous service.

In the case of the 'Push' service the Service Provider is the initiator of the write requests to the Service Consumer.

3.6. OneRoster Rostering and Gradebook Choreography

The Gradebook Service has several dependencies on the data models supported in the Rostering Service e.g. Classes, Schools, etc. These interactions make use of the corresponding 'sourcedId' of the object. Therefore, any system that supports the Gradebook Service should also support the appropriate parts of the Rostering Service (this may require the system to be certified as OR 1.2 Roster Service compliant).

There is no direct dependency between the Gradebook and OR Resource services.

toc | top

4. The Behavior Model

This Section is NORMATIVE

4.1 Service Definition

The model for the service representation is shown in Figure 4.1 and Table 4.1 (the syntax and semantics for this representation is described in Appendix A1.1). Following the service definition are the descriptions for the set of corresponding service operations (the syntax and semantics for these descriptions is described in Appendix A1.2).

UML model of the service.

Figure 4.1 - Service interface definitions.

Table 4.1 The set of interfaces.
Interface Description
AssessmentLineItemsManagement This enables the management of the assessment lineItems i.e. lineitems that are used to store results about tests/assessments and where these test/assessments are not aligned to a class.
AssessmentResultsManagement This enables the management of the assessment results i.e. results that are used to store scores for tests/assessments and where these test/assessments are not aligned to a class.
CategoriesManagement This enables the management of Categories i.e. collections of LineItems.
ClassesManagement This enables the management of Classes i.e. scheduled learning of courses, with respect to scoreScales. For this service this is the collection of operations that provide gradebook data in the context of a class identifier.
LineItemsManagement This enables the management of lineItems i.e. the set of results for the assessment of some activity.
ResultsManagement This enables the management of results i.e. the score allocated to a learner from the assessent of a learning activity. Results are collected as a set of 'lineItems'.
SchoolsManagement This enables the management of information about schools with respect to scoreScales. A school is a type of 'org'. For this service this is the collection of operations that provide gradebook data in the context of a school identifier.
ScoreScalesManagement This enables the management of scoreScales i.e. the set of scales for the results and lineItems.

4.2 AssessmentLineItemsManagement Interface Description

This enables the management of the assessment lineItems i.e. lineitems that are used to store results about tests/assessments and where these test/assessments are not aligned to a class.

The set of operations for this interface are summarized in Table 4.2.

Table 4.2 The set of operations for the "AssessmentLineItemsManagement" interface.
Operation Description
getAllAssessmentLineItems Get all of the Assessment Line Items on the service provider.
getAssessmentLineItem Get a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteAssessmentLineItem Delete a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putAssessmentLineItem To create a new Assessment LineItem. The associated sourcedId for this new record is supplied by the requesting system.

4.2.1 "getAllAssessmentLineItems" Operation

Name: getAllAssessmentLineItems ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: assessmentLineItems : AssessmentLineItemSet - the set of assessment lineItems that have been read from the service provider.
Behavior: Get all of the Assessment Line Items on the service provider.

4.2.2 "getAssessmentLineItem" Operation

Name: getAssessmentLineItem ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for this assessment lineItem.
Returned (out) Parameters: assessmentLineItem : SingleAssessmentLineItem - the assessment lineItem that has been read from the service provider.
Behavior: Get a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.2.3 "deleteAssessmentLineItem" Operation

Name: deleteAssessmentLineItem ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the assessment lineItem to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.2.4 "putAssessmentLineItem" Operation

Name: putAssessmentLineItem ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new assessment lineItem.
assessmentLineItem : SingleAssessmentLineItem - the assessment lineItem data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new Assessment LineItem. The associated sourcedId for this new record is supplied by the requesting system.

4.3 AssessmentResultsManagement Interface Description

This enables the management of the assessment results i.e. results that are used to store scores for tests/assessments and where these test/assessments are not aligned to a class.

The set of operations for this interface are summarized in Table 4.3.

Table 4.3 The set of operations for the "AssessmentResultsManagement" interface.
Operation Description
getAllAssessmentResults Get all of the Assessment Results on the service provider.
getAssessmentResult Get a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteAssessmentResult Delete a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putAssessmentResult To create a new Assessment Result. The associated sourcedId for this new record is supplied by the requesting system.

4.3.1 "getAllAssessmentResults" Operation

Name: getAllAssessmentResults ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: assessmentResults : AssessmentResultSet - the set of assessment results that have been read from the service provider.
Behavior: Get all of the Assessment Results on the service provider.

4.3.2 "getAssessmentResult" Operation

Name: getAssessmentResult ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - tthe unique identifier, GUID, for this assessment result.
Returned (out) Parameters: assessmentResult : SingleAssessmentResult - the assessment result that has been read from the service provider.
Behavior: Get a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.3.3 "deleteAssessmentResult" Operation

Name: deleteAssessmentResult ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the assessment result to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.3.4 "putAssessmentResult" Operation

Name: putAssessmentResult ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new assessment result.
assessmentResult : SingleAssessmentResult - the assessment result data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new Assessment Result. The associated sourcedId for this new record is supplied by the requesting system.

4.4 CategoriesManagement Interface Description

This enables the management of Categories i.e. collections of LineItems.

The set of operations for this interface are summarized in Table 4.4.

Table 4.4 The set of operations for the "CategoriesManagement" interface.
Operation Description
getAllCategories Get all of the lineItem categories on the service provider.
getCategory Get a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteCategory Delete a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putCategory To create a new lineItem category. The associated sourcedId for this new record is supplied by the requesting system.

4.4.1 "getAllCategories" Operation

Name: getAllCategories ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: categories : CategoriesSet - the set of categories that have been read from the service provider.
Behavior: Get all of the lineItem categories on the service provider.

4.4.2 "getCategory" Operation

Name: getCategory ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for this category.
Returned (out) Parameters: category : SingleCategory - the category that has been read from the service provider.
Behavior: Get a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.4.3 "deleteCategory" Operation

Name: deleteCategory ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the category to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.4.4 "putCategory" Operation

Name: putCategory ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new category.
category : SingleCategory - the category data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new lineItem category. The associated sourcedId for this new record is supplied by the requesting system.

4.5 ClassesManagement Interface Description

This enables the management of Classes i.e. scheduled learning of courses, with respect to scoreScales. For this service this is the collection of operations that provide gradebook data in the context of a class identifier.

The set of operations for this interface are summarized in Table 4.5.

Table 4.5 The set of operations for the "ClassesManagement" interface.
Operation Description
getResultsForClass Get the set of results on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
getLineItemsForClass Get the set of lineItems on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
getResultsForLineItemForClass Get the set of results on the service provider for a specific lineItem and for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
getResultsForStudentForClass Get the set of results on the service provider for a specific student and for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
getCategoriesForClass Get the set of categories on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
getScoreScalesForClass Get the set of scoreScales on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.
postResultsForAcademicSessionForClass To create a set of results for a specific academic session and specific class. The responding system must return the set of sourcedIds that have been allocated to the newly created result records. If the corresponding class or academic session cannot be located then an 'unknown' error code is returned.
postLineItemsForClass To create a set of lineItems for a specific class. The responding system must return the set of sourcedIds that have been allocated to the newly created lineItem records. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.1 "getResultsForClass" Operation

Name: getResultsForClass ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
Returned (out) Parameters: results : ResultSet - the set of results for the specified class. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of results on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.2 "getLineItemsForClass" Operation

Name: getLineItemsForClass ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
Returned (out) Parameters: lineItems : LineItemSet - the set of lineItems for the specified class. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of lineItems on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.3 "getResultsForLineItemForClass" Operation

Name: getResultsForLineItemForClass ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
lineItemSourcedId : GUID - the unique identifier, GUID, for the lineItem.
Returned (out) Parameters: results : ResultSet - the set of results for the specified class and lineItem. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of results on the service provider for a specific lineItem and for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.4 "getResultsForStudentForClass" Operation

Name: getResultsForStudentForClass ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
studentSourcedId : GUID - the unique identifier, GUID, for the student.
Returned (out) Parameters: results : ResultSet - the set of results for the specified student and lineItem. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of results on the service provider for a specific student and for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.5 "getCategoriesForClass" Operation

Name: getCategoriesForClass ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
Returned (out) Parameters: categories : CategoriesSet - the set of categories for the specified class. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of categories on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.6 "getScoreScalesForClass" Operation

Name: getScoreScalesForClass ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
Returned (out) Parameters: scoreScales : ScoreScaleSet - the set of scoreScales for the specified class. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of scoreScales on the service provider for a specific class. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.5.7 "postResultsForAcademicSessionForClass" Operation

Name: postResultsForAcademicSessionForClass ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
academicSessionSourcedId : GUID - the unique identifier, GUID, for the academic session.
results : ResultSet - the set of result records to be created in response to this request. This includes an initial assignment of sourcedId so that the mapping between this and the actually assigned sourcedId can be reported.
Returned (out) Parameters: resultSourcedIds : GUIDPairSet - the sourcedIds assigned to the result records by the responding system. This information is passed as a set of original/assigned sourcedId tuples.
Behavior: To create a set of results for a specific academic session and specific class. The responding system must return the set of sourcedIds that have been allocated to the newly created result records. If the corresponding class or academic session cannot be located then an 'unknown' error code is returned.

4.5.8 "postLineItemsForClass" Operation

Name: postLineItemsForClass ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: classSourcedId : GUID - the unique identifier, GUID, for the class.
lineItems : LineItemSet - the set of lineItem records to be created in response to this request. This includes an initial assignment of sourcedId so that the mapping between this and the actually assigned sourcedId can be reported.
Returned (out) Parameters: lineItemSourcedIds : GUIDPairSet - the sourcedIds assigned to the lineItem records by the responding system. This information is passed as a set of original/assigned sourcedId tuples.
Behavior: To create a set of lineItems for a specific class. The responding system must return the set of sourcedIds that have been allocated to the newly created lineItem records. If the corresponding class cannot be located then an 'unknown' error code is returned.

4.6 LineItemsManagement Interface Description

This enables the management of lineItems i.e. the set of results for the assessment of some activity.

The set of operations for this interface are summarized in Table 4.6.

Table 4.6 The set of operations for the "LineItemsManagement" interface.
Operation Description
getAllLineItems Get all of the Line Items on the service provider.
getLineItem Get a specific LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteLineItem Delete a specific lineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putLineItem To create a new lineItem. The associated sourcedId for this new record is supplied by the requesting system.
postResultsForLineItem To create a set of results for a specific lineItem. The responding system must return the set of sourcedIds that have been allocated to the newly created result records.

4.6.1 "getAllLineItems" Operation

Name: getAllLineItems ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: lineItems : LineItemSet - the set of lineItems that have been read from the service provider.
Behavior: Get all of the Line Items on the service provider.

4.6.2 "getLineItem" Operation

Name: getLineItem ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for this lineItem.
Returned (out) Parameters: lineItem : SingleLineItem - the lineItem that has been read from the service provider.
Behavior: Get a specific LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.6.3 "deleteLineItem" Operation

Name: deleteLineItem ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the lineItem to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific lineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.6.4 "putLineItem" Operation

Name: putLineItem ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new lineItem.
lineItem : SingleLineItem - the lineItem data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new lineItem. The associated sourcedId for this new record is supplied by the requesting system.

4.6.5 "postResultsForLineItem" Operation

Name: postResultsForLineItem ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: lineItemSourcedId : GUID - the unique identifier, GUID, for the lineItem.
results : ResultSet - the set of result records to be created in response to this request. This includes an initial assignment of sourcedId so that the mapping between this and the actually assigned sourcedId can be reported.
Returned (out) Parameters: resultSourcedIds : GUIDPairSet - the sourcedIds assigned to the result records by the responding system. This information is passed as a set of original/assigned sourcedId tuples.
Behavior: To create a set of results for a specific lineItem. The responding system must return the set of sourcedIds that have been allocated to the newly created result records.

4.7 ResultsManagement Interface Description

This enables the management of results i.e. the score allocated to a learner from the assessent of a learning activity. Results are collected as a set of 'lineItems'.

The set of operations for this interface are summarized in Table 4.7.

Table 4.7 The set of operations for the "ResultsManagement" interface.
Operation Description
getAllResults Get all of the results on the service provider.
getResult Get a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteResult Delete a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putResult To create a new result. The associated sourcedId for this new record is supplied by the requesting system.

4.7.1 "getAllResults" Operation

Name: getAllResults ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: results : ResultSet - the set of results that have been read from the service provider.
Behavior: Get all of the results on the service provider.

4.7.2 "getResult" Operation

Name: getResult ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for this result.
Returned (out) Parameters: result : SingleResult - the result that has been read from the service provider.
Behavior: Get a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.7.3 "deleteResult" Operation

Name: deleteResult ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the result to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.7.4 "putResult" Operation

Name: putResult ()
Return Function Parameter: statusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new result.
result : SingleResult - the result data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new result. The associated sourcedId for this new record is supplied by the requesting system.

4.8 SchoolsManagement Interface Description

This enables the management of information about schools with respect to scoreScales. A school is a type of 'org'. For this service this is the collection of operations that provide gradebook data in the context of a school identifier.

The set of operations for this interface are summarized in Table 4.8.

Table 4.8 The set of operations for the "SchoolsManagement" interface.
Operation Description
getScoreScalesForSchool Get the set of scoreScales on the service provider for a specific school. If the corresponding school cannot be located then an 'unknown' error code is returned.
postLineItemsForSchool To create a set of lineItems for a specific school. The responding system must return the set of sourcedIds that have been allocated to the newly created lineItem records.

4.8.1 "getScoreScalesForSchool" Operation

Name: getScoreScalesForSchool ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: schoolSourcedId : GUID - the unique identifier, GUID, for the school.
Returned (out) Parameters: scoreScales : ScoreScaleSet - the set of scoreScales used by the specified school. This payload may be empty if there are no records that conform to any of the selection constraints.
Behavior: Get the set of scoreScales on the service provider for a specific school. If the corresponding school cannot be located then an 'unknown' error code is returned.

4.8.2 "postLineItemsForSchool" Operation

Name: postLineItemsForSchool ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: schoolSourcedId : GUID - the unique identifier, GUID, for the school.
lineItems : LineItemSet - the set of lineItem records to be created in response to this request. This includes an initial assignment of sourcedId so that the mapping between this and the actually assigned sourcedId can be reported.
Returned (out) Parameters: lineItemSourcedIds : GUIDPairSet - the sourcedIds assigned to the lineItem records by the responding system. This information is passed as a set of original/assigned sourcedId tuples.
Behavior: To create a set of lineItems for a specific school. The responding system must return the set of sourcedIds that have been allocated to the newly created lineItem records.

4.9 ScoreScalesManagement Interface Description

This enables the management of scoreScales i.e. the set of scales for the results and lineItems.

The set of operations for this interface are summarized in Table 4.9.

Table 4.9 The set of operations for the "ScoreScalesManagement" interface.
Operation Description
getAllScoreScales Get all of the ScoreScales on the service provider.
getScoreScale Get a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
deleteScoreScale Delete a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
putScoreScale To create a new scoreScale. The associated sourcedId for this new record is supplied by the requesting system.

4.9.1 "getAllScoreScales" Operation

Name: getAllScoreScales ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: None.
Returned (out) Parameters: scoreScales : ScoreScaleSet - the set of scoreScales that have been read from the service provider.
Behavior: Get all of the ScoreScales on the service provider.

4.9.2 "getScoreScale" Operation

Name: getScoreScale ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for this scoreScale.
Returned (out) Parameters: scoreScale : SingleScoreScale - the scoreScale that has been read from the service provider.
Behavior: Get a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.9.3 "deleteScoreScale" Operation

Name: deleteScoreScale ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, for the scoreScale to be deleted.
Returned (out) Parameters: None.
Behavior: Delete a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.

4.9.4 "putScoreScale" Operation

Name: putScoreScale ()
Return Function Parameter: imsx_StatusInfo : imsx_StatusInfo - the status information report for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed.
Supplied (in) Parameters: sourcedId : GUID - the unique identifier, GUID, to be allocated to this new scoreScale.
scoreScale : SingleScoreScale - the scoreScale data that is to be stored.
Returned (out) Parameters: None.
Behavior: To create a new scoreScale. The associated sourcedId for this new record is supplied by the requesting system.

toc | top

5. The Interface Data Model

This Section is NORMATIVE

The set of operations described within the behavior model (The Behavior Model) are based upon class descriptions specific to the parameters of the operations. All parameters are mandatory. The syntax and semantics for this representation is described in Appendix A2.

5.1 AssessmentLineItemSet Class Description

The data model for the "AssessmentLineItemSet" class is shown in Figure 5.1 and the accompanying definition in Table 5.1.

UML diagram of the AssessmentLineItemSet class.

Figure 5.1 - AssessmentLineItemSet class definitions.

Table 5.1 Description of the "AssessmentLineItemSet" class.
Descriptor Definition
Class Name AssessmentLineItemSet
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of assessment lineItem instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.1.1 "assessmentLineItems" Attribute Description

The description of the "assessmentLineItems" attribute for the "AssessmentLineItemSet" class is given in Table 5.1.1.

Table 5.1.1 Description of the "assessmentLineItems" attribute for the "AssessmentLineItemSet" class.
Descriptor Definition
Attribute Name assessmentLineItems
Data Type AssessmentLineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of assessment lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.2 AssessmentResultSet Class Description

The data model for the "AssessmentResultSet" class is shown in Figure 5.2 and the accompanying definition in Table 5.2.

UML diagram of the AssessmentResultSet class.

Figure 5.2 - AssessmentResultSet class definitions.

Table 5.2 Description of the "AssessmentResultSet" class.
Descriptor Definition
Class Name AssessmentResultSet
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of assessment result instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.2.1 "assessmentResults" Attribute Description

The description of the "assessmentResults" attribute for the "AssessmentResultSet" class is given in Table 5.2.1.

Table 5.2.1 Description of the "assessmentResults" attribute for the "AssessmentResultSet" class.
Descriptor Definition
Attribute Name assessmentResults
Data Type AssessmentResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of assessment result instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.3 CategoriesSet Class Description

The data model for the "CategoriesSet" class is shown in Figure 5.3 and the accompanying definition in Table 5.3.

UML diagram of the CategoriesSet class.

Figure 5.3 - CategoriesSet class definitions.

Table 5.3 Description of the "CategoriesSet" class.
Descriptor Definition
Class Name CategoriesSet
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of category instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.3.1 "categories" Attribute Description

The description of the "categories" attribute for the "CategoriesSet" class is given in Table 5.3.1.

Table 5.3.1 Description of the "categories" attribute for the "CategoriesSet" class.
Descriptor Definition
Attribute Name categories
Data Type Category
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of category instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.4 GUID Class Description

The data model for the "GUID" class is shown in Figure 5.4 and the accompanying definition in Table 5.4.

UML diagram of the GUID class.

Figure 5.4 - GUID class definitions.

Table 5.4 Description of the "GUID" class.
Descriptor Definition
Class Name GUID
Class Type Container [ DerivedType ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID.

5.5 GUIDPairSet Class Description

The data model for the "GUIDPairSet" class is shown in Figure 5.5 and the accompanying definition in Table 5.5.

UML diagram of the GUIDPairSet class.

Figure 5.5 - GUIDPairSet class definitions.

Table 5.5 Description of the "GUIDPairSet" class.
Descriptor Definition
Class Name GUIDPairSet
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of sourcedId pairs. This is used to provide the mapping between a set of original/new values allocated to a set of sourcedIds.

5.5.1 "sourcedIdPairs" Attribute Description

The description of the "sourcedIdPairs" attribute for the "GUIDPairSet" class is given in Table 5.5.1.

Table 5.5.1 Description of the "sourcedIdPairs" attribute for the "GUIDPairSet" class.
Descriptor Definition
Attribute Name sourcedIdPairs
Data Type GUIDPair
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of sourcedId pairs. The order is not significant as each pair contains the information between the original/new values.

5.6 LineItemSet Class Description

The data model for the "LineItemSet" class is shown in Figure 5.6 and the accompanying definition in Table 5.6.

UML diagram of the LineItemSet class.

Figure 5.6 - LineItemSet class definitions.

Table 5.6 Description of the "LineItemSet" class.
Descriptor Definition
Class Name LineItemSet
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of lineItem instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.6.1 "lineItems" Attribute Description

The description of the "lineItems" attribute for the "LineItemSet" class is given in Table 5.6.1.

Table 5.6.1 Description of the "lineItems" attribute for the "LineItemSet" class.
Descriptor Definition
Attribute Name lineItems
Data Type LineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.7 ResultSet Class Description

The data model for the "ResultSet" class is shown in Figure 5.7 and the accompanying definition in Table 5.7.

UML diagram of the ResultSet class.

Figure 5.7 - ResultSet class definitions.

Table 5.7 Description of the "ResultSet" class.
Descriptor Definition
Class Name ResultSet
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of result instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.7.1 "results" Attribute Description

The description of the "results" attribute for the "ResultSet" class is given in Table 5.7.1.

Table 5.7.1 Description of the "results" attribute for the "ResultSet" class.
Descriptor Definition
Attribute Name results
Data Type Result
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of result instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.8 ScoreScaleSet Class Description

The data model for the "ScoreScaleSet" class is shown in Figure 5.8 and the accompanying definition in Table 5.8.

UML diagram of the ScoreScaleSet class.

Figure 5.8 - ScoreScaleSet class definitions.

Table 5.8 Description of the "ScoreScaleSet" class.
Descriptor Definition
Class Name ScoreScaleSet
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of scoreScale instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

5.8.1 "scoreScales" Attribute Description

The description of the "scoreScales" attribute for the "ScoreScaleSet" class is given in Table 5.8.1.

Table 5.8.1 Description of the "scoreScales" attribute for the "ScoreScaleSet" class.
Descriptor Definition
Attribute Name scoreScales
Data Type ScoreScale
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of scoreScale instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

5.9 SingleAssessmentLineItem Class Description

The data model for the "SingleAssessmentLineItem" class is shown in Figure 5.9 and the accompanying definition in Table 5.9.

UML diagram of the SingleAssessmentLineItem class.

Figure 5.9 - SingleAssessmentLineItem class definitions.

Table 5.9 Description of the "SingleAssessmentLineItem" class.
Descriptor Definition
Class Name SingleAssessmentLineItem
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single assessment lineItem instance for a message payload.

5.9.1 "assessmentLineItem" Attribute Description

The description of the "assessmentLineItem" attribute for the "SingleAssessmentLineItem" class is given in Table 5.9.1.

Table 5.9.1 Description of the "assessmentLineItem" attribute for the "SingleAssessmentLineItem" class.
Descriptor Definition
Attribute Name assessmentLineItem
Data Type AssessmentLineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single assessment lineItem for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.10 SingleAssessmentResult Class Description

The data model for the "SingleAssessmentResult" class is shown in Figure 5.10 and the accompanying definition in Table 5.10.

UML diagram of the SingleAssessmentResult class.

Figure 5.10 - SingleAssessmentResult class definitions.

Table 5.10 Description of the "SingleAssessmentResult" class.
Descriptor Definition
Class Name SingleAssessmentResult
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single assessment result instance for a message payload.

5.10.1 "assessmentResult" Attribute Description

The description of the "assessmentResult" attribute for the "SingleAssessmentResult" class is given in Table 5.10.1.

Table 5.10.1 Description of the "assessmentResult" attribute for the "SingleAssessmentResult" class.
Descriptor Definition
Attribute Name assessmentResult
Data Type AssessmentResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single assessment result for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.11 SingleCategory Class Description

The data model for the "SingleCategory" class is shown in Figure 5.11 and the accompanying definition in Table 5.11.

UML diagram of the SingleCategory class.

Figure 5.11 - SingleCategory class definitions.

Table 5.11 Description of the "SingleCategory" class.
Descriptor Definition
Class Name SingleCategory
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single category instance for a message payload.

5.11.1 "category" Attribute Description

The description of the "category" attribute for the "SingleCategory" class is given in Table 5.11.1.

Table 5.11.1 Description of the "category" attribute for the "SingleCategory" class.
Descriptor Definition
Attribute Name category
Data Type Category
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single category for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.12 SingleLineItem Class Description

The data model for the "SingleLineItem" class is shown in Figure 5.12 and the accompanying definition in Table 5.12.

UML diagram of the SingleLineItem class.

Figure 5.12 - SingleLineItem class definitions.

Table 5.12 Description of the "SingleLineItem" class.
Descriptor Definition
Class Name SingleLineItem
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single lineItem instance for a message payload.

5.12.1 "lineItem" Attribute Description

The description of the "lineItem" attribute for the "SingleLineItem" class is given in Table 5.12.1.

Table 5.12.1 Description of the "lineItem" attribute for the "SingleLineItem" class.
Descriptor Definition
Attribute Name lineItem
Data Type LineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single lineItem for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.13 SingleResult Class Description

The data model for the "SingleResult" class is shown in Figure 5.13 and the accompanying definition in Table 5.13.

UML diagram of the SingleResult class.

Figure 5.13 - SingleResult class definitions.

Table 5.13 Description of the "SingleResult" class.
Descriptor Definition
Class Name SingleResult
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single result instance for a message payload.

5.13.1 "result" Attribute Description

The description of the "result" attribute for the "SingleResult" class is given in Table 5.13.1.

Table 5.13.1 Description of the "result" attribute for the "SingleResult" class.
Descriptor Definition
Attribute Name result
Data Type Result
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single result for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.14 SingleScoreScale Class Description

The data model for the "SingleScoreScale" class is shown in Figure 5.14 and the accompanying definition in Table 5.14.

UML diagram of the SingleScoreScale class.

Figure 5.14 - SingleScoreScale class definitions.

Table 5.14 Description of the "SingleScoreScale" class.
Descriptor Definition
Class Name SingleScoreScale
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single scoreScale instance for a message payload.

5.14.1 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "SingleScoreScale" class is given in Table 5.14.1.

Table 5.14.1 Description of the "scoreScale" attribute for the "SingleScoreScale" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScale
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single scoreScale for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

5.15 imsx_StatusInfo Class Description

The data model for the "imsx_StatusInfo" class is shown in Figure 5.15 and the accompanying definition in Table 5.15.

UML diagram of the imsx_StatusInfo class.

Figure 5.15 - imsx_StatusInfo class definitions.

Table 5.15 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Rostering service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class.

5.15.1 "imsx_codeMajor" Attribute Description

The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 5.15.1.

Table 5.15.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | processing | failure | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field.

5.15.2 "imsx_severity" Attribute Description

The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 5.15.2.

Table 5.15.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_severity
Data Type imsx_SeverityEnum
Value Space Enumerated value set of: { status | warning | error }
Scope Local ("-")
Multiplicity [1]
Description The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.

5.15.3 "imsx_description" Attribute Description

The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 5.15.3.

Table 5.15.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description supplied by the entity creating the status code information.

5.15.4 "imsx_CodeMinor" Attribute Description

The description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class is given in Table 5.15.4.

Table 5.15.4 Description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_CodeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.

toc | top

6. The Data Model

6.1. Data Class Descriptions

This Section is NORMATIVE.

All of the data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.

6.1.1 AcadSessionGUIDRef Class Description

The data model for the "AcadSessionGUIDRef" class is shown in Figure 6.1.1 and the accompanying definition in Table 6.1.1.

UML diagram of the AcadSessionGUIDRef class.

Figure 6.1.1 - AcadSessionGUIDRef class definitions.

Table 6.1.1 Description of the "AcadSessionGUIDRef" class.
Descriptor Definition
Class Name AcadSessionGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'Academic Session' object that has an allocated sourcedId (GUID).

6.1.1.1 "type" Attribute Description

The description of the "type" attribute for the "AcadSessionGUIDRef" class is given in Table 6.1.1.1.

Table 6.1.1.1 Description of the "type" attribute for the "AcadSessionGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type AcadSessionGUIDRefTypeEnum
Value Space Enumerated value set of: { academicSession }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. an 'academicSession'.

6.1.2 AssessmentLineItem Class Description

The data model for the "AssessmentLineItem" class is shown in Figure 6.1.2 and the accompanying definition in Table 6.1.2.

UML diagram of the AssessmentLineItem class.

Figure 6.1.2 - AssessmentLineItem class definitions.

Table 6.1.2 Description of the "AssessmentLineItem" class.
Descriptor Definition
Class Name AssessmentLineItem
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Link Data The set of attributes that are used to provide links to other data objects are:
Description This is the container for the definition of an assessment lineItem. An assessment lineItem is a collection of results for a set of students who are completing an assignment.

6.1.2.1 "title" Attribute Description

The description of the "title" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.1.

Table 6.1.2.1 Description of the "title" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The title, human readable, for the assessment lineItem. This should allow the assessment lineItem to be distinguished from its peer assessment lineItems.

6.1.2.2 "description" Attribute Description

The description of the "description" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.2.

Table 6.1.2.2 Description of the "description" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description of the usage of the assessment lineItem.

6.1.2.3 "class" Attribute Description

The description of the "class" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.3.

Table 6.1.2.3 Description of the "class" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name class
Data Type ClassGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the class to which the assessment lineItem has been assigned. Note that an assessment LineItem MAY be assigned tio a class.
Link Data This is the 'sourcedId' of the associated Class i.e. a link to another first class object.
See Class for the details about this link.

6.1.2.4 "parentAssessmentLineItem" Attribute Description

The description of the "parentAssessmentLineItem" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.4.

Table 6.1.2.4 Description of the "parentAssessmentLineItem" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name parentAssessmentLineItem
Data Type AssessmentLineItemGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the parent assessment lineItem. This enables the assessment lineItems to be chained together in a parent/child hierarchy.
Link Data This is the 'sourcedId' of the associated parent AssessmentLineItem i.e. a link to another first class object.
See AssessmentLineItem for the details about this link.

6.1.2.5 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.5.

Table 6.1.2.5 Description of the "scoreScale" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScaleGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the score scale to be used for the lineItem. This attribute was added in the OR 1.2 release.
Link Data This is the 'sourcedId' of the associated ScoreScale i.e. a link to another first class object.
See ScoreScale for the details about this link.

6.1.2.6 "resultValueMin" Attribute Description

The description of the "resultValueMin" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.6.

Table 6.1.2.6 Description of the "resultValueMin" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name resultValueMin
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The minimum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.

6.1.2.7 "resultValueMax" Attribute Description

The description of the "resultValueMax" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.7.

Table 6.1.2.7 Description of the "resultValueMax" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name resultValueMax
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The maximum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.

6.1.2.8 "learningObjectiveSet" Attribute Description

The description of the "learningObjectiveSet" attribute for the "AssessmentLineItem" class is given in Table 6.1.2.8.

Table 6.1.2.8 Description of the "learningObjectiveSet" attribute for the "AssessmentLineItem" class.
Descriptor Definition
Attribute Name learningObjectiveSet
Data Type LearningObjectiveSet
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of identifiers for the learning objectives to which this assessment is aligned. Any number groups of learning objectives can be assigned.
Link Data This is the 'sourcedId' of the associated learning objective(s) i.e. a link to the associated CASE Item(s).
See CFItem for the details about this link.

6.1.3 AssessmentLineItemGUIDRef Class Description

The data model for the "AssessmentLineItemGUIDRef" class is shown in Figure 6.1.3 and the accompanying definition in Table 6.1.3.

UML diagram of the AssessmentLineItemGUIDRef class.

Figure 6.1.3 - AssessmentLineItemGUIDRef class definitions.

Table 6.1.3 Description of the "AssessmentLineItemGUIDRef" class.
Descriptor Definition
Class Name AssessmentLineItemGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'AssessmentLineItem' object that has an allocated sourcedId (GUID).

6.1.3.1 "type" Attribute Description

The description of the "type" attribute for the "AssessmentLineItemGUIDRef" class is given in Table 6.1.3.1.

Table 6.1.3.1 Description of the "type" attribute for the "AssessmentLineItemGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type AssessmentLineItemGUIDRefTypeEnum
Value Space Enumerated value set of: { assessmentLineItem }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. an 'assessmentLineItem'.

6.1.4 AssessmentLineItemSet Class Description

The data model for the "AssessmentLineItemSet" class is shown in Figure 6.1.4 and the accompanying definition in Table 6.1.4.

UML diagram of the AssessmentLineItemSet class.

Figure 6.1.4 - AssessmentLineItemSet class definitions.

Table 6.1.4 Description of the "AssessmentLineItemSet" class.
Descriptor Definition
Class Name AssessmentLineItemSet
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of assessment lineItem instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.4.1 "assessmentLineItems" Attribute Description

The description of the "assessmentLineItems" attribute for the "AssessmentLineItemSet" class is given in Table 6.1.4.1.

Table 6.1.4.1 Description of the "assessmentLineItems" attribute for the "AssessmentLineItemSet" class.
Descriptor Definition
Attribute Name assessmentLineItems
Data Type AssessmentLineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of assessment lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.5 AssessmentResult Class Description

The data model for the "AssessmentResult" class is shown in Figure 6.1.5 and the accompanying definition in Table 6.1.5.

UML diagram of the AssessmentResult class.

Figure 6.1.5 - AssessmentResult class definitions.

Table 6.1.5 Description of the "AssessmentResult" class.
Descriptor Definition
Class Name AssessmentResult
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Link Data The set of attributes that are used to provide links to other data objects are:
Description This is the container for the AssessmentResult record. An assessment result consists of the assigned score plus the context for that score.

6.1.5.1 "assessmentLineItem" Attribute Description

The description of the "assessmentLineItem" attribute for the "AssessmentResult" class is given in Table 6.1.5.1.

Table 6.1.5.1 Description of the "assessmentLineItem" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name assessmentLineItem
Data Type AssessmentLineItemGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the assessment lineItem to which the assessment result is aligned.
Link Data This is the 'sourcedId' of the associated parent AssessmentLineItem i.e. a link to another first class object.
See AssessmentLineItem for the details about this link.

6.1.5.2 "student" Attribute Description

The description of the "student" attribute for the "AssessmentResult" class is given in Table 6.1.5.2.

Table 6.1.5.2 Description of the "student" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name student
Data Type UserGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the student for whom the assessment result is assigned.
Link Data This is the 'sourcedId' of the associated Student i.e. a link to another first class object.
See User for the details about this link.

6.1.5.3 "score" Attribute Description

The description of the "score" attribute for the "AssessmentResult" class is given in Table 6.1.5.3.

Table 6.1.5.3 Description of the "score" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name score
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The score for the result. If a scoreScale is assigned then the value must align with the scale.

6.1.5.4 "textScore" Attribute Description

The description of the "textScore" attribute for the "AssessmentResult" class is given in Table 6.1.5.4.

Table 6.1.5.4 Description of the "textScore" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name textScore
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An optional non-numeric score value. If a scoreScale is assigned then the value must align with the scale.

6.1.5.5 "scoreDate" Attribute Description

The description of the "scoreDate" attribute for the "AssessmentResult" class is given in Table 6.1.5.5.

Table 6.1.5.5 Description of the "scoreDate" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name scoreDate
Data Type Date (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The date at which the score is assigned or there is an update to the result e.g. change in the 'scoreStatus'.. The format is YYYY-MM-DD as defined in [ISO 8601].

6.1.5.6 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "AssessmentResult" class is given in Table 6.1.5.6.

Table 6.1.5.6 Description of the "scoreScale" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScaleGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the scoreScale against which the result is aligned.
Link Data This is the 'sourcedId' of the associated ScoreScale i.e. a link to another first class object.
See ScoreScale for the details about this link.

6.1.5.7 "scorePercentile" Attribute Description

The description of the "scorePercentile" attribute for the "AssessmentResult" class is given in Table 6.1.5.7.

Table 6.1.5.7 Description of the "scorePercentile" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name scorePercentile
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The percentile rank of a score is the percentage of scores in its frequency distribution that are equal to or lower than it.

6.1.5.8 "scoreStatus" Attribute Description

The description of the "scoreStatus" attribute for the "AssessmentResult" class is given in Table 6.1.5.8.

Table 6.1.5.8 Description of the "scoreStatus" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name scoreStatus
Data Type ScoreStatusExtEnum
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The status of the score. The value is from an extensible enumerated vocabulary.

6.1.5.9 "comment" Attribute Description

The description of the "comment" attribute for the "AssessmentResult" class is given in Table 6.1.5.9.

Table 6.1.5.9 Description of the "comment" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name comment
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable comment about the score.

6.1.5.10 "learningObjectiveSet" Attribute Description

The description of the "learningObjectiveSet" attribute for the "AssessmentResult" class is given in Table 6.1.5.10.

Table 6.1.5.10 Description of the "learningObjectiveSet" attribute for the "AssessmentResult" class.
Descriptor Definition
Attribute Name learningObjectiveSet
Data Type LearningObjectiveScoreSet
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of identifiers for the learning objectives to which this result is aligned. Any number groups of learning objectives can be assigned.
Link Data This is the 'sourcedId' of the associated learning objective(s) i.e. a link to the associated CASE Item(s).
See CFItem for the details about this link.

6.1.6 AssessmentResultSet Class Description

The data model for the "AssessmentResultSet" class is shown in Figure 6.1.6 and the accompanying definition in Table 6.1.6.

UML diagram of the AssessmentResultSet class.

Figure 6.1.6 - AssessmentResultSet class definitions.

Table 6.1.6 Description of the "AssessmentResultSet" class.
Descriptor Definition
Class Name AssessmentResultSet
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of assessment result instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.6.1 "assessmentResults" Attribute Description

The description of the "assessmentResults" attribute for the "AssessmentResultSet" class is given in Table 6.1.6.1.

Table 6.1.6.1 Description of the "assessmentResults" attribute for the "AssessmentResultSet" class.
Descriptor Definition
Attribute Name assessmentResults
Data Type AssessmentResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of assessment result instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.7 Base Class Description

The data model for the "Base" class is shown in Figure 6.1.7 and the accompanying definition in Table 6.1.7.

UML diagram of the Base class.

Figure 6.1.7 - Base class definitions.

Table 6.1.7 Description of the "Base" class.
Descriptor Definition
Class Name Base
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the set of common attributes that are available to all of the first class data structures.

6.1.7.1 "sourcedId" Attribute Description

The description of the "sourcedId" attribute for the "Base" class is given in Table 6.1.7.1.

Table 6.1.7.1 Description of the "sourcedId" attribute for the "Base" class.
Descriptor Definition
Attribute Name sourcedId
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record.

6.1.7.2 "status" Attribute Description

The description of the "status" attribute for the "Base" class is given in Table 6.1.7.2.

Table 6.1.7.2 Description of the "status" attribute for the "Base" class.
Descriptor Definition
Attribute Name status
Data Type BaseStatusEnum
Value Space Enumerated value set of: { active | tobedeleted }
Scope Local ("-")
Multiplicity [1]
Description All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.

6.1.7.3 "dateLastModified" Attribute Description

The description of the "dateLastModified" attribute for the "Base" class is given in Table 6.1.7.3.

Table 6.1.7.3 Description of the "dateLastModified" attribute for the "Base" class.
Descriptor Definition
Attribute Name dateLastModified
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.

6.1.7.4 "metadata" Attribute Description

The description of the "metadata" attribute for the "Base" class is given in Table 6.1.7.4.

Table 6.1.7.4 Description of the "metadata" attribute for the "Base" class.
Descriptor Definition
Attribute Name metadata
Data Type Metadata
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description All objects CAN be extended using the Metadata class. This specification is silent on what implementers may consider to be appropriate extensions. The form of the extension is dependent on the binding technology being used.

6.1.8 CategoriesSet Class Description

The data model for the "CategoriesSet" class is shown in Figure 6.1.8 and the accompanying definition in Table 6.1.8.

UML diagram of the CategoriesSet class.

Figure 6.1.8 - CategoriesSet class definitions.

Table 6.1.8 Description of the "CategoriesSet" class.
Descriptor Definition
Class Name CategoriesSet
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of category instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.8.1 "categories" Attribute Description

The description of the "categories" attribute for the "CategoriesSet" class is given in Table 6.1.8.1.

Table 6.1.8.1 Description of the "categories" attribute for the "CategoriesSet" class.
Descriptor Definition
Attribute Name categories
Data Type Category
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of category instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.9 Category Class Description

The data model for the "Category" class is shown in Figure 6.1.9 and the accompanying definition in Table 6.1.9.

UML diagram of the Category class.

Figure 6.1.9 - Category class definitions.

Table 6.1.9 Description of the "Category" class.
Descriptor Definition
Class Name Category
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description A Category is the name given to a grouping of line items (line items being equivalent to assignments which students will complete).

6.1.9.1 "title" Attribute Description

The description of the "title" attribute for the "Category" class is given in Table 6.1.9.1.

Table 6.1.9.1 Description of the "title" attribute for the "Category" class.
Descriptor Definition
Attribute Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The human readable title for the category.

6.1.9.2 "weight" Attribute Description

The description of the "weight" attribute for the "Category" class is given in Table 6.1.9.2.

Table 6.1.9.2 Description of the "weight" attribute for the "Category" class.
Descriptor Definition
Attribute Name weight
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Total weight of this grading category in calculation of the course final score.

6.1.10 CategoryGUIDRef Class Description

The data model for the "CategoryGUIDRef" class is shown in Figure 6.1.10 and the accompanying definition in Table 6.1.10.

UML diagram of the CategoryGUIDRef class.

Figure 6.1.10 - CategoryGUIDRef class definitions.

Table 6.1.10 Description of the "CategoryGUIDRef" class.
Descriptor Definition
Class Name CategoryGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'Category' object that has an allocated sourcedId (GUID).

6.1.10.1 "type" Attribute Description

The description of the "type" attribute for the "CategoryGUIDRef" class is given in Table 6.1.10.1.

Table 6.1.10.1 Description of the "type" attribute for the "CategoryGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type CategoryGUIDRefTypeEnum
Value Space Enumerated value set of: { category }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'category'.

6.1.11 ClassGUIDRef Class Description

The data model for the "ClassGUIDRef" class is shown in Figure 6.1.11 and the accompanying definition in Table 6.1.11.

UML diagram of the ClassGUIDRef class.

Figure 6.1.11 - ClassGUIDRef class definitions.

Table 6.1.11 Description of the "ClassGUIDRef" class.
Descriptor Definition
Class Name ClassGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'Class' object that has an allocated sourcedId (GUID).

6.1.11.1 "type" Attribute Description

The description of the "type" attribute for the "ClassGUIDRef" class is given in Table 6.1.11.1.

Table 6.1.11.1 Description of the "type" attribute for the "ClassGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type ClassGUIDRefTypeEnum
Value Space Enumerated value set of: { class }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'class'.

6.1.12 CourseGUIDRef Class Description

The data model for the "CourseGUIDRef" class is shown in Figure 6.1.12 and the accompanying definition in Table 6.1.12.

UML diagram of the CourseGUIDRef class.

Figure 6.1.12 - CourseGUIDRef class definitions.

Table 6.1.12 Description of the "CourseGUIDRef" class.
Descriptor Definition
Class Name CourseGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'Course' object that has an allocated sourcedId (GUID).

6.1.12.1 "type" Attribute Description

The description of the "type" attribute for the "CourseGUIDRef" class is given in Table 6.1.12.1.

Table 6.1.12.1 Description of the "type" attribute for the "CourseGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type CourseGUIDRefTypeEnum
Value Space Enumerated value set of: { course }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'course'.

6.1.13 GUIDPair Class Description

The data model for the "GUIDPair" class is shown in Figure 6.1.13 and the accompanying definition in Table 6.1.13.

UML diagram of the GUIDPair class.

Figure 6.1.13 - GUIDPair class definitions.

Table 6.1.13 Description of the "GUIDPair" class.
Descriptor Definition
Class Name GUIDPair
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the mapping between the supplied (assigned by the requesting system) and allocated (assigned by the responding system) sourcedIds i.e. GUIDs.

6.1.13.1 "suppliedSourcedId" Attribute Description

The description of the "suppliedSourcedId" attribute for the "GUIDPair" class is given in Table 6.1.13.1.

Table 6.1.13.1 Description of the "suppliedSourcedId" attribute for the "GUIDPair" class.
Descriptor Definition
Attribute Name suppliedSourcedId
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The temporary sourcedId that has been allocated by the requesting system. This sourcedId is used to enable identification of the original record for which the new sourcedId has been allocated at the service provider.

6.1.13.2 "allocatedSourcedId" Attribute Description

The description of the "allocatedSourcedId" attribute for the "GUIDPair" class is given in Table 6.1.13.2.

Table 6.1.13.2 Description of the "allocatedSourcedId" attribute for the "GUIDPair" class.
Descriptor Definition
Attribute Name allocatedSourcedId
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The sourcedId that has been allocated by the system on which the new record has been created.

6.1.14 GUIDPairSet Class Description

The data model for the "GUIDPairSet" class is shown in Figure 6.1.14 and the accompanying definition in Table 6.1.14.

UML diagram of the GUIDPairSet class.

Figure 6.1.14 - GUIDPairSet class definitions.

Table 6.1.14 Description of the "GUIDPairSet" class.
Descriptor Definition
Class Name GUIDPairSet
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the set of sourcedId pairs. This is used to provide the mapping between a set of original/new values allocated to a set of sourcedIds.

6.1.14.1 "sourcedIdPairs" Attribute Description

The description of the "sourcedIdPairs" attribute for the "GUIDPairSet" class is given in Table 6.1.14.1.

Table 6.1.14.1 Description of the "sourcedIdPairs" attribute for the "GUIDPairSet" class.
Descriptor Definition
Attribute Name sourcedIdPairs
Data Type GUIDPair
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of sourcedId pairs. The order is not significant as each pair contains the information between the original/new values.

6.1.15 GUIDRef Class Description

The data model for the "GUIDRef" class is shown in Figure 6.1.15 and the accompanying definition in Table 6.1.15.

UML diagram of the GUIDRef class.

Figure 6.1.15 - GUIDRef class definitions.

Table 6.1.15 Description of the "GUIDRef" class.
Descriptor Definition
Class Name GUIDRef
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for reference to a OneRoster object that has a sourcedId (GUID).

6.1.15.1 "href" Attribute Description

The description of the "href" attribute for the "GUIDRef" class is given in Table 6.1.15.1.

Table 6.1.15.1 Description of the "href" attribute for the "GUIDRef" class.
Descriptor Definition
Attribute Name href
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The URI for the type of object being referenced.

6.1.15.2 "sourcedId" Attribute Description

The description of the "sourcedId" attribute for the "GUIDRef" class is given in Table 6.1.15.2.

Table 6.1.15.2 Description of the "sourcedId" attribute for the "GUIDRef" class.
Descriptor Definition
Attribute Name sourcedId
Data Type GUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The globally unique identifier of the object being referenced.

6.1.16 LearningObjectiveResults Class Description

The data model for the "LearningObjectiveResults" class is shown in Figure 6.1.16 and the accompanying definition in Table 6.1.16.

UML diagram of the LearningObjectiveResults class.

Figure 6.1.16 - LearningObjectiveResults class definitions.

Table 6.1.16 Description of the "LearningObjectiveResults" class.
Descriptor Definition
Class Name LearningObjectiveResults
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a learning objective identifier. This also allows a mastery score to be aligned with the learning objective.

6.1.16.1 "learningObjectiveId" Attribute Description

The description of the "learningObjectiveId" attribute for the "LearningObjectiveResults" class is given in Table 6.1.16.1.

Table 6.1.16.1 Description of the "learningObjectiveId" attribute for the "LearningObjectiveResults" class.
Descriptor Definition
Attribute Name learningObjectiveId
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The unique identifier for the associated learning objective. If this is a CASE identifier it MUST be a valid UUID.

6.1.16.2 "score" Attribute Description

The description of the "score" attribute for the "LearningObjectiveResults" class is given in Table 6.1.16.2.

Table 6.1.16.2 Description of the "score" attribute for the "LearningObjectiveResults" class.
Descriptor Definition
Attribute Name score
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The optional mastery score supplied as a numeric value.

6.1.16.3 "textScore" Attribute Description

The description of the "textScore" attribute for the "LearningObjectiveResults" class is given in Table 6.1.16.3.

Table 6.1.16.3 Description of the "textScore" attribute for the "LearningObjectiveResults" class.
Descriptor Definition
Attribute Name textScore
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The optional mastery score supplied in a non-numeric form.

6.1.17 LearningObjectiveScoreSet Class Description

The data model for the "LearningObjectiveScoreSet" class is shown in Figure 6.1.17 and the accompanying definition in Table 6.1.17.

UML diagram of the LearningObjectiveScoreSet class.

Figure 6.1.17 - LearningObjectiveScoreSet class definitions.

Table 6.1.17 Description of the "LearningObjectiveScoreSet" class.
Descriptor Definition
Class Name LearningObjectiveScoreSet
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the set of learning objective identifiers that are from a single source responsible for creating those identifiers. This also allows a mastery score to be aligned with a learning objective.

6.1.17.1 "source" Attribute Description

The description of the "source" attribute for the "LearningObjectiveScoreSet" class is given in Table 6.1.17.1.

Table 6.1.17.1 Description of the "source" attribute for the "LearningObjectiveScoreSet" class.
Descriptor Definition
Attribute Name source
Data Type SourceExtEnum
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary.

6.1.17.2 "learningObjectiveResults" Attribute Description

The description of the "learningObjectiveResults" attribute for the "LearningObjectiveScoreSet" class is given in Table 6.1.17.2.

Table 6.1.17.2 Description of the "learningObjectiveResults" attribute for the "LearningObjectiveScoreSet" class.
Descriptor Definition
Attribute Name learningObjectiveResults
Data Type LearningObjectiveResults
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of unique identifiers for the associated learning objectives (these may have alignment with a mastery score). If these are CASE identifiers they MUST be valid UUIDs.

6.1.18 LearningObjectiveSet Class Description

The data model for the "LearningObjectiveSet" class is shown in Figure 6.1.18 and the accompanying definition in Table 6.1.18.

UML diagram of the LearningObjectiveSet class.

Figure 6.1.18 - LearningObjectiveSet class definitions.

Table 6.1.18 Description of the "LearningObjectiveSet" class.
Descriptor Definition
Class Name LearningObjectiveSet
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the set of learning objective identifiers that are from a single source responsible for creating those identifiers.

6.1.18.1 "source" Attribute Description

The description of the "source" attribute for the "LearningObjectiveSet" class is given in Table 6.1.18.1.

Table 6.1.18.1 Description of the "source" attribute for the "LearningObjectiveSet" class.
Descriptor Definition
Attribute Name source
Data Type SourceExtEnum
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary.

6.1.18.2 "learningObjectiveIds" Attribute Description

The description of the "learningObjectiveIds" attribute for the "LearningObjectiveSet" class is given in Table 6.1.18.2.

Table 6.1.18.2 Description of the "learningObjectiveIds" attribute for the "LearningObjectiveSet" class.
Descriptor Definition
Attribute Name learningObjectiveIds
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of unique identifiers for the associated learning objectives. If these are CASE identifiers they MUST be valid UUIDs.

6.1.19 LineItem Class Description

The data model for the "LineItem" class is shown in Figure 6.1.19 and the accompanying definition in Table 6.1.19.

UML diagram of the LineItem class.

Figure 6.1.19 - LineItem class definitions.

Table 6.1.19 Description of the "LineItem" class.
Descriptor Definition
Class Name LineItem
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Link Data The set of attributes that are used to provide links to other data objects are:
Description This is the container for the definition of a lineItem. A lineItem is a collection of results for a set of students who are completing an assignment as part of a class at a school.

6.1.19.1 "title" Attribute Description

The description of the "title" attribute for the "LineItem" class is given in Table 6.1.19.1.

Table 6.1.19.1 Description of the "title" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The title, human readable, for the lineItem. This should allow the lineItem to be distinguished from its peer lineItems.

6.1.19.2 "description" Attribute Description

The description of the "description" attribute for the "LineItem" class is given in Table 6.1.19.2.

Table 6.1.19.2 Description of the "description" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description of the usage of the lineItem.

6.1.19.3 "assignDate" Attribute Description

The description of the "assignDate" attribute for the "LineItem" class is given in Table 6.1.19.3.

Table 6.1.19.3 Description of the "assignDate" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name assignDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The date/time the activity being addressed by the lineItem was assigned to the student. This has a format as defined in [ISO 8601].

6.1.19.4 "dueDate" Attribute Description

The description of the "dueDate" attribute for the "LineItem" class is given in Table 6.1.19.4.

Table 6.1.19.4 Description of the "dueDate" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name dueDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The date/time by which the assignment must be completed and submitted. This has the dateTime format as defined in [ISO 8601].

6.1.19.5 "class" Attribute Description

The description of the "class" attribute for the "LineItem" class is given in Table 6.1.19.5.

Table 6.1.19.5 Description of the "class" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name class
Data Type ClassGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the class to which the lineItem has been assigned.
Link Data This is the 'sourcedId' of the associated Class i.e. a link to another first class object.
See Class for the details about this link.

6.1.19.6 "school" Attribute Description

The description of the "school" attribute for the "LineItem" class is given in Table 6.1.19.6.

Table 6.1.19.6 Description of the "school" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name school
Data Type OrgGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the school for whom the lineItem has been assigned. This attribute was added in the OR 1.2 release.
Link Data This is the 'sourcedId' of the associated School i.e. a link to another first class object.
See Org for the details about this link.

6.1.19.7 "category" Attribute Description

The description of the "category" attribute for the "LineItem" class is given in Table 6.1.19.7.

Table 6.1.19.7 Description of the "category" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name category
Data Type CategoryGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the category to which the lineItem has been assigned.
Link Data This is the 'sourcedId' of the associated Category i.e. a link to another first class object.
See Category for the details about this link.

6.1.19.8 "gradingPeriod" Attribute Description

The description of the "gradingPeriod" attribute for the "LineItem" class is given in Table 6.1.19.8.

Table 6.1.19.8 Description of the "gradingPeriod" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name gradingPeriod
Data Type AcadSessionGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the grading period for the lineItem. This attribute was added in the OR 1.2 release.
Link Data This is the 'sourcedId' of the associated GradingPeriod i.e. a link to another first class object.
See AcademicSession for the details about this link.

6.1.19.9 "academicSession" Attribute Description

The description of the "academicSession" attribute for the "LineItem" class is given in Table 6.1.19.9.

Table 6.1.19.9 Description of the "academicSession" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name academicSession
Data Type AcadSessionGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the academic session for the lineItem. This should NOT be defined if the 'gradingPeriod' attribute has been used.
Link Data This is the 'sourcedId' of the associated Academic Session (not a GradingPeriod) i.e. a link to another first class object.
See AcademicSession for the details about this link.

6.1.19.10 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "LineItem" class is given in Table 6.1.19.10.

Table 6.1.19.10 Description of the "scoreScale" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScaleGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the score scale to be used for the lineItem. This attribute was added in the OR 1.2 release.
Link Data This is the 'sourcedId' of the associated ScoreScale i.e. a link to another first class object.
See ScoreScale for the details about this link.

6.1.19.11 "resultValueMin" Attribute Description

The description of the "resultValueMin" attribute for the "LineItem" class is given in Table 6.1.19.11.

Table 6.1.19.11 Description of the "resultValueMin" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name resultValueMin
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The minimum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.

6.1.19.12 "resultValueMax" Attribute Description

The description of the "resultValueMax" attribute for the "LineItem" class is given in Table 6.1.19.12.

Table 6.1.19.12 Description of the "resultValueMax" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name resultValueMax
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The maximum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.

6.1.19.13 "learningObjectiveSet" Attribute Description

The description of the "learningObjectiveSet" attribute for the "LineItem" class is given in Table 6.1.19.13.

Table 6.1.19.13 Description of the "learningObjectiveSet" attribute for the "LineItem" class.
Descriptor Definition
Attribute Name learningObjectiveSet
Data Type LearningObjectiveSet
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of identifiers for the learning objectives to which this assessment is aligned. Any number groups of learning objectives can be assigned.
Link Data This is the 'sourcedId' of the associated learning objective(s) i.e. a link to the associated CASE Item(s).
See CFItem for the details about this link.

6.1.20 LineItemGUIDRef Class Description

The data model for the "LineItemGUIDRef" class is shown in Figure 6.1.20 and the accompanying definition in Table 6.1.20.

UML diagram of the LineItemGUIDRef class.

Figure 6.1.20 - LineItemGUIDRef class definitions.

Table 6.1.20 Description of the "LineItemGUIDRef" class.
Descriptor Definition
Class Name LineItemGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'LineItem' object that has an allocated sourcedId (GUID).

6.1.20.1 "type" Attribute Description

The description of the "type" attribute for the "LineItemGUIDRef" class is given in Table 6.1.20.1.

Table 6.1.20.1 Description of the "type" attribute for the "LineItemGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type LineItemGUIDRefTypeEnum
Value Space Enumerated value set of: { lineItem }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'lineItem'.

6.1.21 LineItemSet Class Description

The data model for the "LineItemSet" class is shown in Figure 6.1.21 and the accompanying definition in Table 6.1.21.

UML diagram of the LineItemSet class.

Figure 6.1.21 - LineItemSet class definitions.

Table 6.1.21 Description of the "LineItemSet" class.
Descriptor Definition
Class Name LineItemSet
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of lineItem instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.21.1 "lineItems" Attribute Description

The description of the "lineItems" attribute for the "LineItemSet" class is given in Table 6.1.21.1.

Table 6.1.21.1 Description of the "lineItems" attribute for the "LineItemSet" class.
Descriptor Definition
Attribute Name lineItems
Data Type LineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.22 Metadata Class Description

The data model for the "Metadata" class is shown in Figure 6.1.22 and the accompanying definition in Table 6.1.22.

UML diagram of the Metadata class.

Figure 6.1.22 - Metadata class definitions.

Table 6.1.22 Description of the "Metadata" class.
Descriptor Definition
Class Name Metadata
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The container for the proprietary extensions.

6.1.22.1 "extensions" Attribute Description

The description of the "extensions" attribute for the "Metadata" class is given in Table 6.1.22.1.

Table 6.1.22.1 Description of the "extensions" attribute for the "Metadata" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

6.1.23 OrgGUIDRef Class Description

The data model for the "OrgGUIDRef" class is shown in Figure 6.1.23 and the accompanying definition in Table 6.1.23.

UML diagram of the OrgGUIDRef class.

Figure 6.1.23 - OrgGUIDRef class definitions.

Table 6.1.23 Description of the "OrgGUIDRef" class.
Descriptor Definition
Class Name OrgGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'Org' object that has an allocated sourcedId (GUID).

6.1.23.1 "type" Attribute Description

The description of the "type" attribute for the "OrgGUIDRef" class is given in Table 6.1.23.1.

Table 6.1.23.1 Description of the "type" attribute for the "OrgGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type OrgGUIDRefTypeEnum
Value Space Enumerated value set of: { org }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. an 'org'.

6.1.24 Result Class Description

The data model for the "Result" class is shown in Figure 6.1.24 and the accompanying definition in Table 6.1.24.

UML diagram of the Result class.

Figure 6.1.24 - Result class definitions.

Table 6.1.24 Description of the "Result" class.
Descriptor Definition
Class Name Result
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Link Data The set of attributes that are used to provide links to other data objects are:
Description This is the container for the Result record. A result consists of the assigned score plus the context for that score.

6.1.24.1 "lineItem" Attribute Description

The description of the "lineItem" attribute for the "Result" class is given in Table 6.1.24.1.

Table 6.1.24.1 Description of the "lineItem" attribute for the "Result" class.
Descriptor Definition
Attribute Name lineItem
Data Type LineItemGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the lineItem to which the result is aligned.
Link Data This is the 'sourcedId' of the associated parent LineItem i.e. a link to another first class object.
See LineItem for the details about this link.

6.1.24.2 "student" Attribute Description

The description of the "student" attribute for the "Result" class is given in Table 6.1.24.2.

Table 6.1.24.2 Description of the "student" attribute for the "Result" class.
Descriptor Definition
Attribute Name student
Data Type UserGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID of the student for whom the result is assigned.
Link Data This is the 'sourcedId' of the associated Student i.e. a link to another first class object.
See User for the details about this link.

6.1.24.3 "class" Attribute Description

The description of the "class" attribute for the "Result" class is given in Table 6.1.24.3.

Table 6.1.24.3 Description of the "class" attribute for the "Result" class.
Descriptor Definition
Attribute Name class
Data Type ClassGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the class to which the result is aligned.
Link Data This is the 'sourcedId' of the associated Class i.e. a link to another first class object.
See Class for the details about this link.

6.1.24.4 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "Result" class is given in Table 6.1.24.4.

Table 6.1.24.4 Description of the "scoreScale" attribute for the "Result" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScaleGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID of the scoreScale against which the result is aligned.
Link Data This is the 'sourcedId' of the associated ScoreScale i.e. a link to another first class object.
See ScoreScale for the details about this link.

6.1.24.5 "scoreStatus" Attribute Description

The description of the "scoreStatus" attribute for the "Result" class is given in Table 6.1.24.5.

Table 6.1.24.5 Description of the "scoreStatus" attribute for the "Result" class.
Descriptor Definition
Attribute Name scoreStatus
Data Type ScoreStatusExtEnum
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The status of the score. The value is from an extensible enumerated vocabulary.

6.1.24.6 "score" Attribute Description

The description of the "score" attribute for the "Result" class is given in Table 6.1.24.6.

Table 6.1.24.6 Description of the "score" attribute for the "Result" class.
Descriptor Definition
Attribute Name score
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The score for the result. If a scoreScale is assigned then the value must align with the scale.

6.1.24.7 "textScore" Attribute Description

The description of the "textScore" attribute for the "Result" class is given in Table 6.1.24.7.

Table 6.1.24.7 Description of the "textScore" attribute for the "Result" class.
Descriptor Definition
Attribute Name textScore
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An optional non-numeric score value. If a scoreScale is assigned then the value must align with the scale. This attribute was added in OR 1.2.

6.1.24.8 "scoreDate" Attribute Description

The description of the "scoreDate" attribute for the "Result" class is given in Table 6.1.24.8.

Table 6.1.24.8 Description of the "scoreDate" attribute for the "Result" class.
Descriptor Definition
Attribute Name scoreDate
Data Type Date (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The date at which the score is assigned or there is an update to the result e.g. change in the 'scoreStatus'. The format is YYYY-MM-DD as defined in [ISO 8601].

6.1.24.9 "comment" Attribute Description

The description of the "comment" attribute for the "Result" class is given in Table 6.1.24.9.

Table 6.1.24.9 Description of the "comment" attribute for the "Result" class.
Descriptor Definition
Attribute Name comment
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable comment about the score.

6.1.24.10 "learningObjectiveSet" Attribute Description

The description of the "learningObjectiveSet" attribute for the "Result" class is given in Table 6.1.24.10.

Table 6.1.24.10 Description of the "learningObjectiveSet" attribute for the "Result" class.
Descriptor Definition
Attribute Name learningObjectiveSet
Data Type LearningObjectiveScoreSet
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of identifiers for the learning objectives to which this result is aligned. Any number groups of learning objectives can be assigned.
Link Data This is the 'sourcedId' of the associated learning objective(s) i.e. a link to the associated CASE Item(s).
See CFItem for the details about this link.

6.1.25 ResultSet Class Description

The data model for the "ResultSet" class is shown in Figure 6.1.25 and the accompanying definition in Table 6.1.25.

UML diagram of the ResultSet class.

Figure 6.1.25 - ResultSet class definitions.

Table 6.1.25 Description of the "ResultSet" class.
Descriptor Definition
Class Name ResultSet
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of result instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.25.1 "results" Attribute Description

The description of the "results" attribute for the "ResultSet" class is given in Table 6.1.25.1.

Table 6.1.25.1 Description of the "results" attribute for the "ResultSet" class.
Descriptor Definition
Attribute Name results
Data Type Result
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of result instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.26 ScoreScale Class Description

The data model for the "ScoreScale" class is shown in Figure 6.1.26 and the accompanying definition in Table 6.1.26.

UML diagram of the ScoreScale class.

Figure 6.1.26 - ScoreScale class definitions.

Table 6.1.26 Description of the "ScoreScale" class.
Descriptor Definition
Class Name ScoreScale
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Link Data The set of attributes that are used to provide links to other data objects are:
Description The container for the definition Score Scale mapping i.e. the relationship between two score scales.

6.1.26.1 "title" Attribute Description

The description of the "title" attribute for the "ScoreScale" class is given in Table 6.1.26.1.

Table 6.1.26.1 Description of the "title" attribute for the "ScoreScale" class.
Descriptor Definition
Attribute Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The human readable title for the score scale mapping.

6.1.26.2 "type" Attribute Description

The description of the "type" attribute for the "ScoreScale" class is given in Table 6.1.26.2.

Table 6.1.26.2 Description of the "type" attribute for the "ScoreScale" class.
Descriptor Definition
Attribute Name type
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The type of score scale mapping. At present there is no predefined vocabulary. This should be used by an organization to differentiate between the score scales that it produces.

6.1.26.3 "course" Attribute Description

The description of the "course" attribute for the "ScoreScale" class is given in Table 6.1.26.3.

Table 6.1.26.3 Description of the "course" attribute for the "ScoreScale" class.
Descriptor Definition
Attribute Name course
Data Type CourseGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The GUID for the course for which this scale will be used.
Link Data This is the 'sourcedId' of the associated Course i.e. a link to another first class object.
See Course for the details about this link.

6.1.26.4 "class" Attribute Description

The description of the "class" attribute for the "ScoreScale" class is given in Table 6.1.26.4.

Table 6.1.26.4 Description of the "class" attribute for the "ScoreScale" class.
Descriptor Definition
Attribute Name class
Data Type ClassGUIDRef
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The GUID for the class for which this scale will be used.
Link Data This is the 'sourcedId' of the associated Class i.e. a link to another first class object.
See Class for the details about this link.

6.1.26.5 "scoreScaleValue" Attribute Description

The description of the "scoreScaleValue" attribute for the "ScoreScale" class is given in Table 6.1.26.5.

Table 6.1.26.5 Description of the "scoreScaleValue" attribute for the "ScoreScale" class.
Descriptor Definition
Attribute Name scoreScaleValue
Data Type ScoreScaleValue
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The set of mappings for this score scale.

6.1.27 ScoreScaleGUIDRef Class Description

The data model for the "ScoreScaleGUIDRef" class is shown in Figure 6.1.27 and the accompanying definition in Table 6.1.27.

UML diagram of the ScoreScaleGUIDRef class.

Figure 6.1.27 - ScoreScaleGUIDRef class definitions.

Table 6.1.27 Description of the "ScoreScaleGUIDRef" class.
Descriptor Definition
Class Name ScoreScaleGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'ScoreScale' object that has an allocated sourcedId (GUID).

6.1.27.1 "type" Attribute Description

The description of the "type" attribute for the "ScoreScaleGUIDRef" class is given in Table 6.1.27.1.

Table 6.1.27.1 Description of the "type" attribute for the "ScoreScaleGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type ScoreScaleGUIDRefTypeEnum
Value Space Enumerated value set of: { scoreScale }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'scoreScale'.

6.1.28 ScoreScaleSet Class Description

The data model for the "ScoreScaleSet" class is shown in Figure 6.1.28 and the accompanying definition in Table 6.1.28.

UML diagram of the ScoreScaleSet class.

Figure 6.1.28 - ScoreScaleSet class definitions.

Table 6.1.28 Description of the "ScoreScaleSet" class.
Descriptor Definition
Class Name ScoreScaleSet
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a collection of scoreScale instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.

6.1.28.1 "scoreScales" Attribute Description

The description of the "scoreScales" attribute for the "ScoreScaleSet" class is given in Table 6.1.28.1.

Table 6.1.28.1 Description of the "scoreScales" attribute for the "ScoreScaleSet" class.
Descriptor Definition
Attribute Name scoreScales
Data Type ScoreScale
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The collection of scoreScale instances. The order is not significant. The corresponding query constraints may result in no instances being returned.

6.1.29 ScoreScaleValue Class Description

The data model for the "ScoreScaleValue" class is shown in Figure 6.1.29 and the accompanying definition in Table 6.1.29.

UML diagram of the ScoreScaleValue class.

Figure 6.1.29 - ScoreScaleValue class definitions.

Table 6.1.29 Description of the "ScoreScaleValue" class.
Descriptor Definition
Class Name ScoreScaleValue
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A specific mapping of values between two score scales. The left hand side (LHS) value is the reference point. Examples of this mapping are: '7' maps to 'A', '7'-'10' maps to 'A', etc.

6.1.29.1 "itemValueLHS" Attribute Description

The description of the "itemValueLHS" attribute for the "ScoreScaleValue" class is given in Table 6.1.29.1.

Table 6.1.29.1 Description of the "itemValueLHS" attribute for the "ScoreScaleValue" class.
Descriptor Definition
Attribute Name itemValueLHS
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The left hand side value of the mapping relationship. The format is either a single value ('x') or a range ('x' - 'y'). In the case of a single value this is considered to be the inclusive lower value for the implied range. When a range is specified (lower-to-upper) the values are inclusive.

6.1.29.2 "itemValueRHS" Attribute Description

The description of the "itemValueRHS" attribute for the "ScoreScaleValue" class is given in Table 6.1.29.2.

Table 6.1.29.2 Description of the "itemValueRHS" attribute for the "ScoreScaleValue" class.
Descriptor Definition
Attribute Name itemValueRHS
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The right hand side value of the mapping relationship i.e. the equivalent value to the reference point defined in the LHS.

6.1.30 SingleAssessmentLineItem Class Description

The data model for the "SingleAssessmentLineItem" class is shown in Figure 6.1.30 and the accompanying definition in Table 6.1.30.

UML diagram of the SingleAssessmentLineItem class.

Figure 6.1.30 - SingleAssessmentLineItem class definitions.

Table 6.1.30 Description of the "SingleAssessmentLineItem" class.
Descriptor Definition
Class Name SingleAssessmentLineItem
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single assessment lineItem instance for a message payload.

6.1.30.1 "assessmentLineItem" Attribute Description

The description of the "assessmentLineItem" attribute for the "SingleAssessmentLineItem" class is given in Table 6.1.30.1.

Table 6.1.30.1 Description of the "assessmentLineItem" attribute for the "SingleAssessmentLineItem" class.
Descriptor Definition
Attribute Name assessmentLineItem
Data Type AssessmentLineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single assessment lineItem for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.31 SingleAssessmentResult Class Description

The data model for the "SingleAssessmentResult" class is shown in Figure 6.1.31 and the accompanying definition in Table 6.1.31.

UML diagram of the SingleAssessmentResult class.

Figure 6.1.31 - SingleAssessmentResult class definitions.

Table 6.1.31 Description of the "SingleAssessmentResult" class.
Descriptor Definition
Class Name SingleAssessmentResult
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single assessment result instance for a message payload.

6.1.31.1 "assessmentResult" Attribute Description

The description of the "assessmentResult" attribute for the "SingleAssessmentResult" class is given in Table 6.1.31.1.

Table 6.1.31.1 Description of the "assessmentResult" attribute for the "SingleAssessmentResult" class.
Descriptor Definition
Attribute Name assessmentResult
Data Type AssessmentResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single assessment result for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.32 SingleCategory Class Description

The data model for the "SingleCategory" class is shown in Figure 6.1.32 and the accompanying definition in Table 6.1.32.

UML diagram of the SingleCategory class.

Figure 6.1.32 - SingleCategory class definitions.

Table 6.1.32 Description of the "SingleCategory" class.
Descriptor Definition
Class Name SingleCategory
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single category instance for a message payload.

6.1.32.1 "category" Attribute Description

The description of the "category" attribute for the "SingleCategory" class is given in Table 6.1.32.1.

Table 6.1.32.1 Description of the "category" attribute for the "SingleCategory" class.
Descriptor Definition
Attribute Name category
Data Type Category
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single category for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.33 SingleLineItem Class Description

The data model for the "SingleLineItem" class is shown in Figure 6.1.33 and the accompanying definition in Table 6.1.33.

UML diagram of the SingleLineItem class.

Figure 6.1.33 - SingleLineItem class definitions.

Table 6.1.33 Description of the "SingleLineItem" class.
Descriptor Definition
Class Name SingleLineItem
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single lineItem instance for a message payload.

6.1.33.1 "lineItem" Attribute Description

The description of the "lineItem" attribute for the "SingleLineItem" class is given in Table 6.1.33.1.

Table 6.1.33.1 Description of the "lineItem" attribute for the "SingleLineItem" class.
Descriptor Definition
Attribute Name lineItem
Data Type LineItem
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single lineItem for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.34 SingleResult Class Description

The data model for the "SingleResult" class is shown in Figure 6.1.34 and the accompanying definition in Table 6.1.34.

UML diagram of the SingleResult class.

Figure 6.1.34 - SingleResult class definitions.

Table 6.1.34 Description of the "SingleResult" class.
Descriptor Definition
Class Name SingleResult
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single result instance for a message payload.

6.1.34.1 "result" Attribute Description

The description of the "result" attribute for the "SingleResult" class is given in Table 6.1.34.1.

Table 6.1.34.1 Description of the "result" attribute for the "SingleResult" class.
Descriptor Definition
Attribute Name result
Data Type Result
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single result for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.35 SingleScoreScale Class Description

The data model for the "SingleScoreScale" class is shown in Figure 6.1.35 and the accompanying definition in Table 6.1.35.

UML diagram of the SingleScoreScale class.

Figure 6.1.35 - SingleScoreScale class definitions.

Table 6.1.35 Description of the "SingleScoreScale" class.
Descriptor Definition
Class Name SingleScoreScale
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single scoreScale instance for a message payload.

6.1.35.1 "scoreScale" Attribute Description

The description of the "scoreScale" attribute for the "SingleScoreScale" class is given in Table 6.1.35.1.

Table 6.1.35.1 Description of the "scoreScale" attribute for the "SingleScoreScale" class.
Descriptor Definition
Attribute Name scoreScale
Data Type ScoreScale
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description The instance of the single scoreScale for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned.

6.1.36 UserGUIDRef Class Description

The data model for the "UserGUIDRef" class is shown in Figure 6.1.36 and the accompanying definition in Table 6.1.36.

UML diagram of the UserGUIDRef class.

Figure 6.1.36 - UserGUIDRef class definitions.

Table 6.1.36 Description of the "UserGUIDRef" class.
Descriptor Definition
Class Name UserGUIDRef
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description This is the container for reference to a OneRoster 'User' object that has an allocated sourcedId (GUID).

6.1.36.1 "type" Attribute Description

The description of the "type" attribute for the "UserGUIDRef" class is given in Table 6.1.36.1.

Table 6.1.36.1 Description of the "type" attribute for the "UserGUIDRef" class.
Descriptor Definition
Attribute Name type
Data Type UserGUIDRefTypeEnum
Value Space Enumerated value set of: { user }
Scope Local ("-")
Multiplicity [1]
Description The type of object being referenced i.e. a 'user'.

6.1.37 imsx_CodeMinor Class Description

The data model for the "imsx_CodeMinor" class is shown in Figure 6.1.37 and the accompanying definition in Table 6.1.37.

UML diagram of the imsx_CodeMinor class.

Figure 6.1.37 - imsx_CodeMinor class definitions.

Table 6.1.37 Description of the "imsx_CodeMinor" class.
Descriptor Definition
Class Name imsx_CodeMinor
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the set of code minor status codes reported in the responses from the Service Provider.

6.1.37.1 "imsx_codeMinorField" Attribute Description

The description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class is given in Table 6.1.37.1.

Table 6.1.37.1 Description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class.
Descriptor Definition
Attribute Name imsx_codeMinorField
Data Type imsx_CodeMinorField
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description Each reported code minor status code.

6.1.38 imsx_CodeMinorField Class Description

The data model for the "imsx_CodeMinorField" class is shown in Figure 6.1.38 and the accompanying definition in Table 6.1.38.

UML diagram of the imsx_CodeMinorField class.

Figure 6.1.38 - imsx_CodeMinorField class definitions.

Table 6.1.38 Description of the "imsx_CodeMinorField" class.
Descriptor Definition
Class Name imsx_CodeMinorField
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for a single code minor status code.

6.1.38.1 "imsx_codeMinorFieldName" Attribute Description

The description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class is given in Table 6.1.38.1.

Table 6.1.38.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class.
Descriptor Definition
Attribute Name imsx_codeMinorFieldName
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Default = "TargetEndSystem".
Scope Local ("-")
Multiplicity [1]
Description This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'TargetEndSystem'.

6.1.38.2 "imsx_codeMinorFieldValue" Attribute Description

The description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class is given in Table 6.1.38.2.

Table 6.1.38.2 Description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class.
Descriptor Definition
Attribute Name imsx_codeMinorFieldValue
Data Type imsx_CodeMinorValueEnum
Value Space Enumerated value set of: { fullsuccess | invalid_filter_field | invalid_selection_field | invaliddata | unauthorisedrequest | internal_server_error | server_busy | deletefailure | unknownobject | forbidden }
Scope Local ("-")
Multiplicity [1]
Description The code minor status code (this is a value from the corresponding enumerated vocabulary).

6.1.39 imsx_StatusInfo Class Description

The data model for the "imsx_StatusInfo" class is shown in Figure 6.1.39 and the accompanying definition in Table 6.1.39.

UML diagram of the imsx_StatusInfo class.

Figure 6.1.39 - imsx_StatusInfo class definitions.

Table 6.1.39 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Rostering service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class.

6.1.39.1 "imsx_codeMajor" Attribute Description

The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 6.1.39.1.

Table 6.1.39.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | processing | failure | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field.

6.1.39.2 "imsx_severity" Attribute Description

The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 6.1.39.2.

Table 6.1.39.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_severity
Data Type imsx_SeverityEnum
Value Space Enumerated value set of: { status | warning | error }
Scope Local ("-")
Multiplicity [1]
Description The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.

6.1.39.3 "imsx_description" Attribute Description

The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 6.1.39.3.

Table 6.1.39.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable description supplied by the entity creating the status code information.

6.1.39.4 "imsx_CodeMinor" Attribute Description

The description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class is given in Table 6.1.39.4.

Table 6.1.39.4 Description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_CodeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.

6.2. Derived Class Descriptions

This Section is NORMATIVE.

All of the derived data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.

6.2.1 GUID Class Description

The data model for the "GUID" class is shown in Figure 6.2.1 and the accompanying definition in Table 6.2.1.

UML diagram of the GUID class.

Figure 6.2.1 - GUID class definitions.

Table 6.2.1 Description of the "GUID" class.
Descriptor Definition
Class Name GUID
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID.

6.2.2 Identifier Class Description

The data model for the "Identifier" class is shown in Figure 6.2.2 and the accompanying definition in Table 6.2.2.

UML diagram of the Identifier class.

Figure 6.2.2 - Identifier class definitions.

Table 6.2.2 Description of the "Identifier" class.
Descriptor Definition
Class Name Identifier
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The data-type for a local unique identifier. The scope of the uniqueness of this identifier is determined by the organization assigning it.

6.2.3 ScoreStatusExtString Class Description

The data model for the "ScoreStatusExtString" class is shown in Figure 6.2.3 and the accompanying definition in Table 6.2.3.

UML diagram of the ScoreStatusExtString class.

Figure 6.2.3 - ScoreStatusExtString class definitions.

Table 6.2.3 Description of the "ScoreStatusExtString" class.
Descriptor Definition
Class Name ScoreStatusExtString
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The data-type that enables the score status enumerated vocabulary to be extended.

6.2.3.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "ScoreStatusExtString" class is given in Table 6.2.3.

Table 6.2.3 Description of the "pattern" attribute for the "ScoreStatusExtString" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Default = "(ext:)[a-zA-Z0-9\.\-_]+".
Scope Local ("-")
Multiplicity [1]
Description The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'.

6.2.4 SourceExtensionString Class Description

The data model for the "SourceExtensionString" class is shown in Figure 6.2.4 and the accompanying definition in Table 6.2.4.

UML diagram of the SourceExtensionString class.

Figure 6.2.4 - SourceExtensionString class definitions.

Table 6.2.4 Description of the "SourceExtensionString" class.
Descriptor Definition
Class Name SourceExtensionString
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This data-type ensures that the free-form entry does NOT have the value 'case' or 'unknown'.

6.2.4.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "SourceExtensionString" class is given in Table 6.2.4.

Table 6.2.4 Description of the "pattern" attribute for the "SourceExtensionString" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Default = "^/(?!case$)(?!unknown$)[a-z0-9]+$".
Scope Local ("-")
Multiplicity [1]
Description This regular expression ensures that the free-form entry does NOT have the value 'case' or 'unknown'.

6.2.5 UUID Class Description

The data model for the "UUID" class is shown in Figure 6.2.5 and the accompanying definition in Table 6.2.5.

UML diagram of the UUID class.

Figure 6.2.5 - UUID class definitions.

Table 6.2.5 Description of the "UUID" class.
Descriptor Definition
Class Name UUID
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The data-type for establishing a CASE-compliant Globally Unique Identifier (GUID) [CASE, 17]. The form of the CASE GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.

6.2.5.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "UUID" class is given in Table 6.2.5.

Table 6.2.5 Description of the "pattern" attribute for the "UUID" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Default = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}".
Scope Local ("-")
Multiplicity [1]
Description Defines the regular expression that imposes the form of UUID.

6.3. Enumerated Vocabulary Descriptions

This Section is NORMATIVE.

All of the enumerated vocabularies used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.4.

6.3.1 AcadSessionGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'Academic Session'. The data model for the "AcadSessionGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.1 and the accompanying vocabulary definition in Table 6.3.1.

UML diagram of the AcadSessionGUIDRefTypeEnum class.

Figure 6.3.1 - AcadSessionGUIDRefTypeEnum class definitions.

Table 6.3.1 Description of the "AcadSessionGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
academicSession An object that is an 'Academic Session'.

6.3.2 AssessmentLineItemGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'AssessmentLineItem'. The data model for the "AssessmentLineItemGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.2 and the accompanying vocabulary definition in Table 6.3.2.

UML diagram of the AssessmentLineItemGUIDRefTypeEnum class.

Figure 6.3.2 - AssessmentLineItemGUIDRefTypeEnum class definitions.

Table 6.3.2 Description of the "AssessmentLineItemGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
assessmentLineItem An object that is an 'AssessmentLineItem'.

6.3.3 BaseStatusEnum Vocabulary Description

The set of permitted values for the type of status of a record. The data model for the "BaseStatusEnum" enumerated class is shown in Figure 6.3.3 and the accompanying vocabulary definition in Table 6.3.3.

UML diagram of the BaseStatusEnum class.

Figure 6.3.3 - BaseStatusEnum class definitions.

Table 6.3.3 Description of the "BaseStatusEnum" enumerated vocabulary terms.
Term Definition
active An active record.
tobedeleted Denotes that it is safe to delete the record.

6.3.4 CategoryGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'Category'. The data model for the "CategoryGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.4 and the accompanying vocabulary definition in Table 6.3.4.

UML diagram of the CategoryGUIDRefTypeEnum class.

Figure 6.3.4 - CategoryGUIDRefTypeEnum class definitions.

Table 6.3.4 Description of the "CategoryGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
category An object that is an 'Category'.

6.3.5 ClassGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'Class'. The data model for the "ClassGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.5 and the accompanying vocabulary definition in Table 6.3.5.

UML diagram of the ClassGUIDRefTypeEnum class.

Figure 6.3.5 - ClassGUIDRefTypeEnum class definitions.

Table 6.3.5 Description of the "ClassGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
class An object that is an 'Class'.

6.3.6 CourseGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'Course'. The data model for the "CourseGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.6 and the accompanying vocabulary definition in Table 6.3.6.

UML diagram of the CourseGUIDRefTypeEnum class.

Figure 6.3.6 - CourseGUIDRefTypeEnum class definitions.

Table 6.3.6 Description of the "CourseGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
course An object that is an 'Course'.

6.3.7 LineItemGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'LineItem'. The data model for the "LineItemGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.7 and the accompanying vocabulary definition in Table 6.3.7.

UML diagram of the LineItemGUIDRefTypeEnum class.

Figure 6.3.7 - LineItemGUIDRefTypeEnum class definitions.

Table 6.3.7 Description of the "LineItemGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
lineItem An object that is an 'LineItem'.

6.3.8 OrgGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'Org'. The data model for the "OrgGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.8 and the accompanying vocabulary definition in Table 6.3.8.

UML diagram of the OrgGUIDRefTypeEnum class.

Figure 6.3.8 - OrgGUIDRefTypeEnum class definitions.

Table 6.3.8 Description of the "OrgGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
org An object that is an 'Org'.

6.3.9 ScoreScaleGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'ScoreScale'. The data model for the "ScoreScaleGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.9 and the accompanying vocabulary definition in Table 6.3.9.

UML diagram of the ScoreScaleGUIDRefTypeEnum class.

Figure 6.3.9 - ScoreScaleGUIDRefTypeEnum class definitions.

Table 6.3.9 Description of the "ScoreScaleGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
scoreScale An object that is an 'ScoreScale'.

6.3.10 ScoreStatusEnum Vocabulary Description

The vocabulary for the permitted set of tokens for the status of the score for a result. The data model for the "ScoreStatusEnum" enumerated class is shown in Figure 6.3.10 and the accompanying vocabulary definition in Table 6.3.10.

UML diagram of the ScoreStatusEnum class.

Figure 6.3.10 - ScoreStatusEnum class definitions.

Table 6.3.10 Description of the "ScoreStatusEnum" enumerated vocabulary terms.
Term Definition
exempt The result is exempt i.e. this score does NOT contribute to any summative assessment.
fully graded The result is fully graded.
in progress The assignment being graded is in progress and so scoring is not yet possible.
incomplete The assignment to be graded is incomplete and so grading has not yet started.
late The submission from the student is/was late.
missing The submission from this learner is missing and so cannot be graded.
not submitted The result is not submitted.
partially graded The result is partially graded. Further scoring will be undertaken and this score must NOT be used in summative assessment i.e. it must become 'fully graded'.
submitted The learner has submitted the work for grading but grading has not yet been undertaken.
withdrawal The student has been withdrawn from this course/class and so the assignment will not be graded.

6.3.11 SourceEnum Vocabulary Description

The predefined vocabulary for the source that was responsible for creating the learning objective identifiers. The data model for the "SourceEnum" enumerated class is shown in Figure 6.3.11 and the accompanying vocabulary definition in Table 6.3.11.

UML diagram of the SourceEnum class.

Figure 6.3.11 - SourceEnum class definitions.

Table 6.3.11 Description of the "SourceEnum" enumerated vocabulary terms.
Term Definition
case The learning objective identifier is a CASE UUID as defined in the IMS CASE specification [CASE, 17].
unknown The source responsible for creating the learning objectives identifiers is unknown.

6.3.12 UserGUIDRefTypeEnum Vocabulary Description

This is the fixed enumeration for a GUIDRef that points to an 'User'. The data model for the "UserGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.12 and the accompanying vocabulary definition in Table 6.3.12.

UML diagram of the UserGUIDRefTypeEnum class.

Figure 6.3.12 - UserGUIDRefTypeEnum class definitions.

Table 6.3.12 Description of the "UserGUIDRefTypeEnum" enumerated vocabulary terms.
Term Definition
user An object that is an 'User'.

6.3.13 imsx_CodeMajorEnum Vocabulary Description

The permitted vocabulary for the values for the CodeMajor field. The data model for the "imsx_CodeMajorEnum" enumerated class is shown in Figure 6.3.13 and the accompanying vocabulary definition in Table 6.3.13.

UML diagram of the imsx_CodeMajorEnum class.

Figure 6.3.13 - imsx_CodeMajorEnum class definitions.

Table 6.3.13 Description of the "imsx_CodeMajorEnum" enumerated vocabulary terms.
Term Definition
failure Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields.
processing Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services.
success Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation.

6.3.14 imsx_CodeMinorValueEnum Vocabulary Description

The permitted vocabulary for the values for the CodeMinorValue field. The data model for the "imsx_CodeMinorValueEnum" enumerated class is shown in Figure 6.3.14 and the accompanying vocabulary definition in Table 6.3.14.

UML diagram of the imsx_CodeMinorValueEnum class.

Figure 6.3.14 - imsx_CodeMinorValueEnum class definitions.

Table 6.3.14 Description of the "imsx_CodeMinorValueEnum" enumerated vocabulary terms.
Term Definition
deletefailure The deletion request has failed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '200' for a successful 'GET' request; '201' for a successful 'PUT' request; '204' for a successful 'DELETE' request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.
invalid_filter_field An invalid filter field was supplied and so the filtering was not possible. No data has been reurned. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
invalid_selection_field An invalid selection field was supplied and data filtering on the selection criteria was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
invaliddata This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorisedrequest The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'.
unknownobject The supplied identifier is unknown in the Service Provider and so the object could not be changed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '404'.

6.3.15 imsx_SeverityEnum Vocabulary Description

The permitted vocabulary for the values for the Severity field. The data model for the "imsx_SeverityEnum" enumerated class is shown in Figure 6.3.15 and the accompanying vocabulary definition in Table 6.3.15.

UML diagram of the imsx_SeverityEnum class.

Figure 6.3.15 - imsx_SeverityEnum class definitions.

Table 6.3.15 Description of the "imsx_SeverityEnum" enumerated vocabulary terms.
Term Definition
error A significant error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request).
status The request has been completed and a response was received from the Service Provider.
warning The request has only been partially completed. For an asynchronous service a further response should be expected.

6.4. Union Class Descriptions

The set of union classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.

6.4.1 ScoreStatusExtEnum Class Description

The data model for the "ScoreStatusExtEnum" class is shown in Figure 6.4.1 and the accompanying definition in Table 6.4.1.

UML diagram of the ScoreStatusExtEnum class.

Figure 6.4.1 - ScoreStatusExtEnum class definitions.

Table 6.4.1 Description of the "ScoreStatusExtEnum" class.
Descriptor Definition
Class Name ScoreStatusExtEnum
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description This is an extensible vocabulary data-type for the status of the score being submitted.

6.4.2 SourceExtEnum Class Description

The data model for the "SourceExtEnum" class is shown in Figure 6.4.2 and the accompanying definition in Table 6.4.2.

UML diagram of the SourceExtEnum class.

Figure 6.4.2 - SourceExtEnum class definitions.

Table 6.4.2 Description of the "SourceExtEnum" class.
Descriptor Definition
Class Name SourceExtEnum
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description This is an extensible vocabulary data-type for the source creating the learning objective identifiers.

toc | top

7. Link Data Definitions

This Section is NORMATIVE.

All of the link data for the relationships used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.7.

7.1 AcademicSession Link Data Description

The description for the "AcademicSession" link data class is shown in Figure 7.1 and defined in Table 7.1.

UML diagram of the AcademicSession link data definition.

Figure 7.1 - AcademicSession link data definition.

Table 7.1 Description of the "AcademicSession" link data class.
Descriptor Definition
Target Class Name AcademicSession
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
AcadSessionGUIDRef.sourcedId
Target Attribute/
Characteristic Name
AcademicSession.sourcedId
Parent Class Name Not Applicable
Description This link is to an Academic Session. The sourcedId of the target academic session instance is supplied. This sourcedId can then be used to obtain the academic session using the appropriate endpoint.

7.2 AssessmentLineItem Link Data Description

The description for the "AssessmentLineItem" link data class is shown in Figure 7.2 and defined in Table 7.2.

UML diagram of the AssessmentLineItem link data definition.

Figure 7.2 - AssessmentLineItem link data definition.

Table 7.2 Description of the "AssessmentLineItem" link data class.
Descriptor Definition
Target Class Name AssessmentLineItem
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
AssessmentLineItemGUIDRef.sourcedId
Target Attribute/
Characteristic Name
AssessmentLineItem.sourcedId
Parent Class Name Not Applicable
Description This link is to an AssessmentLineItem. The sourcedId of the target assessment lineitem instance is supplied. This sourcedId can then be used to obtain the assessment lineitem using the appropriate endpoint.

7.3 CFItem Link Data Description

The description for the "CFItem" link data class is shown in Figure 7.3 and defined in Table 7.3.

UML diagram of the CFItem link data definition.

Figure 7.3 - CFItem link data definition.

Table 7.3 Description of the "CFItem" link data class.
Descriptor Definition
Target Class Name CFItem
Link Type CASEItemId - the link is to the learning objective description (contained within an IMS CASE Item definition).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
LearningObjectiveScoreSet.learningObjectiveIds
Target Attribute/
Characteristic Name
Not Applicable
Parent Class Name Not Applicable
Description This link is to a set of CASE UUIDs for a CFItem. The UUID of the target CFItem instance is supplied. This UUID can then be used to obtain the CFItem using the appropriate IMS CASE endpoint.

7.4 Category Link Data Description

The description for the "Category" link data class is shown in Figure 7.4 and defined in Table 7.4.

UML diagram of the Category link data definition.

Figure 7.4 - Category link data definition.

Table 7.4 Description of the "Category" link data class.
Descriptor Definition
Target Class Name Category
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
CategoryGUIDRef.sourcedId
Target Attribute/
Characteristic Name
Category.sourcedId
Parent Class Name Not Applicable
Description This link is to a Category. The sourcedId of the target category instance is supplied. This sourcedId can then be used to obtain the category using the appropriate endpoint.

7.5 Class Link Data Description

The description for the "Class" link data class is shown in Figure 7.5 and defined in Table 7.5.

UML diagram of the Class link data definition.

Figure 7.5 - Class link data definition.

Table 7.5 Description of the "Class" link data class.
Descriptor Definition
Target Class Name Class
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
ClassGUIDRef.sourcedId
Target Attribute/
Characteristic Name
Class.sourcedId
Parent Class Name Not Applicable
Description This link is to a Class. The sourcedId of the target class instance is supplied. This sourcedId can then be used to obtain the class using the appropriate endpoint.

7.6 Course Link Data Description

The description for the "Course" link data class is shown in Figure 7.6 and defined in Table 7.6.

UML diagram of the Course link data definition.

Figure 7.6 - Course link data definition.

Table 7.6 Description of the "Course" link data class.
Descriptor Definition
Target Class Name Course
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
CourseGUIDRef.sourcedId
Target Attribute/
Characteristic Name
Course.sourcedId
Parent Class Name Not Applicable
Description This link is to a Course. The sourcedId of the target course instance is supplied. This sourcedId can then be used to obtain the course using the appropriate endpoint.

7.7 LineItem Link Data Description

The description for the "LineItem" link data class is shown in Figure 7.7 and defined in Table 7.7.

UML diagram of the LineItem link data definition.

Figure 7.7 - LineItem link data definition.

Table 7.7 Description of the "LineItem" link data class.
Descriptor Definition
Target Class Name LineItem
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
LineItemGUIDRef.sourcedId
Target Attribute/
Characteristic Name
LineItem.sourcedId
Parent Class Name Not Applicable
Description This link is to a LineItem. The sourcedId of the target lineitem instance is supplied. This sourcedId can then be used to obtain the lineitem using the appropriate endpoint.

7.8 Org Link Data Description

The description for the "Org" link data class is shown in Figure 7.8 and defined in Table 7.8.

UML diagram of the Org link data definition.

Figure 7.8 - Org link data definition.

Table 7.8 Description of the "Org" link data class.
Descriptor Definition
Target Class Name Org
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
OrgGUIDRef.sourcedId
Target Attribute/
Characteristic Name
Org.sourcedId
Parent Class Name Not Applicable
Description This link is to an Org. The sourcedId of the target org instance is supplied. This sourcedId can then be used to obtain the org using the appropriate endpoint.

7.9 ScoreScale Link Data Description

The description for the "ScoreScale" link data class is shown in Figure 7.9 and defined in Table 7.9.

UML diagram of the ScoreScale link data definition.

Figure 7.9 - ScoreScale link data definition.

Table 7.9 Description of the "ScoreScale" link data class.
Descriptor Definition
Target Class Name ScoreScale
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
ScoreScaleGUIDRef.sourcedId
Target Attribute/
Characteristic Name
ScoreScale.sourcedId
Parent Class Name Not Applicable
Description This link is to a ScoreScale. The sourcedId of the target score scale instance is supplied. This sourcedId can then be used to obtain the score scale using the appropriate endpoint.

7.10 User Link Data Description

The description for the "User" link data class is shown in Figure 7.10 and defined in Table 7.10.

UML diagram of the User link data definition.

Figure 7.10 - User link data definition.

Table 7.10 Description of the "User" link data class.
Descriptor Definition
Target Class Name User
Link Type SourcedId - the link is to another first class object that has been assigned an interoperability identifier (the sourcedId).
Link Sources The set of source classes that point to an object using this form of link are:
Source Attribute/
Characteristic Name
UserGUIDRef.sourcedId
Target Attribute/
Characteristic Name
User.sourcedId
Parent Class Name Not Applicable
Description This link is to a User. The sourcedId of the target user instance is supplied. This sourcedId can then be used to obtain the user using the appropriate endpoint.

toc | top

8. Extending and Profiling the Service

This Section is NOT NORMATIVE.

8.1. Extending the Specification

Proprietary extensions of the service are based upon two approaches:

It is NOT permitted to change the behavior of the current set of operations. Such changes MUST be supported by the creation of new operations.

8.1.1. Proprietary Operations

The definition of new operations should follow the same format as adopted herein. The new operations should be defined using a new interface type. Every operation must result in the return of a status code that describes the final state of the request on the target end system.

An example of creating such an extension is given in the accompanying Best Practices document [OR-IMPL-12].

8.1.2. Proprietary Data Elements

It is recognized that implementers may wish to extend the specification. The preferred mechanism for doing this is for implementers to use an extension space within the OneRoster data model, and then set their parsers to read those extension attributes. Extensions are ONLY permitted using the 'metadata' attribute within the 'Base' class (see Sub-section 6.1.2 for more details).

8.1.3. Proprietary Vocabulary Terms

In this version the ability to extend some of the enumerated vocabularies has been added: currently, ONLY the 'ScoreStatusEnum' and 'SourceEnum' vocabularies MAY be extended. Each proprietary term must start with the characters 'ext:'.

8.2. Profilng the Specification

This Service can be profiled. In general, Profiling is used to:

Valid Profiles must be restrictive i.e. optional features can be removed or constraints increased but new features must not be added. A Profile of this service is made by annotating the UML supplied with the documentation for the specification.

It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of IMS Global. However, no matter who is responsible for creating the profile artefacts (documents, OpenAPI files, XSDs, etc.), it is strongly recommended that the IMS specification tools are used. This will ensure that the artefacts are consistent with the base specifications and that useful support documentation is automatically produced e.g. creation of a document that summarises the differences between the base specification and the profile. Organizations wishing to produce a profile of this specification should contact Lisa Mattson (IMS Global Chief Operations Officer) at: lmattson@imsglobal.org.

toc | top

References

[CASE, 17] Competencies and Academic Standards Exchange (CASE) Service, B.Grogan, G.Nadeau, C.Smythe and J.Hobson, IMS Global Learning Consortium Inc., July 2017, https://www.imsglobal.org/sites/default/files/CASE/casev1p0/information_model/caseservicev1p0_infomodelv1p0.html.
[I-BAT, 06] IMS Binding Auto-generation Toolkit (I-BAT), C.Smythe, IMS Global Learning Consortium Inc., July 2006.
[ISO 8601] ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000.
[OR-CERT-12] IMS OneRoster 1.2 Conformance and Certification Final Release 1.0, Colin Smythe, Joshua McGhee and Matt Richards, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/oneroster/v1p2/cert.
[OR-GBK-RJ-12] IMS OneRoster 1.2 Gradebook Service REST/JSON Binding Final Release 1.0, Colin Smythe, Joshua McGhee and Matt Richards, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/oneroster/v1p2/gradebook/bind/rest.
[OR-IMPL-12] IMS OneRoster 1.2 Implementation Guide Final Release 1.0, Colin Smythe, Joshua McGhee and Matt Richards, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/oneroster/v1p2/impl.
[OR-RES-SM-12] IMS OneRoster 1.2 Resources Service Final Release 1.0, Colin Smythe, Joshua McGhee and Matt Richards, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/oneroster/v1p2/resource/info.
[OR-ROS-SM-12] IMS OneRoster 1.2 Rostering Service Final Release 1.0, Colin Smythe, Joshua McGhee and Matt Richards, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/oneroster/v1p2/rostering/info.
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF (RFC 2119), March 1997, https://tools.ietf.org/pdf/rfc2119.pdf.
[RFC 2617] HTTP Authentication: Basic and Digest Access Authentication, J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen and L. Stewart, IETF (RFC 2167), 1999, https://tools.ietf.org/pdf/rfc2617.pdf.
[RFC 3066] Tags for the Identification of Languages, H.Alvestrand, IETF (RFC 3066), January 2001, https://www.ietf.org/rfc/rfc3066.txt.
[RFC 6749] The OAuth 2.0 Authorization Framework,, D.Hardt, IETF (RFC 6749), 2012, https://tools.ietf.org/pdf/rfc6749.pdf.
[RFC 6750] The OAuth 2.0 Authorization Framework: Bearer Token Usage, D.Hardt, IETF (RFC 6750), 2012, https://tools.ietf.org/pdf/rfc6750.pdf.
[Security, 21] IMS Security Framework 1.1, C.Smythe, N.Mills, C.Vervoort and M.Mckell, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/security/v1p1/.
[UNICODE, 16] UNICODE Collation Algorithm Version 9.0, M.Davis, K.Whistler and M.Scheer, Unicode Technical Standard #10, May 2016.
[VDEX, 04] IMS Vocabulary Definition Exchange (VDEX) 1.0, A.Cooper, IMS Global Learning Consortium Inc., February 2004, https://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.

toc | top

Appendix A Modelling Concepts and Terms

A1 Behavior Descriptions Explanations

This section is NOT NORMATIVE.

A1.1 Service Model Diagrams

Table A1.1 provides the key to the descriptions of service model diagrams.

Table A1.1 The key to the descriptions of service model diagrams.
Feature Definition and Usage
Service Model Package Each synchronous or asynchronous service model description is enclosed in a UML Package that has the stereotype of « serviceModel » under which is the name of the service being described. A service must have at least one Interface (the breakdown of the service into the component transactions is a design decision).
Interface Class Each interface description is enclosed in a UML Package that has the stereotype of « Interface » under which is the name of the interface being described. An interface is a collection of operations that support a common set of transaction objectives. An interface must have at least one operation. An Interface class has no attributes.
Operation Description The behaviors provided by an interface are defined by the set of operations. Each operation must have a unique name and is accompanied by the set of parameters that are sent to the service (in) and those returned by the service (out). An operation can also have a formal return parameter whose form and usage depends upon the actual binding realisation. The description may also include a stereotype for the identification of the nature operation e.g. read, create, etc.

A1.2 Operation Descriptions

Table A1.2 provides the key to the descriptions of the operation tables.

Table A1.2 The key to the operation description tables.
Descriptor Definition
Name The name given to the operation being described. In the case of an interface, by definition, every operation has the scope value of global denoted by the "+" symbol before the name.
Stereotype Before the name of the operation there may be a stereotype classifier. This is used to provide information about the nature of the behavior of the operation. The permitted set of stereotype values and their meaning are:
  • « create » - indicates that a request is being made to create a new object/resource where the requester provides the associated unique identifier;
  • « createbp » - indicates that a request is being made to create a new object/resource where the responder provides the associated unique identifier;
  • « read » - indicates that a request is being made to read an existing object/resource;
  • « update » - indicates that a request is being made to update an existing object/resource i.e. an additive write;
  • « delete » - indicates that a request is being made to delete an existing object/resource;
  • « replace » - indicates that a request is being made to replace an existing object/resource i.e. a destructive write;
  • « query » - indicates that a request is being made to search for objects/resources according to a defined set of search criteria;
  • « publish » - indicates that a request is being made by a publisher in a publish and subscribe binding;
  • « subscribe » - indicates that a request is being made by a subscriber in a publish and subscribe binding.
Return Function Parameter The formal return parameter for the operation/method returned for the transaction request (the form in which this information is provided depends on the realisation of the binding). The description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model. In situations where there is no return function this entry will be set to "void"
Supplied (in) Parameters The list of parameters that are sent from the client to the end-service in the service request message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model.
Supplied (out) Parameters The list of parameters that are returned from the end-service in the service response message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model.
Behavior A description of the behavior of the operation.
Notes Further information on the behavior particularly in the context of the use of other operations and the relationship to the behaviors of those operations.

A2 InterfaceDescriptions Explanations

This section is NOT NORMATIVE.

A2.1 Parameter Model Diagrams

Table A2.1 provides the key to the descriptions of parameter data model diagrams.

Table A2.1 The key to the descriptions of parameter model diagrams.
Feature Definition and Usage
Data Model Package Each parameter data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the class being described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity).
Attribute Description Each class contains a set of attributes. Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A2.3 for a more complete description).
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.

A2.2 Class Descriptions

Table A2.2 provides the key to the descriptions of the parameter data class tables.

Table A2.2 The key to the descriptions of the data class tables.
Descriptor Definition
Class Name The name given to the class being described.
Class Type The nature of the class (for a parameter data-type this must not be an abstract class). This is described as a "Container [...]" with the value of "..." being (see Appendix A2.1 for the meaning of these values):
  • "DerivedType"
  • "Sequence"
  • "Selection"
  • "Unordered"
Parents This is the list of operations for which this class is a data-type for one or more of the parameters. Each entry is linked to the corresponding operation description.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those that are grouped under a corresponding stereotyped attribute class. Each child is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type.
Description Contains descriptions relating to the class and its properties and relationships.

A2.3 Attribute Descriptions

Table A2.3 provides the key to the descriptions of the data attributes for the data classes for the operation parameters.

Table A2.3 The key to the descriptions of the data attribute tables.
Descriptor Definition
Attribute Name The name given to the attribute being described.
Data Type This is the data-type of the attribute. It can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition);
  • Primtive Data-types - this is the same list as defined under the "Attribute and Characteristic" description (see later in this Appendix for these definitions).
Value Space The range of valid values for this class (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute with permitted values of:
  • Local - denoted by "-" and meaning the attribue has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..unbounded" [optional; unrestricted]
  • "1..1" [mandatory; restricted]
  • "1..unbounded" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute and its values space.

A3 Data Model Descriptions Explanantions

This section is NOT NORMATIVE.

A3.1 Data Model Diagrams

Table A3.1 provides the key to the descriptions of data model diagrams.

Table A3.1 The key to the descriptions of data model diagrams.
Feature Definition and Usage
Data Model Package Each data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the data model diagram being described. Only one logical data model can be described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Enumerated List Class This is a class that is identified by the stereotype « EnumeratedList » under which is the name of the enumerated list data-type. The enumeration list class consists of the list of tokens that are the permitted values of the assigned attribute. A list of tokens is permitted using comma separation.
PrimitiveType Class This is a class that is identified by the stereotype « PrimitiveType » under which is the name of the primitive data-type. A PrimitiveType is one of the many base data-types on which a data model can be built (see Appendix A3.3 for the set of primitive types that are available).
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). If the stereotype and associated name of the class are in italics this denotes the class is abstract.
List Class This is a class that is identified by the stereotype « List » under which is the name of the data-type. A list class is one in which the associated instance will consist of a list of objects that conform to the permitted data-types of the list (the superclasses for the list class). The terms in the list are separated by a space.
Union Class This is a class that is identified by the stereotype « Union » under which is the name of the data-type. A union class is one in which the associated instance will consist of a objects that conform to the any of the permitted data-types of the union (the superclasses for the union class).
Characteristic Description Many classes contain a set of characteristics (the set of characteristics are listed under the stereotype « Characteristics »). Each characteristic description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note that when bound to XSD/XML, a characteristic is mapped to an XML attribute.
Attribute Description Many classes contain a set of attributes (the set of attributes are listed under the stereotype « Attributes »). Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note when bound to XSD/XML, an attribute is mapped to an XML element.
Aggregation Arrow This is an arrow with a white diamond head to indicate that the child class is an aggregate structure to the parent class i.e. the child class may exist without the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Generalization Arrow This is an arrow with a white arrow head to indicate the class/superclass relationship. The arrow points in the direction of generality i.e. from the class to the super class.

toc | top

A3.2 Class Descriptions

Table A3.2 provides the key to the descriptions of the data class tables.

Table A3.2 The key to the descriptions of the data class tables.
Category Definition
Class Name The name given to the class being described.
Class Type The nature of the class. This is described as a "Container [...]" or "Abstract Container [...]". The value of "..." being (see Appendix A3.1 for the meaning of these values):
  • "DerivedType"
  • "List"
  • "Selection"
  • "Sequence"
  • "Union"
  • "Unordered"
If the container is also marked as "Mixed" then the children are permitted to include text as well as attributes.
Parents This is the list of classes that contain the class being described as either the type of a child characteristic or attribute. In the case of a Root Class the entry is also labelled as "Root Class".
Derived Classes The set of classes that are derived from this class (there may be none). The entries are linked to the corresponding class descriptions.
Super Classes The set of super classes from which the class being described is derived (there may be none). The entries are linked to the corresponding class descriptions.
Characteristics Lists the set of characteristics for this class. The list of characteristics includes those that are inherited. Each characteristic is linked to the corresponding characteristic description table.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those attributes that are inherited. Each child entry is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. If the child is in italics this denotes a reference to an abstract class and that an instance would NOT contain a child of that name but would be replaced by a complex set of children as defined by the associated abstract class.
Link Data Lists the set of attributes for this class that are used to provide links to other data objects in the data model. Many types of link references are available. This row is ONLY shown when the class contains at least one link data definition.
Description Contains descriptions relating to the class and its properties and relationships.

toc | top

A3.3 Attribute and Characteristic Descriptions

Table A3.3 provides the key to the descriptions of the data attributes/characteristics for the data classes.

Table A3.3 The key to the descriptions of the data attribute/characteristic tables.
Category Definition
Attribute Name or Characteristic Name The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic.
Data Type This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition elsewhere in this document);
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension and the form of that extension is dependent on the type of binding);
    • AnyURI - the AnyURI data-type (absolute or relative URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the [ISO 8601] format);
    • DateTime - the date/time data-type (using the [ISO 8601] format);
    • Decimal - the decimal data-type (a variable precision number that is either positive or negative);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Duration - the duration data-type (using the [ISO 8601] format)
    • Empty - the associated instance must be empty i.e. no child attributes;
    • Float - the float data-type (single precision floating point number - 32bit);
    • ID - the unique identifier data-type (the scope is constrained to the instance file);
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type with a numeric value from -2147483648 to 2147483647;
    • Integer - the integer data-type (this is derived from the "decimal" data-type i.e. no decimal places);
    • Language - the language data-type as defined in [RFC 5646];
    • Name - the Name data-type as per the XML 1.0 definition);
    • Namespace - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models);
    • NamespaceLax - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models but being lax on the validation);
    • NonNegativeInteger - the non-negative integer data-type (this is derived from the "integer" data-type) i.e. an integer that is zero or higher;
    • NCName - the NCName data-type (derived from the Name data-type i.e. non-colonized name);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • PositiveInteger - the positive integer data-type (this is derived from the "nonNegativeinteger" data-type) i.e. an integer that is one or higher;
    • String - the normalized string data type;
    • Time - the time data-type (using the [ISO 8601] format).
Value Space The range of valid values for this attribute/characteristic (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute/characteristic with permitted values of:
  • Local - denoted by "-" and meaning the attribute/characteristic has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute/characteristic has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute/characteristic indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute/characteristic and its values space.
Link Data Contains the description of the link data definition. A link to the corresponding detailed link data description is supplied. This row is ONLY shown when the attribute/characteristice is a link data definition.

toc | top

A3.4 Enumerated Vocabulary Descriptions

Table A3.4 provides the key to the descriptions of the enumerated vocabulary classes. These are vocabularies that will be contained within the binding form itself. They are contained within a class that has a stereotype of either « Enumeration » or « EnumeratedList ».

Table A3.4 The key to the descriptions of the enumerated vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used.

toc | top

A3.5 External Vocabulary Descriptions

Table A3.5 provides the key to the descriptions of the external vocabulary classes. These are vocabularies that will be contained in some independent format e.g. using the IMS VDEX [VDEX, 04].

Table A3.5 The key to the descriptions of the external vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used. This consists of the "Caption" and "Description" of the vocabulary term. The caption is used to provide a human readable label for the term.

toc | top

A3.6 Import Class Descriptions

Table A3.6 provides the key to the descriptions of the import classes.

Table A3.6 The key to the descriptions of the imported class tables.
Category Definition
Import Class Name The name of the class.
Parent Classes The list of parent classes, and the associated children, that use this imported class. Each class and attribute name has a link to its corresponding tabular description in the information model.
Description The description of how the class is used within the data model.

toc | top

A3.7 Link Data Descriptions

Table A3.7 provides the key to the descriptions of the link data definitions.

Table A3.7 The key to the descriptions of the link data tables.
Category Definition
Target Class Name This is the name of the target class i.e. the destination point of the link reference.
Link Type This is the type of link that is being used. The types of link available are:
  • "SourcedId" - this link is through interoperability identifier for the target object i.e. the object can be obtained by using this sourceId with the corresponding service call;
  • "IntraParentClassId" - this link is between two attributes/characteristics that are contained within the same parent class;
  • "CPResourceId" - this link is to a resource contained within an IMS Content Package/IMS Common Cartridge/Thin Common Cartridge manifest. The reference value is that assigned to the "identifier" of the resource in the package/cartridge manifest;
  • "CASEItemId" - this link is to the learning objective description (contained within an IMS CASE Item definition).
Link Sources This is the set of classes that contain attributes/characteristics which use the link data defined by this entry. A link to the attribute/characteristic is provided.
Source Attribute This is the attribute/characteristic in the source object that contains the identifier of the target object (a characteristic name MUST start with an "@"). This will only be supplied if the pointer is contained within a substructure within the source object. If there is no source the statement "Not Applicable" will be displayed.
Target Attribute This is the attribute/characteristic in the target class which is the container for the identifier of the object being identified (a characteristic name MUST start with an "@"). It is the value for this identifier which MUST be supplied in the source object. For "CPResourceId" link types the fixed value of "@identifier" will be given. If there is no target the statement "Not Applicable" will be displayed.
Parent Class Name This is the name of the class that contains both the source and target attributes/characteristics. This value will only be supplied for the "IntraParentClassId" link types. If there is no parent class name the statement "Not Applicable" will be displayed.
Description The description of how the link data is used within the data model.

toc | top

A3.8 Common Data Model Persistent Identifier Descriptions

Table A3.8 provides the key to the descriptions of the common data model persistent identifier definitions.

Table A3.8 The key to the descriptions of the common data model persistent identifier tables.
Category Definition
Name This is the name of the data model component which has been assigned a common data model persistent identifier.
Type This is the type of link that is being used. The types of link available are:
  • "Class (...)" - a complex data model component i.e. it contains one or more properties;
  • "Property" - a property of a parent Class;
  • "Enumerated Vocabulary Term" - the term/token within an enumerated vocabulary
Persistent Identifier The common data model persistent identifier that has been assigned to this data model component. By definition, this is a unique (within the context of the IMS Common Data Model) and very long-lived identifier

toc | top

Appendix B Service Status Codes

This Section is NORMATIVE

When a behavior-based IMS service model is developed each operation is required to return status information. This status information provides contextual information about the completed success or otherwise of the operation. There are two types of status information that are available to the end-systems:

B1 Definition of the Status Codes

The status information for the business transactions is carried in a single status information object that contains the following sub-structures:

The interpretation of the "CodeMajor/Severity" behavior matrix is summarized in Table B1.1.

Table B1.1 Interpretation of the "CodeMajor/Severity" behavior matrix.
Severity CodeMajor
"Success" "Processing" "Failure" "Unsupported"
"Status" The transaction request has been completed successfully. The transaction request is being processed at the destination i.e. the request has been received and acknowledged. This combination is used in asynchronous services. The transaction request has failed. The detailed reason will be reported in the accompanying "codeMinor" fields. The destination service handler does not support the requested operation. This is the required default response for an unsupported operation by an implementation.
"Warning" Some of the request has been completed successfully e.g. partial data storage, etc. The request has been transmitted but acknowledgement of receipt at the destination has not been received. This combination is used in asynchronous services. Not permitted. Not permitted.
"Error" Not permitted. An error has been detected in the immediate transmission communications handler i.e. the message has not left the local end-system. There has been a failure in the end-to-end system communications mechanism and so the request has not been delivered. The destination service handler does not recognise the requested operation i.e. it is an unknown service extension.

B1.1 Definition of the "CodeMajor" Values

The set of codes used for the "codeMajor" status code field are defined in Table B1.2.

Table B1.2 Definition of the "CodeMajor" status code values.
Status Code Description
success Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response.
processing Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services.
failure Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation.

B1.2 Definition of the "Severity" Values

The set of codes used for the "severity" status code field are defined in Table B1.3.

Table B1.3 Definition of the "Severity" status code values.
Status Code Description
status The request has been completed and a response was received from the Service Provider.
warning The request has only been partially completed. For an asynchronous service a further response should be expected.
wrror A significant error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request).

B1.3 Definition of the "CodeMinor" Values

The set of codes used for the "codeMinor" status code field are defined in Table B1.4.

Table B1.4 Definition of the "CodeMinor" status code field values.
Status Code Description
createsuccess The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '201' for a successful 'PUT' request.
deletesuccess The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '204' for a successful 'DELETE' request.
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
internalservererror This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.
invaliddata This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'.
invalidfilterfield An invalid filter field was supplied and so the filtering was not possible. No data has been reurned. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
invalidselectionfield An invalid selection field was supplied and data filtering on the selection criteria was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
invalidsortfield An invalid sort field was supplied and sorting was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
readsuccess The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '200' for a successful 'GET' request.
replacesuccess The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '201' for a successful 'PUT' request.
serverbusy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorisedrequest The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'.
unknownobject The supplied identifier is unknown in the Service Provider and so the object could not be changed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '404'.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.

toc | top

About this Document

Title: IMS OneRoster Gradebook Service v1.2
Editors: Colin Smythe (IMS Global, UK)

Co-chairs: Matt Richards (Infinite Campus, USA)

Version: 1.0
Version Date: 1st July 2021
Status: IMS Candidate Final Public
Summary: This is the OneRoster 1.2 Gradebook Service specification. This service provides the management of Results, LineItems (groups of Results aligned to an assessed activity), Categories (groups of LineItems), ScoreScales (introduced in this version), AssessmentLineItems (introduced in this version) and AssessmentResults (introduced in this version). This service is made available as a REST/JSON based binding to support gradebook data exchange.

Revision Information: The first release of the OneRoster 1.2 Gradebook Service specification based upon the I-BAT.
Purpose: For general public release.
Document Location: https://www.imsglobal.org/spec/oneroster/v1p2/gradebook/info

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Eric Adams Kimono (USA)
Arthur Barstow McGraw-Hill Education (USA)
Barry Brahier Infinite Campus (USA)
Vijay Dhanaraj Classlink (USA)
Linda Feng Unicon (USA)
Viktor Haag Desire2Learn (Canada)
Richard Heim LearningMate (USA)
Oxana Jurosevic Instructure (USA)
Mike Kastraa Desire2Learn (Canada)
Lisa Mattson IMS Global (USA)
David Mayes Gwinnett County Schools (USA)
Joshua McGhee IMS Global (USA)
Phil Nicholls IMS Global (UK)
Padraig O'hiceadha HMH (UK)
George Perreault Classlink (USA)
Matthew Richards Infinite Campus (USA)
Kurt Rompot Pearson (USA)
Marc Sheftel Pearson (USA)
Colin Smythe IMS Global (UK)
Konrad Stimeling K12 Inc (USA)
Matt Vella Schoology (USA)
TJ Vering Microsoft (USA)
Stanley Watts Classlink (USA)
Mike Zackerson Instructure (USA)

toc | top

Revision History

Version No. Release Date Comments
Final 1.0 / Document 1.0 1st July, 2015 First release of the OneRoster Service specification.
Final 1.1 / Document 1.0 1st November, 2016 This second release of the OneRoster Services includes new operations to create and delete single objects, support for the exchange of Result, LineItem, Category and Resource objects.
Candidate Final Public Release 1.2/ Document 1.0 July 2021 This is the first release of the OneRoster 1.2 Gradebook Service as a standalone document. Significant new functionality has been added since the OR 1.1 release including new methods and new data model features. Also, the new endpoints/data model have been added to support the Results Management functionality.

toc | top

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global 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 Global would appreciate receiving your comments and suggestions.

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

Please refer to Document Name: IMS OneRoster Gradebook Service v1.2

Date: 1st July 2021

toc | top