OneRoster Gradebook Service
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.
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:
- OneRoster Rostering Service 1EdTech OneRoster 1.2 Rostering Service Model Final Release 1.0 - to enable the rostering of people on classes;
- OneRoster Gradebook Service - described in this document;
- OneRoster Resources Service 1EdTech OneRoster 1.2 Resources Services Final Release 1.0 - to enable the exchange of information about the resources allocated to classes, courses and users.
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.
Introduction
This Section is NOT NORMATIVE.
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:
- OneRoster 1.2 Gradebook Service REST/JSON Binding IMS OneRoster 1.2 Gradebook Service REST/JSON Binding Final Release 1.0 - the description of the REST/JSON binding, including the OpenAPI description, of the Information Model;
- OneRoster 1.2 Best Practices and Implementation Guide 1EdTech OneRoster 1.2 Implementation Guide Final Release 1.0 - the recommended best practices for implementing the set of OneRoster services;
- OneRoster 1.2 Conformance and Certification 1EdTech OneRoster 1.2 Conformance and Certification Final Release 1.0 - the conformance guidelines for achieving OneRoster Resources certification.
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 1EdTech Model Driven Specification approach and the associated modelling toolkit 1EdTech Binding Auto-generation Toolkit (I-BAT). This means that this specification is based upon the concepts of:
- Interoperability - the OneRoster Gradebook service focuses on the exchange of results and lineItems i.e. the components of a gradebook. There are no definitions in the specification on how the data is managed within the end-systems;
- Service-oriented - the OneRoster Gradebook service specification defines the exchange of information in terms of the services being supplied by the collaboration of the systems.
Conventions
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY, MUST, MUST NOT, NOT RECOMMENDED, NOT REQUIRED, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, and SHOULD NOT in this document $are to be interpreted as described in Key words for use in RFCs to Indicate Requirement Levels.
An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.
The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.
Changes in Gradebook Service 1.2
The set of changes made between OR 1.1 and OR 1.2 with respect to gradebook are:
- The Gradebook parts of the OneRoster specification have been separated out into their own Service Model and REST/JSON Binding documents;
- The endpoints have been annotated as '/ims/oneroster/gradebook/v1p2' to replace the '/ims/oneroster/v1p1';
- The usage of the terms from CEDS/SCED for vocabularies have been removed so that the appropriate localised vocabularies MAY be used (see the Implementation Guide 1EdTech OneRoster 1.2 Implementation Guide Final Release 1.0 for more details);
- Support for the exchange of 'Score Scales' has been added. The following set of endpoints have been added to the 'ScoreScales Management' interface:-
- getAllScoreScales()
- getScoreScale()
- deleteScoreScale()
- putScoreScale()
- Support for the exchange of 'Assessment LineItems' has been added. The following set of endpoints have been added to the 'AssessmentLineItems Management' interface:-
- getAllAssessmentLineItems()
- getAssessmentLineItem()
- deleteAssessmentLineItem()
- putAssessmentLineItem()
- Support for the exchange of 'Assessment Results' has been added. The following set of endpoints have been added to the 'AssessmentResults Management' interface:-
- getAllAssessmentResults()
- getAssessmentResult()
- deleteAssessmentResult()
- putAssessmentResult()
- The following endpoint has been added to the 'LineItems Management' interface:-
- postResultsForLineItem()
- The following endpoints have been added to the 'Classes Management' interface:-
- getScoreScalesForClass()
- getAcademicStandardIdsForClass()
- postResultsForAcademicSessionForClass()
- postLineItemsForClass
- The following endpoints have been added to the 'Schools Management' interface:-
- getScoreScalesForSchool()
- getAcademicStandardIdsForSchool()
- postLineItemForSchool()
- The 'ScoreScale' and accompanying classes have been added to the data model;
- The 'AssessmentLineItem' and accompanying classes have been added to the data model;
- The 'AssessmentResult' and accompanying classes have been added to the data model;
- The 'weight' attribute has been added to the 'Category' class;
- The 'scoreScale', 'gradingPeriod', 'learningObjectiveSet' and 'school' attributes have been added to the 'LineItem' class;
- The 'resultValueMin' and 'resultValueMax' attributes in the 'LineItem' class have been made optional (instead of required);
- The 'scoreScale', 'textScore, 'class' and 'learningObjectiveSet' attributes have been added to the 'Result' class;
- The 'LearningObjectiveSet', 'LearningObjectiveIdSet', 'LearningObjectiveScoreSet' and 'LearningObjectiveResults' classes has been defined for use with the 'learningObjectiveSet' attributes;
- The permitted tokens in the 'scoreStatus' attribute in the 'Result' class has been expanded with new values of { late, incomplete, missing, withdrawal, in progress };
- Use of OAuth 1.0a message signing has been removed. The use of OAuth 2.0 Bearer Tokens (Client Credentials Grant) is required instead. The security architecture has been aligned to the IMS Security Framework 1EdTech Security Framework 1.1 Final Release
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
Use-cases
This Section is NOT NORMATIVE.
The set of use-cases addressed by the OR Gradebook Service are summarised in Table 2.1.
| 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 Competencies and Academic Standards Exchange (CASE) Service). 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). |
| [Table 2.1 - The list of use-cases enabled by this OneRoster service.] |
Service Architecture and Specification Model
This Section is NOT NORMATIVE.
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.
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 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.

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.
Gradebooks and Assessment Results
The Gradebook Service enables the exchange of gradebooks. A schematic representation of a gradebook is shown in Figure 3.2.

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:
- In this representation the class consists of sixs people who have each been assigned a score (result) for each of the eight assignments they have completed;
- The eight assignments are represented using eight 'lineItems' i.e. a 1-to-1 mapping;
- Five categories have been defined i.e. groups of lineItems culminating in the 'category' to represent the 'Year Programme';
- A 'ScoreScale' definition will be required to convert the scores assigned for the 'English Test' (letter) to an equivalent numeric value to enable an overall numeric result to be assigned to the 'English Course' and so 'Year Programme'.
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.

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:
- A LineItem MUST be aligned to a 'class' whereas an AssessmentLineItem is aligned to an assessment activity and MAY be aligned with a 'class';
- An AssessmentLineItem can reference a parent AssessmentLineItem i.e. hierarchical AssessmentLineItem structures are possible.
The management of AssessmentLineItems and AssessmentResults is achieved using a separate set of operations i.e. not using the original LineItem and Result operations.
Service Objects
The set of single objects that can be exchanged between OR Gradebook end-systems are:
- An 'category' - a collection of lineItems (there is no restriction on why a group has been created or how it is used);
- A 'lineItem' - a set of results assigned to the class list;
- A 'result' - this includes the score for the assignment and all of the contextual information e.g. date, status, etc.
- A 'scoreScale' - an equivalence mapping between two scales use for marking an assignment (added in version 1.2);
- An 'assessmentLineItem' - a set of results assigned to an assessment (added in version 1.2);
- An 'assessmentResult' - this includes the score for the assessment and all of the contextual information (added in version 1.2).
The set of collection objects that can be exchanged between OR Gradebook end-systems are:
- A collection of 'categories';
- A collection of 'lineItems';
- A collection of 'results';
- A collection of 'scoreScales' (added in version 1.2);
- A collection of 'assessmentLineItem' (added in version 1.2);
- A collection of 'assessmentResults' (added in version 1.2).
The relationships between the core classes in OR Gradebook are shown in Figure 3.4.

Figure 3.4 - The relationships between the core classes in the Gradebook data model.
The key relationships shown in Figure 3.4 are:
- A 'lineItem' is aligned to a 'class' and an 'academicSession' in an 'org' (school);
- A 'lineItem' will consist of a set of results with only one result per user;
- A 'result' is assigned to a 'user' and a 'user' may have more than one 'result';
- A 'category' consists of many 'lineItems' but each 'lineItem' is aligned to only one 'category';
- A 'scoreScale' is aligned to either 'result' and/or a 'lineItem', or an 'assessmentResult' and/or an 'assessmentLineItem';
- An 'assessmentLineItem' will consist of a set of assessmentResults with only one assessmentResult per user;
- An 'assessmentResult' is assigned to a 'user' and a 'user' may have more than one 'assessmentResult';
- An 'assessmentLineItem' may have a parent 'assessmentLineItem'.
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.

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.

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.
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.
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;
| Interface | Description |
|---|---|
| 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. |
| 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'. |
| LineItemsManagement | This enables the management of lineItems i.e. the set of results for the assessment of some activity. |
| ScoreScalesManagement | This enables the management of scoreScales i.e. the set of scales for the results and 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. |
| 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 Interface
This enables the management of Categories i.e. collections of LineItems.
| 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. |
"getAllCategories" Operation
Get all of the lineItem categories on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| CategoriesSet | No Description | [1] | N/A |
"getCategory" Operation
Get a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleCategory | No Description | [1] | N/A |
"deleteCategory" Operation
Delete a specific lineItem category on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putCategory" Operation
To create a new lineItem category. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
ClassesManagement Interface
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.
| 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. |
"getResultsForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ResultSet | No Description | [1] | N/A |
"getLineItemsForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| LineItemSet | No Description | [1] | N/A |
"getResultsForLineItemForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ResultSet | No Description | [1] | N/A |
"getResultsForStudentForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ResultSet | No Description | [1] | N/A |
"getCategoriesForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| CategoriesSet | No Description | [1] | N/A |
"getScoreScalesForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ScoreScaleSet | No Description | [1] | N/A |
"postResultsForAcademicSessionForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| GUIDPairSet | No Description | [1] | N/A |
"postLineItemsForClass" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| GUIDPairSet | No Description | [1] | N/A |
ResultsManagement Interface
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'.
| 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. |
"getAllResults" Operation
Get all of the results on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ResultSet | No Description | [1] | N/A |
"getResult" Operation
Get a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleResult | No Description | [1] | N/A |
"deleteResult" Operation
Delete a specific result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putResult" Operation
To create a new result. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
LineItemsManagement Interface
This enables the management of lineItems i.e. the set of results for the assessment of some activity.
| 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. |
"getAllLineItems" Operation
Get all of the Line Items on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| LineItemSet | No Description | [1] | N/A |
"getLineItem" Operation
Get a specific LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleLineItem | No Description | [1] | N/A |
"deleteLineItem" Operation
Delete a specific lineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putLineItem" Operation
To create a new lineItem. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"postResultsForLineItem" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| GUIDPairSet | No Description | [1] | N/A |
ScoreScalesManagement Interface
This enables the management of scoreScales i.e. the set of scales for the results and lineItems.
| 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. |
"getAllScoreScales" Operation
Get all of the ScoreScales on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ScoreScaleSet | No Description | [1] | N/A |
"getScoreScale" Operation
Get a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleScoreScale | No Description | [1] | N/A |
"deleteScoreScale" Operation
Delete a specific scoreScale on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putScoreScale" Operation
To create a new scoreScale. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
SchoolsManagement Interface
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.
| 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. |
"getScoreScalesForSchool" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| ScoreScaleSet | No Description | [1] | N/A |
"postLineItemsForSchool" Operation
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.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| GUIDPairSet | No Description | [1] | N/A |
AssessmentLineItemsManagement Interface
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.
| 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. |
"getAllAssessmentLineItems" Operation
Get all of the Assessment Line Items on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| AssessmentLineItemSet | No Description | [1] | N/A |
"getAssessmentLineItem" Operation
Get a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleAssessmentLineItem | No Description | [1] | N/A |
"deleteAssessmentLineItem" Operation
Delete a specific Assessment LineItem on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putAssessmentLineItem" Operation
To create a new Assessment LineItem. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
AssessmentResultsManagement Interface
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.
| 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. |
"getAllAssessmentResults" Operation
Get all of the Assessment Results on the service provider.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| AssessmentResultSet | No Description | [1] | N/A |
"getAssessmentResult" Operation
Get a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| SingleAssessmentResult | No Description | [1] | N/A |
"deleteAssessmentResult" Operation
Delete a specific Assessment Result on the service provider. If the corresponding record cannot be located then an 'unknown' error code is returned.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
"putAssessmentResult" Operation
To create a new Assessment Result. The associated sourcedId for this new record is supplied by the requesting system.
Parameters
No parameters defined.
Return Parameters
| Type | Description | Multiplicity | Confidentiality |
|---|---|---|---|
| Void | No Description | [1] | N/A |
The Data Model
Data Class Descriptions
AcadSessionGUIDRef Class
This is the container for reference to a OneRoster 'Academic Session' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | AcadSessionGUIDRefTypeEnum | The type of object being referenced i.e. an 'academicSession'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
AssessmentLineItem Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| title | NormalizedString | The title, human readable, for the assessment lineItem. This should allow the assessment lineItem to be distinguished from its peer assessment lineItems. | [1] | N/A |
| description | String | A human readable description of the usage of the assessment lineItem. | [0..1] | N/A |
| class | ClassGUIDRef | The GUID of the class to which the assessment lineItem has been assigned. Note that an assessment LineItem MAY be assigned tio a class. | [0..1] | N/A |
| parentAssessmentLineItem | AssessmentLineItemGUIDRef | The GUID of the parent assessment lineItem. This enables the assessment lineItems to be chained together in a parent/child hierarchy. | [0..1] | N/A |
| scoreScale | ScoreScaleGUIDRef | The GUID of the score scale to be used for the lineItem. This attribute was added in the OR 1.2 release. | [0..1] | N/A |
| resultValueMin | Float | 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. | [0..1] | N/A |
| resultValueMax | Float | 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. | [0..1] | N/A |
| learningObjectiveSet | LearningObjectiveSet | The set of identifiers for the learning objectives to which this assessment is aligned. Any number groups of learning objectives can be assigned. | [0..*] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
AssessmentLineItemGUIDRef Class
This is the container for reference to a OneRoster 'AssessmentLineItem' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | AssessmentLineItemGUIDRefTypeEnum | The type of object being referenced i.e. an 'assessmentLineItem'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
AssessmentLineItemSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| assessmentLineItems | AssessmentLineItem | The collection of assessment lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
AssessmentResult Class
This is the container for the AssessmentResult record. An assessment result consists of the assigned score plus the context for that score.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| assessmentLineItem | AssessmentLineItemGUIDRef | The GUID of the assessment lineItem to which the assessment result is aligned. | [1] | N/A |
| student | UserGUIDRef | The GUID of the student for whom the assessment result is assigned. | [1] | N/A |
| score | Float | The score for the result. If a scoreScale is assigned then the value must align with the scale. | [0..1] | N/A |
| textScore | NormalizedString | An optional non-numeric score value. If a scoreScale is assigned then the value must align with the scale. | [0..1] | N/A |
| scoreDate | Date | 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]. | [1] | N/A |
| scoreScale | ScoreScaleGUIDRef | The GUID of the scoreScale against which the result is aligned. | [0..1] | N/A |
| scorePercentile | Float | The percentile rank of a score is the percentage of scores in its frequency distribution that are equal to or lower than it. | [0..1] | N/A |
| scoreStatus | ScoreStatusExtEnum | The status of the score. The value is from an extensible enumerated vocabulary. | [1] | N/A |
| comment | String | A human readable comment about the score. | [0..1] | N/A |
| learningObjectiveSet | LearningObjectiveScoreSet | The set of identifiers for the learning objectives to which this result is aligned. Any number groups of learning objectives can be assigned. | [0..*] | N/A |
| inProgress | BooleanTrueFalseEnum | This is used to indicate that the associated work activity has been assigned and student's work product is not yet expected to have been submitted. | [0..1] | N/A |
| incomplete | BooleanTrueFalseEnum | This is used to indicate that the student's work product has been submitted but it is deemed incomplete by the teacher. | [0..1] | N/A |
| late | BooleanTrueFalseEnum | This is used to indicate that the student's work product is either past due or it has been submitted past the due date. The score on this result may be impacted as as result of this flag. | [0..1] | N/A |
| missing | BooleanTrueFalseEnum | This is used to indicate that the student's work product as not been submitted. | [0..1] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
AssessmentResultSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| assessmentResults | AssessmentResult | The collection of assessment result instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
Base Class
This is the container for the set of common attributes that are available to all of the first class data structures.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
CategoriesSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| categories | Category | The collection of category instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
Category Class
A Category is the name given to a grouping of line items (line items being equivalent to assignments which students will complete).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| title | NormalizedString | The human readable title for the category. | [1] | N/A |
| weight | Float | Total weight of this grading category in calculation of the course final score. | [0..1] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
CategoryGUIDRef Class
This is the container for reference to a OneRoster 'Category' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | CategoryGUIDRefTypeEnum | The type of object being referenced i.e. a 'category'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
ClassGUIDRef Class
This is the container for reference to a OneRoster 'Class' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | ClassGUIDRefTypeEnum | The type of object being referenced i.e. a 'class'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
CourseGUIDRef Class
This is the container for reference to a OneRoster 'Course' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | CourseGUIDRefTypeEnum | The type of object being referenced i.e. a 'course'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
GUIDPair Class
The container for the mapping between the supplied (assigned by the requesting system) and allocated (assigned by the responding system) sourcedIds i.e. GUIDs.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| suppliedSourcedId | GUID | 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. | [1] | N/A |
| allocatedSourcedId | GUID | The sourcedId that has been allocated by the system on which the new record has been created. | [1] | N/A |
GUIDPairSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| sourcedIdPairs | GUIDPair | The set of sourcedId pairs. The order is not significant as each pair contains the information between the original/new values. | [0..*] | N/A |
GUIDRef Class
This is the container for reference to a OneRoster object that has a sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
LearningObjectiveResults Class
This is the container for a learning objective identifier. This also allows a mastery score to be aligned with the learning objective.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| learningObjectiveId | NormalizedString | The unique identifier for the associated learning objective. If this is a CASE identifier it MUST be a valid UUID. | [1] | N/A |
| score | Float | The optional mastery score supplied as a numeric value. | [0..1] | N/A |
| textScore | NormalizedString | The optional mastery score supplied in a non-numeric form. | [0..1] | N/A |
LearningObjectiveScoreSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| source | SourceExtEnum | The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary. | [1] | N/A |
| learningObjectiveResults | LearningObjectiveResults | 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. | [1..*] | N/A |
LearningObjectiveSet Class
This is the container for the set of learning objective identifiers that are from a single source responsible for creating those identifiers.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| source | SourceExtEnum | The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary. | [1] | N/A |
| learningObjectiveIds | NormalizedString | The set of unique identifiers for the associated learning objectives. If these are CASE identifiers they MUST be valid UUIDs. | [1..*] | N/A |
LineItem Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| title | NormalizedString | The title, human readable, for the lineItem. This should allow the lineItem to be distinguished from its peer lineItems. | [1] | N/A |
| description | String | A human readable description of the usage of the lineItem. | [0..1] | N/A |
| assignDate | DateTime | The date/time the activity being addressed by the lineItem was assigned to the student. This has a format as defined in [ISO 8601]. | [1] | N/A |
| dueDate | DateTime | The date/time by which the assignment must be completed and submitted. This has the dateTime format as defined in [ISO 8601]. | [1] | N/A |
| class | ClassGUIDRef | The GUID of the class to which the lineItem has been assigned. | [1] | N/A |
| school | OrgGUIDRef | The GUID of the school for whom the lineItem has been assigned. This attribute was added in the OR 1.2 release. | [1] | N/A |
| category | CategoryGUIDRef | The GUID of the category to which the lineItem has been assigned. | [1] | N/A |
| gradingPeriod | AcadSessionGUIDRef | The GUID of the grading period for the lineItem. This attribute was added in the OR 1.2 release. | [0..1] | N/A |
| academicSession | AcadSessionGUIDRef | The GUID of the academic session for the lineItem. This should NOT be defined if the 'gradingPeriod' attribute has been used. | [0..1] | N/A |
| scoreScale | ScoreScaleGUIDRef | The GUID of the score scale to be used for the lineItem. This attribute was added in the OR 1.2 release. | [0..1] | N/A |
| resultValueMin | Float | 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. | [0..1] | N/A |
| resultValueMax | Float | 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. | [0..1] | N/A |
| learningObjectiveSet | LearningObjectiveSet | The set of identifiers for the learning objectives to which this assessment is aligned. Any number groups of learning objectives can be assigned. | [0..*] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
LineItemGUIDRef Class
This is the container for reference to a OneRoster 'LineItem' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | LineItemGUIDRefTypeEnum | The type of object being referenced i.e. a 'lineItem'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
LineItemSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| lineItems | LineItem | The collection of lineItem instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
Metadata Class
The container for the proprietary extensions.
This class can be extended with additional properties.
OrgGUIDRef Class
This is the container for reference to a OneRoster 'Org' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | OrgGUIDRefTypeEnum | The type of object being referenced i.e. an 'org'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
Result Class
This is the container for the Result record. A result consists of the assigned score plus the context for that score.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| lineItem | LineItemGUIDRef | The GUID of the lineItem to which the result is aligned. | [1] | N/A |
| student | UserGUIDRef | The GUID of the student for whom the result is assigned. | [1] | N/A |
| class | ClassGUIDRef | The GUID of the class to which the result is aligned. | [0..1] | N/A |
| scoreScale | ScoreScaleGUIDRef | The GUID of the scoreScale against which the result is aligned. | [0..1] | N/A |
| scoreStatus | ScoreStatusExtEnum | The status of the score. The value is from an extensible enumerated vocabulary. | [1] | N/A |
| score | Float | The score for the result. If a scoreScale is assigned then the value must align with the scale. | [0..1] | N/A |
| textScore | NormalizedString | 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. | [0..1] | N/A |
| scoreDate | Date | 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]. | [1] | N/A |
| comment | String | A human readable comment about the score. | [0..1] | N/A |
| learningObjectiveSet | LearningObjectiveScoreSet | The set of identifiers for the learning objectives to which this result is aligned. Any number groups of learning objectives can be assigned. | [0..*] | N/A |
| inProgress | BooleanTrueFalseEnum | This is used to indicate that the associated work activity has been assigned and student's work product is not yet expected to have been submitted. | [0..1] | N/A |
| incomplete | BooleanTrueFalseEnum | This is used to indicate that the student's work product has been submitted but it is deemed incomplete by the teacher. | [0..1] | N/A |
| late | BooleanTrueFalseEnum | This is used to indicate that the student's work product is either past due or it has been submitted past the due date. The score on this result may be impacted as as result of this flag. | [0..1] | N/A |
| missing | BooleanTrueFalseEnum | This is used to indicate that the student's work product as not been submitted. | [0..1] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
ResultSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| results | Result | The collection of result instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
ScoreScale Class
The container for the definition Score Scale mapping i.e. the relationship between two score scales.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| title | NormalizedString | The human readable title for the score scale mapping. | [1] | N/A |
| type | NormalizedString | 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. | [1] | N/A |
| course | CourseGUIDRef | The GUID for the course for which this scale will be used. | [0..1] | N/A |
| class | ClassGUIDRef | The GUID for the class for which this scale will be used. | [1] | N/A |
| scoreScaleValue | ScoreScaleValue | The set of mappings for this score scale. | [1..*] | N/A |
| sourcedId | GUID | 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. | [1] | N/A |
| status | BaseStatusEnum | 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'. | [1] | N/A |
| dateLastModified | DateTime | 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. | [1] | N/A |
| metadata | Metadata | 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. | [0..1] | N/A |
ScoreScaleGUIDRef Class
This is the container for reference to a OneRoster 'ScoreScale' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | ScoreScaleGUIDRefTypeEnum | The type of object being referenced i.e. a 'scoreScale'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
ScoreScaleSet Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| scoreScales | ScoreScale | The collection of scoreScale instances. The order is not significant. The corresponding query constraints may result in no instances being returned. | [0..*] | N/A |
ScoreScaleValue Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| itemValueLHS | NormalizedString | 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. | [1] | N/A |
| itemValueRHS | NormalizedString | The right hand side value of the mapping relationship i.e. the equivalent value to the reference point defined in the LHS. | [1] | N/A |
SingleAssessmentLineItem Class
This is the container for a single assessment lineItem instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| assessmentLineItem | AssessmentLineItem | 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. | [1] | N/A |
SingleAssessmentResult Class
This is the container for a single assessment result instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| assessmentResult | AssessmentResult | 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. | [1] | N/A |
SingleCategory Class
This is the container for a single category instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| category | Category | 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. | [1] | N/A |
SingleLineItem Class
This is the container for a single lineItem instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| lineItem | LineItem | 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. | [1] | N/A |
SingleResult Class
This is the container for a single result instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| result | Result | 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. | [1] | N/A |
SingleScoreScale Class
This is the container for a single scoreScale instance for a message payload.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| scoreScale | ScoreScale | 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. | [1] | N/A |
UserGUIDRef Class
This is the container for reference to a OneRoster 'User' object that has an allocated sourcedId (GUID).
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| type | UserGUIDRefTypeEnum | The type of object being referenced i.e. a 'user'. | [1] | N/A |
| href | AnyURI | The URI for the type of object being referenced. | [1] | N/A |
| sourcedId | GUID | The globally unique identifier of the object being referenced. | [1] | N/A |
imsx_CodeMinor Class
This is the container for the set of code minor status codes reported in the responses from the Service Provider.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| imsx_codeMinorField | imsx_CodeMinorField | Each reported code minor status code. | [1..*] | N/A |
imsx_CodeMinorField Class
This is the container for a single code minor status code.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| imsx_codeMinorFieldName | NormalizedString | 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'. | [1] | N/A |
| imsx_codeMinorFieldValue | imsx_CodeMinorValueEnum | The code minor status code (this is a value from the corresponding enumerated vocabulary). | [1] | N/A |
imsx_StatusInfo Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| imsx_codeMajor | imsx_CodeMajorEnum | 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. | [1] | N/A |
| imsx_severity | imsx_SeverityEnum | The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. | [1] | N/A |
| imsx_description | String | A human readable description supplied by the entity creating the status code information. | [0..1] | N/A |
| imsx_CodeMinor | imsx_CodeMinor | The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes. | [0..1] | N/A |
Derived Class Descriptions
GUID Class
The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID.
Identifier Class
The data-type for a local unique identifier. The scope of the uniqueness of this identifier is determined by the organization assigning it.
ScoreStatusExtString Class
The data-type that enables the score status enumerated vocabulary to be extended.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| pattern | String | 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:'. | [1] | N/A |
SourceExtensionString Class
This data-type ensures that the free-form entry does NOT have the value 'case' or 'unknown'.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| pattern | String | This regular expression ensures that the free-form entry does NOT have the value 'case' or 'unknown'. | [1] | N/A |
UUID Class
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.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| pattern | String | Defines the regular expression that imposes the form of UUID. | [1] | N/A |
Enumerated Vocabulary Descriptions
Union Class Descriptions
ScoreStatusExtEnum Class
This is an extensible vocabulary data-type for the status of the score being submitted.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| pattern | String | 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:'. | [1] | N/A |
| exempt | String | The result is exempt i.e. this score does NOT contribute to any summative assessment. | [1] | N/A |
| fully graded | String | The result is fully graded. | [1] | N/A |
| not submitted | String | The result is not submitted. | [1] | N/A |
| partially graded | String | 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'. | [1] | N/A |
| submitted | String | The learner has submitted the work for grading but grading has not yet been undertaken. | [1] | N/A |
SourceExtEnum Class
This is an extensible vocabulary data-type for the source creating the learning objective identifiers.
| Attribute | Type | Description | Multiplicity | Privacy |
|---|---|---|---|---|
| pattern | String | This regular expression ensures that the free-form entry does NOT have the value 'case' or 'unknown'. | [1] | N/A |
| case | String | The learning objective identifier is a CASE UUID as defined in the IMS CASE specification [CASE, 17]. | [1] | N/A |
| unknown | String | The source responsible for creating the learning objectives identifiers is unknown. | [1] | N/A |
Privacy Implications
All of the privacy implications contained within this Information Model are described in this Section. All of the corresponding concepts and methods for these privacy annotations are defined in the Privacy Framework.
- Accessibility
- denotes information about the accessibility personal needs and preferences of the user
- Analytics
- denotes information that will be used to support the creation of learning analytics
- Container
- denotes that the child attributes have privacy-sensitive information
- Credentials
- denotes access control information for the use e.g. password, private key, etc.
- CredentialsIdRef
- denotes reference to/use of an identifier to credentials information for the user
- Demographics
- denotes information about the demographics of the user e.g. ethnicity, gender, etc.
- Extension
- denotes that proprietary information can be included and so this MAY contain privacy-sensitive information
- Financial
- denotes that the information is of a financial nature e.g. bank account, financial aid status, etc.
- Identifier
- denotes a unique identifier that has been assigned, by some third party, to the user e.g. passport number, social security number, etc.
- IdentifierRef
- denotes reference to/use of a unique identifier that has been assigned, by some third party, to the user
- Insurance/Assurance
- denotes that the information is about the insurance life-assurance nature, e.g. type of insurance, etc.
- Legal
- denotes that the information is of a legal or judicial nature e.g. Will, prison record, etc.
- Medical/Healthcare
- denotes that the information is of a medical, or healthcare-related nature e.g. allergies, blood-type, mobility needs, etc.
- N/A
- denotes that there are NO PRIVACY IMPLICATIONS for this attribute (this is the default setting)
- Other
- denotes privacy sensitive information that is NOT covered by one of the other categories
- Qualification/Certification
- denotes that the information is about education qualifications, skill-set certifications, microcredentials, etc.
- Personal
- denotes personal information about the user e.g. name, address, etc.
- SourcedId
- denotes the interoperability unique identifier that has been assigned and MUST be present for the correct usage of the corresponding 1EdTech specification
- SourcedIdRef
- denotes reference to/use of the interoperability unique identifier, sourcedId, to link/point to an associated 1EdTech object
Confidentiality Level
All of the privacy classification of the exchanged payloads are described in this Section.
- unrestricted
- there are no privacy concerns (this is the default value).
- normal
- denotes that privacy sensitive data could be included and so all best practices to secure this data should be used.
- restricted
- denotes that some of the data is more sensitive than usual or that many attributes information that when used together create increased vulnerability for identification of the associated individual or group.
- veryrestricted
- denotes that the request could contain very sensitive privacy data. Depending on the capabilities of the Provider this very sensitive data may be obfuscated or may not even be present
Extending and Profiling the Service
This Section is NOT NORMATIVE.
Extending the Specification
Proprietary extensions of the service are based upon two approaches:
The extension of the data models being manipulated by the current set of operations; The inclusion of new operations to support new proprietary functionality. 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.
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].
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).
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:'.
Profiling the Specification
This Service can be profiled. In general, Profiling is used to:
- Refine which Interfaces are used and which operations are supported for each Interface;
- Refine the data models by increasing the constraints on the base definitions.
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 1EdTech. However, no matter who is responsible for creating the profile artefacts (documents, OpenAPI files, XSDs, etc.), it is strongly recommended that the 1EdTech 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 the 1EdTech VP of Operations at: operations@1edtech.org.
IP Disclosures
The following participating organizations have made explicit license commitments to this specification:
| Organization Name | Date election made | Necessary claims | Type |
|---|---|---|---|
| D2L Corporation | 2022-07-21 | No | RF RAND (Required & Optional Elements) |
| Gwinnett County Public Schools | 2022-07-22 | No | RF RAND (Required & Optional Elements) |
| Infinite Campus Inc. | 2022-07-25 | No | RF RAND (Required & Optional Elements) |
| Microsoft Corporation | 2022-08-08 | No | RF RAND (Required & Optional Elements) |
| SameGoal Inc. | 2022-07-21 | No | RF RAND (Required & Optional Elements) |
| Anthology Inc. | 2022-08-10 | No | RF RAND (Required & Optional Elements) |
List of Contributors
The following individuals contributed to the development of this document:
| Name | Affiliation | Role |
|---|---|---|
| Colin Smythe | 1EdTech (UK) | |
| Phil Nicholls | 1EdTech (UK) | |
| Aditya Subramaniam | Schoology (USA) | |
| Gabrielle Sanderson | Illuminate Education (USA) | |
| Matthew Richards | Infinite Campus (USA) | |
| Jong Kim | Pearson (USA) | |
| Upendra Penegalapati | Pearson (USA) | |
| Oxana Jurosevic | Instructure (USA) | |
| Viktor Haag | Desire2Learn (Canada) | |
| TJ Vering | Microsoft (USA) | |
| Padraig O'hiceadha | HMH (UK) | |
| Tom Clark | Pearson (USA) | |
| Richard Heim | LearningMate (USA) | |
| Wendy Riedy | Microsoft (USA) | |
| Linda Feng | Unicon (USA) | |
| James Perreault | FLVS (USA) | |
| Joshua McGhee | 1EdTech (USA) | |
| Mark Walls | Gwinnett County Schools (USA) | |
| Eric Adams | Instructure (USA) | |
| Kurt Rompot | Pearson (USA) | |
| David Mayes | Gwinnett County Schools (USA) | |
| Konrad Stimeling | K12 Inc (USA) | |
| Matt Vella | Schoology (USA) | |
| Patrick Porter | Houston ISD (USA) | |
| Barry Brahier | Infinite Campus (USA) | |
| Tom Ingram | Escambia County School District (USA) | |
| Andrew Kuritzky | Edmentum (USA) |
Changelog
Changelog entries are not listed yet.
Revision History
| Version | Doc Version | Date | Comments |
|---|---|---|---|
| Final | 2015-07-01 | First release of the OneRoster Service specification. | |
| Final | 2016-11-01 | 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. | |
| Final | 2022-09-19 | 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 Assessment Results Management functionality. |
Related resources
Data Model
Service Model
The service model is available as an OpenAPI document at the following URL:
- OneRoster Gradebook Service 1.2 OpenAPI 3.0 definition file - (JSON)
- OneRoster Gradebook Service 1.2 OpenAPI 3.0 definition file (YAML)
Skill
The skill model is available as a JSON file at the following URL:
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.
1EdTech 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 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ip.
Copyright © 1EdTech Consortium, Inc. All Rights Reserved.
Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: https://www.1edtech.org/standards/specification-license.
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 1EdTech 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.
Trademark information: https://www.1edtech.org/about/legal/trademarks