Date Issued: | 19th September 2022 |
Latest version: | http://www.imsglobal.org/activity/onerosterlis/ |
IPR and Distribution Notices
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.
IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
Org Name | Date Election Made | Necessary Claims | Type |
---|---|---|---|
Anthology Inc. | 10th August 2022 | No | RF RAND (Required & Optional Elements) |
D2L Corporation | 21st July 2022 | No | RF RAND (Required & Optional Elements) |
Gwinnett County Public Schools | 22nd July 2022 | No | RF RAND (Required & Optional Elements) |
Infinite Campus Inc | 25th July 2022 | No | RF RAND (Required & Optional Elements) |
Microsoft Corporation | 8th August 2022 | No | RF RAND (Required & Optional Elements) |
SameGoal Inc | 21st July 2022 | No | RF RAND (Required & Optional Elements) |
Copyright © 2022 IMS Global Learning Consortium. All Rights Reserved.
Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.
Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.
THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
Public contributions, comments and questions can be posted here: www.imsglobal.org/forums/ims-glc-public-forums-and-resources.
© 2022 IMS Global Learning Consortium, Inc.
All Rights Reserved.
Trademark information: http://www.imsglobal.org/copyright.html
Document Name: IMS OneRoster Rostering Service v1.2
Revision: 19th September 2022
The IMS OneRoster (OR) standard addresses the exchange of student data (primarily about people, courses, enrollments and grades) between different educational systems for the specific needs of K-12. The primary use-case is the exchange of data between a Student Information System (SIS) and Learning Management System (LMS). In OR 1.2, the service has been split into three core services:
This OR 1.2 Rostering Service provides the ability to manage the exchange of information about people, classes, courses, organizations and enrollments. 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.
1. Introduction
1.2 Conventions
1.3 Changes in Rostering Service 1.2
1.4 Structure of this Document
1.5 Nomenclature
2. Use-cases
3. Service Architecture and Specification Model
3.1 An Abstract Representation
3.2 Service Providers and Service Consumers
3.3 Service Objects
3.4 Synchronous and Asynchronous Services
3.5 OneRoster Rostering, Resources and Gradebook Choreography
4.2 "AcademicSessionsManagement" Interface Description
4.2.1 "getAllAcademicSessions" Operation
4.2.2 "getAcademicSession" Operation
4.3 "ClassesManagement" Interface Description
4.3.1 "getAllClasses" Operation
4.3.2 "getClass" Operation
4.3.3 "getStudentsForClass" Operation
4.3.4 "getTeachersForClass" Operation
4.4 "CoursesManagement" Interface Description
4.4.1 "getAllCourses" Operation
4.4.2 "getCourse" Operation
4.4.3 "getClassesForCourse" Operation
4.5 "DemographicsManagement" Interface Description
4.5.1 "getAllDemographics" Operation
4.5.2 "getDemographics" Operation
4.6 "EnrollmentsManagement" Interface Description
4.6.1 "getAllEnrollments" Operation
4.6.2 "getEnrollment" Operation
4.7 "GradingPeriodsManagement" Interface Description
4.7.1 "getAllGradingPeriods" Operation
4.7.2 "getGradingPeriod" Operation
4.8 "OrgsManagement" Interface Description
4.8.1 "getAllOrgs" Operation
4.8.2 "getOrg" Operation
4.9 "SchoolsManagement" Interface Description
4.9.1 "getAllSchools" Operation
4.9.2 "getSchool" Operation
4.9.3 "getCoursesForSchool" Operation
4.9.4 "getEnrollmentsForClassInSchool" Operation
4.9.5 "getStudentsForClassInSchool" Operation
4.9.6 "getTeachersForClassInSchool" Operation
4.9.7 "getEnrollmentsForSchool" Operation
4.9.8 "getStudentsForSchool" Operation
4.9.9 "getTeachersForSchool" Operation
4.9.10 "getTermsForSchool" Operation
4.9.11 "getClassesForSchool" Operation
4.10 "StudentsManagement" Interface Description
4.10.1 "getAllStudents" Operation
4.10.2 "getStudent" Operation
4.10.3 "getClassesForStudent" Operation
4.11 "TeachersManagement" Interface Description
4.11.1 "getAllTeachers" Operation
4.11.2 "getTeacher" Operation
4.11.3 "getClassesForTeacher" Operation
4.12 "TermsManagement" Interface Description
4.12.1 "getAllTerms" Operation
4.12.2 "getTerm" Operation
4.12.3 "getClassesForTerm" Operation
4.12.4 "getGradingPeriodsForTerm" Operation
4.13 "UsersManagement" Interface Description
4.13.1 "getAllUsers" Operation
4.13.2 "getUser" Operation
5.1 "AcademicSessionSet" Class Description
5.1.1 "academicSessions" Attribute Description
5.2 "ClassSet" Class Description
5.2.1 "classes" Attribute Description
5.3 "CourseSet" Class Description
5.3.1 "courses" Attribute Description
5.4 "DemographicsSet" Class Description
5.4.1 "demographics" Attribute Description
5.5 "EnrollmentSet" Class Description
5.5.1 "enrollments" Attribute Description
5.7 "OrgSet" Class Description
5.7.1 "orgs" Attribute Description
5.8 "SingleAcademicSession" Class Description
5.8.1 "academicSession" Attribute Description
5.9 "SingleClass" Class Description
5.9.1 "class" Attribute Description
5.10 "SingleCourse" Class Description
5.10.1 "course" Attribute Description
5.11 "SingleDemographics" Class Description
5.11.1 "demographics" Attribute Description
5.12 "SingleEnrollment" Class Description
5.12.1 "enrollment" Attribute Description
5.13 "SingleOrg" Class Description
5.13.1 "org" Attribute Description
5.14 "SingleUser" Class Description
5.14.1 "user" Attribute Description
5.15 "UserSet" Class Description
5.15.1 "users" Attribute Description
5.16 "imsx_StatusInfo" Class Description
5.16.1 "imsx_codeMajor" Attribute Description
5.16.2 "imsx_severity" Attribute Description
6.1.1 "AcadSessionGUIDRef" Class Description
6.1.1.1 "type" Attribute Description
6.1.2 "AcademicSession" Class Description
6.1.2.1 "title" Attribute Description
6.1.2.2 "startDate" Attribute Description
6.1.2.3 "endDate" Attribute Description
6.1.2.4 "type" Attribute Description
6.1.2.5 "parent" Attribute Description
6.1.2.6 "children" Attribute Description
6.1.2.7 "schoolYear" Attribute Description
6.1.3 "AcademicSessionSet" Class Description
6.1.3.1 "academicSessions" Attribute Description
6.1.4 "Base" Class Description
6.1.4.1 "sourcedId" Attribute Description
6.1.4.2 "status" Attribute Description
6.1.4.3 "dateLastModified" Attribute Description
6.1.4.4 "metadata" Attribute Description
6.1.5 "Class" Class Description
6.1.5.1 "title" Attribute Description
6.1.5.2 "classCode" Attribute Description
6.1.5.3 "classType" Attribute Description
6.1.5.4 "location" Attribute Description
6.1.5.5 "grades" Attribute Description
6.1.5.6 "subjects" Attribute Description
6.1.5.7 "course" Attribute Description
6.1.5.8 "school" Attribute Description
6.1.5.9 "terms" Attribute Description
6.1.5.10 "subjectCodes" Attribute Description
6.1.5.11 "periods" Attribute Description
6.1.5.12 "resources" Attribute Description
6.1.6 "ClassGUIDRef" Class Description
6.1.6.1 "type" Attribute Description
6.1.7 "ClassSet" Class Description
6.1.7.1 "classes" Attribute Description
6.1.8 "Course" Class Description
6.1.8.1 "title" Attribute Description
6.1.8.2 "schoolYear" Attribute Description
6.1.8.3 "courseCode" Attribute Description
6.1.8.4 "grades" Attribute Description
6.1.8.5 "subjects" Attribute Description
6.1.8.6 "org" Attribute Description
6.1.8.7 "subjectCodes" Attribute Description
6.1.8.8 "resources" Attribute Description
6.1.9 "CourseGUIDRef" Class Description
6.1.9.1 "type" Attribute Description
6.1.10 "CourseSet" Class Description
6.1.10.1 "courses" Attribute Description
6.1.11 "Credential" Class Description
6.1.11.1 "type" Attribute Description
6.1.11.2 "username" Attribute Description
6.1.11.3 "password" Attribute Description
6.1.11.4 "extensions" Attribute Description
6.1.12 "Demographics" Class Description
6.1.12.1 "birthDate" Attribute Description
6.1.12.2 "sex" Attribute Description
6.1.12.3 "americanIndianOrAlaskaNative" Attribute Description
6.1.12.4 "asian" Attribute Description
6.1.12.5 "blackOrAfricanAmerican" Attribute Description
6.1.12.6 "nativeHawaiianOrOtherPacificIslander" Attribute Description
6.1.12.7 "white" Attribute Description
6.1.12.8 "demographicRaceTwoOrMoreRaces" Attribute Description
6.1.12.9 "hispanicOrLatinoEthnicity" Attribute Description
6.1.12.10 "countryOfBirthCode" Attribute Description
6.1.12.11 "stateOfBirthAbbreviation" Attribute Description
6.1.12.12 "cityOfBirth" Attribute Description
6.1.12.13 "publicSchoolResidenceStatus" Attribute Description
6.1.13 "DemographicsSet" Class Description
6.1.13.1 "demographics" Attribute Description
6.1.14 "Enrollment" Class Description
6.1.14.1 "user" Attribute Description
6.1.14.2 "class" Attribute Description
6.1.14.3 "school" Attribute Description
6.1.14.4 "role" Attribute Description
6.1.14.5 "primary" Attribute Description
6.1.14.6 "beginDate" Attribute Description
6.1.14.7 "endDate" Attribute Description
6.1.15 "EnrollmentSet" Class Description
6.1.15.1 "enrollments" Attribute Description
6.1.16 "GUIDRef" Class Description
6.1.16.1 "href" Attribute Description
6.1.16.2 "sourcedId" Attribute Description
6.1.17 "Metadata" Class Description
6.1.17.1 "extensions" Attribute Description
6.1.18 "Org" Class Description
6.1.18.1 "name" Attribute Description
6.1.18.2 "type" Attribute Description
6.1.18.3 "identifier" Attribute Description
6.1.18.4 "parent" Attribute Description
6.1.18.5 "children" Attribute Description
6.1.19 "OrgGUIDRef" Class Description
6.1.19.1 "type" Attribute Description
6.1.20 "OrgSet" Class Description
6.1.20.1 "orgs" Attribute Description
6.1.21 "ResourceGUIDRef" Class Description
6.1.21.1 "type" Attribute Description
6.1.22 "Role" Class Description
6.1.22.1 "roleType" Attribute Description
6.1.22.2 "role" Attribute Description
6.1.22.3 "org" Attribute Description
6.1.22.4 "userProfile" Attribute Description
6.1.22.5 "beginDate" Attribute Description
6.1.22.6 "endDate" Attribute Description
6.1.23 "SingleAcademicSession" Class Description
6.1.23.1 "academicSession" Attribute Description
6.1.24 "SingleClass" Class Description
6.1.24.1 "class" Attribute Description
6.1.25 "SingleCourse" Class Description
6.1.25.1 "course" Attribute Description
6.1.26 "SingleDemographics" Class Description
6.1.26.1 "demographics" Attribute Description
6.1.27 "SingleEnrollment" Class Description
6.1.27.1 "enrollment" Attribute Description
6.1.28 "SingleOrg" Class Description
6.1.28.1 "org" Attribute Description
6.1.29 "SingleUser" Class Description
6.1.29.1 "user" Attribute Description
6.1.30 "User" Class Description
6.1.30.1 "userMasterIdentifier" Attribute Description
6.1.30.2 "username" Attribute Description
6.1.30.3 "userIds" Attribute Description
6.1.30.4 "enabledUser" Attribute Description
6.1.30.5 "givenName" Attribute Description
6.1.30.6 "familyName" Attribute Description
6.1.30.7 "middleName" Attribute Description
6.1.30.8 "preferredFirstName" Attribute Description
6.1.30.9 "preferredMiddleName" Attribute Description
6.1.30.10 "preferredLastName" Attribute Description
6.1.30.11 "pronouns" Attribute Description
6.1.30.12 "roles" Attribute Description
6.1.30.13 "userProfiles" Attribute Description
6.1.30.14 "primaryOrg" Attribute Description
6.1.30.15 "identifier" Attribute Description
6.1.30.16 "email" Attribute Description
6.1.30.17 "sms" Attribute Description
6.1.30.18 "phone" Attribute Description
6.1.30.19 "agents" Attribute Description
6.1.30.20 "grades" Attribute Description
6.1.30.21 "password" Attribute Description
6.1.30.22 "resources" Attribute Description
6.1.31 "UserGUIDRef" Class Description
6.1.31.1 "type" Attribute Description
6.1.32 "UserId" Class Description
6.1.32.1 "type" Attribute Description
6.1.32.2 "identifier" Attribute Description
6.1.33 "UserProfile" Class Description
6.1.33.1 "profileId" Attribute Description
6.1.33.2 "profileType" Attribute Description
6.1.33.3 "vendorId" Attribute Description
6.1.33.4 "applicationId" Attribute Description
6.1.33.5 "description" Attribute Description
6.1.33.6 "credentials" Attribute Description
6.1.34 "UserSet" Class Description
6.1.34.1 "users" Attribute Description
6.1.35 "imsx_CodeMinor" Class Description
6.1.35.1 "imsx_codeMinorField" Attribute Description
6.1.36 "imsx_CodeMinorField" Class Description
6.1.36.1 "imsx_codeMinorFieldName" Attribute Description
6.1.36.2 "imsx_codeMinorFieldValue" Attribute Description
6.1.37 "imsx_StatusInfo" Class Description
6.1.37.1 "imsx_codeMajor" Attribute Description
6.1.37.2 "imsx_severity" Attribute Description
6.1.37.3 "imsx_description" Attribute Description
6.1.37.4 "imsx_CodeMinor" Attribute Description
6.2 Derived Class Descriptions
6.2.1 "EnumExtString" Class Description
6.2.1.1 "pattern" Attribute Description
6.2.2 "GUID" Class Description
6.2.3 "Identifier" Class Description
6.3 Enumerated Vocabulary Descriptions
6.3.1 "AcadSessionGUIDRefTypeEnum" Vocabulary Description
6.3.2 "BaseStatusEnum" Vocabulary Description
6.3.3 "ClassGUIDRefTypeEnum" Vocabulary Description
6.3.4 "ClassTypeEnum" Vocabulary Description
6.3.5 "CourseGUIDRefTypeEnum" Vocabulary Description
6.3.6 "EnrolRoleEnum" Vocabulary Description
6.3.7 "GenderEnum" Vocabulary Description
6.3.8 "OrgGUIDRefTypeEnum" Vocabulary Description
6.3.9 "OrgTypeEnum" Vocabulary Description
6.3.10 "ResourceGUIDRefTypeEnum" Vocabulary Description
6.3.11 "RoleEnum" Vocabulary Description
6.3.12 "RoleTypeEnum" Vocabulary Description
6.3.13 "SessionTypeEnum" Vocabulary Description
6.3.14 "TrueFalseEnum" Vocabulary Description
6.3.15 "UserGUIDRefTypeEnum" Vocabulary Description
6.3.16 "imsx_CodeMajorEnum" Vocabulary Description
6.3.17 "imsx_CodeMinorValueEnum" Vocabulary Description
6.3.18 "imsx_SeverityEnum" Vocabulary Description
6.4.1 "ClassTypeEnumExt" Class Description
6.4.2 "EnrolRoleEnumExt" Class Description
6.4.3 "GenderEnumExt" Class Description
6.4.4 "OrgTypeEnumExt" Class Description
7.1 AcademicSession Link Data Description
7.2 Class Link Data Description
7.3 Course Link Data Description
7.5 Resource Link Data Description
8. Extending and Profiling the Service
8.1 Extending the Specification
8.1.1 Proprietary Operations
8.1.2 Proprietary Data Elements
Appendix A Modelling Concepts and Terms
A1 Behavior Descriptions Explanations
A1.1 Service Diagrams
A2 InterfaceDescriptions Explanations
A2.2 Class Descriptions
A3 Data Model Descriptions Explanantions
A3.1 Data Model Diagrams
A3.2 Class Descriptions
A3.3 Attribute and Characteristic Descriptions
A3.4 Enumerated Vocabulary Descriptions
A3.5 External Vocabulary Descriptions
Appendix B Service Status Codes
B1 Definition of the Status Codes
B1.1 Definition of the "CodeMajor" Values
Figure 4.1 Service interface definitions
Figure 5.1 AcademicSessionSet class definitions
Figure 5.2 ClassSet class definitions
Figure 5.3 CourseSet class definitions
Figure 5.4 DemographicsSet class definitions
Figure 5.5 EnrollmentSet class definitions
Figure 5.6 GUID class definitions
Figure 5.7 OrgSet class definitions
Figure 5.8 SingleAcademicSession class definitions
Figure 5.9 SingleClass class definitions
Figure 5.10 SingleCourse class definitions
Figure 5.11 SingleDemographics class definitions
Figure 5.12 SingleEnrollment class definitions
Figure 5.13 SingleOrg class definitions
Figure 5.14 SingleUser class definitions
Figure 5.15 UserSet class definitions
Figure 5.16 imsx_StatusInfo class definitions
Figure 6.1.1 AcadSessionGUIDRef class definitions
Figure 6.1.2 AcademicSession class definitions
Figure 6.1.3 AcademicSessionSet class definitions
Figure 6.1.4 Base class definitions
Figure 6.1.5 Class class definitions
Figure 6.1.6 ClassGUIDRef class definitions
Figure 6.1.7 ClassSet class definitions
Figure 6.1.8 Course class definitions
Figure 6.1.9 CourseGUIDRef class definitions
Figure 6.1.10 CourseSet class definitions
Figure 6.1.11 Credential class definitions
Figure 6.1.12 Demographics class definitions
Figure 6.1.13 DemographicsSet class definitions
Figure 6.1.14 Enrollment class definitions
Figure 6.1.15 EnrollmentSet class definitions
Figure 6.1.16 GUIDRef class definitions
Figure 6.1.17 Metadata class definitions
Figure 6.1.18 Org class definitions
Figure 6.1.19 OrgGUIDRef class definitions
Figure 6.1.20 OrgSet class definitions
Figure 6.1.21 ResourceGUIDRef class definitions
Figure 6.1.22 Role class definitions
Figure 6.1.23 SingleAcademicSession class definitions
Figure 6.1.24 SingleClass class definitions
Figure 6.1.25 SingleCourse class definitions
Figure 6.1.26 SingleDemographics class definitions
Figure 6.1.27 SingleEnrollment class definitions
Figure 6.1.28 SingleOrg class definitions
Figure 6.1.29 SingleUser class definitions
Figure 6.1.30 User class definitions
Figure 6.1.31 UserGUIDRef class definitions
Figure 6.1.32 UserId class definitions
Figure 6.1.33 UserProfile class definitions
Figure 6.1.34 UserSet class definitions
Figure 6.1.35 imsx_CodeMinor class definitions
Figure 6.1.36 imsx_CodeMinorField class definitions
Figure 6.1.37 imsx_StatusInfo class definitions
Figure 6.2.1 EnumExtString class definitions
Figure 6.2.2 GUID class definitions
Figure 6.2.3 Identifier class definitions
Figure 6.3.1 AcadSessionGUIDRefTypeEnum class definitions
Figure 6.3.2 BaseStatusEnum class definitions
Figure 6.3.3 ClassGUIDRefTypeEnum class definitions
Figure 6.3.4 ClassTypeEnum class definitions
Figure 6.3.5 CourseGUIDRefTypeEnum class definitions
Figure 6.3.6 EnrolRoleEnum class definitions
Figure 6.3.7 GenderEnum class definitions
Figure 6.3.8 OrgGUIDRefTypeEnum class definitions
Figure 6.3.9 OrgTypeEnum class definitions
Figure 6.3.10 ResourceGUIDRefTypeEnum class definitions
Figure 6.3.11 RoleEnum class definitions
Figure 6.3.12 RoleTypeEnum class definitions
Figure 6.3.13 SessionTypeEnum class definitions
Figure 6.3.14 TrueFalseEnum class definitions
Figure 6.3.15 UserGUIDRefTypeEnum class definitions
Figure 6.3.16 imsx_CodeMajorEnum class definitions
Figure 6.3.17 imsx_CodeMinorValueEnum class definitions
Figure 6.3.18 imsx_SeverityEnum class definitions
Figure 6.4.1 ClassTypeEnumExt class definitions
Figure 6.4.2 EnrolRoleEnumExt class definitions
Figure 6.4.3 GenderEnumExt class definitions
Figure 6.4.4 OrgTypeEnumExt class definitions
Figure 6.4.5 RoleEnumExt class definitions
Figure 6.4.6 SessionTypeEnumExt class definitions
Figure 7.1 AcademicSession link data definition.
Figure 7.2 Class link data definition.
Figure 7.3 Course link data definition.
Figure 7.4 Org link data definition.
Figure 7.5 Resource link data definition.
Figure 7.6 User link data definition.
Figure 7.7 UserProfile link data definition.
Table 4.1 The set of interfaces.
Table 4.2 The set of operations for the "AcademicSessionsManagement" interface.
Table 4.3 The set of operations for the "ClassesManagement" interface.
Table 4.4 The set of operations for the "CoursesManagement" interface.
Table 4.5 The set of operations for the "DemographicsManagement" interface.
Table 4.6 The set of operations for the "EnrollmentsManagement" interface.
Table 4.7 The set of operations for the "GradingPeriodsManagement" interface.
Table 4.8 The set of operations for the "OrgsManagement" interface.
Table 4.9 The set of operations for the "SchoolsManagement" interface.
Table 4.10 The set of operations for the "StudentsManagement" interface.
Table 4.11 The set of operations for the "TeachersManagement" interface.
Table 4.12 The set of operations for the "TermsManagement" interface.
Table 4.13 The set of operations for the "UsersManagement" interface.
Table 5.1 "AcademicSessionSet" Class Description
Table 5.1.1 "academicSessions" Attribute Description
Table 5.2 "ClassSet" Class Description
Table 5.2.1 "classes" Attribute Description
Table 5.3 "CourseSet" Class Description
Table 5.3.1 "courses" Attribute Description
Table 5.4 "DemographicsSet" Class Description
Table 5.4.1 "demographics" Attribute Description
Table 5.5 "EnrollmentSet" Class Description
Table 5.5.1 "enrollments" Attribute Description
Table 5.6 "GUID" Class Description
Table 5.7 "OrgSet" Class Description
Table 5.7.1 "orgs" Attribute Description
Table 5.8 "SingleAcademicSession" Class Description
Table 5.8.1 "academicSession" Attribute Description
Table 5.9 "SingleClass" Class Description
Table 5.9.1 "class" Attribute Description
Table 5.10 "SingleCourse" Class Description
Table 5.10.1 "course" Attribute Description
Table 5.11 "SingleDemographics" Class Description
Table 5.11.1 "demographics" Attribute Description
Table 5.12 "SingleEnrollment" Class Description
Table 5.12.1 "enrollment" Attribute Description
Table 5.13 "SingleOrg" Class Description
Table 5.13.1 "org" Attribute Description
Table 5.14 "SingleUser" Class Description
Table 5.14.1 "user" Attribute Description
Table 5.15 "UserSet" Class Description
Table 5.15.1 "users" Attribute Description
Table 5.16 "imsx_StatusInfo" Class Description
Table 5.16.1 "imsx_codeMajor" Attribute Description
Table 5.16.2 "imsx_severity" Attribute Description
Table 5.16.3 "imsx_description" Attribute Description
Table 5.16.4 "imsx_CodeMinor" Attribute Description
Table 6.1.1 AcadSessionGUIDRef class definitions
Table 6.1.1.1 Description of the "type" attribute for the "AcadSessionGUIDRef" class
Table 6.1.2 AcademicSession class definitions
Table 6.1.2.1 Description of the "title" attribute for the "AcademicSession" class
Table 6.1.2.2 Description of the "startDate" attribute for the "AcademicSession" class
Table 6.1.2.3 Description of the "endDate" attribute for the "AcademicSession" class
Table 6.1.2.4 Description of the "type" attribute for the "AcademicSession" class
Table 6.1.2.5 Description of the "parent" attribute for the "AcademicSession" class
Table 6.1.2.6 Description of the "children" attribute for the "AcademicSession" class
Table 6.1.2.7 Description of the "schoolYear" attribute for the "AcademicSession" class
Table 6.1.3 AcademicSessionSet class definitions
Table 6.1.3.1 Description of the "academicSessions" attribute for the "AcademicSessionSet" class
Table 6.1.4 Base class definitions
Table 6.1.4.1 Description of the "sourcedId" attribute for the "Base" class
Table 6.1.4.2 Description of the "status" attribute for the "Base" class
Table 6.1.4.3 Description of the "dateLastModified" attribute for the "Base" class
Table 6.1.4.4 Description of the "metadata" attribute for the "Base" class
Table 6.1.5 Class class definitions
Table 6.1.5.1 Description of the "title" attribute for the "Class" class
Table 6.1.5.2 Description of the "classCode" attribute for the "Class" class
Table 6.1.5.3 Description of the "classType" attribute for the "Class" class
Table 6.1.5.4 Description of the "location" attribute for the "Class" class
Table 6.1.5.5 Description of the "grades" attribute for the "Class" class
Table 6.1.5.6 Description of the "subjects" attribute for the "Class" class
Table 6.1.5.7 Description of the "course" attribute for the "Class" class
Table 6.1.5.8 Description of the "school" attribute for the "Class" class
Table 6.1.5.9 Description of the "terms" attribute for the "Class" class
Table 6.1.5.10 Description of the "subjectCodes" attribute for the "Class" class
Table 6.1.5.11 Description of the "periods" attribute for the "Class" class
Table 6.1.5.12 Description of the "resources" attribute for the "Class" class
Table 6.1.6 ClassGUIDRef class definitions
Table 6.1.6.1 Description of the "type" attribute for the "ClassGUIDRef" class
Table 6.1.7 ClassSet class definitions
Table 6.1.7.1 Description of the "classes" attribute for the "ClassSet" class
Table 6.1.8 Course class definitions
Table 6.1.8.1 Description of the "title" attribute for the "Course" class
Table 6.1.8.2 Description of the "schoolYear" attribute for the "Course" class
Table 6.1.8.3 Description of the "courseCode" attribute for the "Course" class
Table 6.1.8.4 Description of the "grades" attribute for the "Course" class
Table 6.1.8.5 Description of the "subjects" attribute for the "Course" class
Table 6.1.8.6 Description of the "org" attribute for the "Course" class
Table 6.1.8.7 Description of the "subjectCodes" attribute for the "Course" class
Table 6.1.8.8 Description of the "resources" attribute for the "Course" class
Table 6.1.9 CourseGUIDRef class definitions
Table 6.1.9.1 Description of the "type" attribute for the "CourseGUIDRef" class
Table 6.1.10 CourseSet class definitions
Table 6.1.10.1 Description of the "courses" attribute for the "CourseSet" class
Table 6.1.11 Credential class definitions
Table 6.1.11.1 Description of the "type" attribute for the "Credential" class
Table 6.1.11.2 Description of the "username" attribute for the "Credential" class
Table 6.1.11.3 Description of the "password" attribute for the "Credential" class
Table 6.1.11.4 Description of the "extensions" attribute for the "Credential" class
Table 6.1.12 Demographics class definitions
Table 6.1.12.1 Description of the "birthDate" attribute for the "Demographics" class
Table 6.1.12.2 Description of the "sex" attribute for the "Demographics" class
Table 6.1.12.3 Description of the "americanIndianOrAlaskaNative" attribute for the "Demographics" class
Table 6.1.12.4 Description of the "asian" attribute for the "Demographics" class
Table 6.1.12.5 Description of the "blackOrAfricanAmerican" attribute for the "Demographics" class
Table 6.1.12.6 Description of the "nativeHawaiianOrOtherPacificIslander" attribute for the "Demographics" class
Table 6.1.12.7 Description of the "white" attribute for the "Demographics" class
Table 6.1.12.8 Description of the "demographicRaceTwoOrMoreRaces" attribute for the "Demographics" class
Table 6.1.12.9 Description of the "hispanicOrLatinoEthnicity" attribute for the "Demographics" class
Table 6.1.12.10 Description of the "countryOfBirthCode" attribute for the "Demographics" class
Table 6.1.12.11 Description of the "stateOfBirthAbbreviation" attribute for the "Demographics" class
Table 6.1.12.12 Description of the "cityOfBirth" attribute for the "Demographics" class
Table 6.1.12.13 Description of the "publicSchoolResidenceStatus" attribute for the "Demographics" class
Table 6.1.13 DemographicsSet class definitions
Table 6.1.13.1 Description of the "demographics" attribute for the "DemographicsSet" class
Table 6.1.14 Enrollment class definitions
Table 6.1.14.1 Description of the "user" attribute for the "Enrollment" class
Table 6.1.14.2 Description of the "class" attribute for the "Enrollment" class
Table 6.1.14.3 Description of the "school" attribute for the "Enrollment" class
Table 6.1.14.4 Description of the "role" attribute for the "Enrollment" class
Table 6.1.14.5 Description of the "primary" attribute for the "Enrollment" class
Table 6.1.14.6 Description of the "beginDate" attribute for the "Enrollment" class
Table 6.1.14.7 Description of the "endDate" attribute for the "Enrollment" class
Table 6.1.15 EnrollmentSet class definitions
Table 6.1.15.1 Description of the "enrollments" attribute for the "EnrollmentSet" class
Table 6.1.16 GUIDRef class definitions
Table 6.1.16.1 Description of the "href" attribute for the "GUIDRef" class
Table 6.1.16.2 Description of the "sourcedId" attribute for the "GUIDRef" class
Table 6.1.17 Metadata class definitions
Table 6.1.17.1 Description of the "extensions" attribute for the "Metadata" class
Table 6.1.18 Org class definitions
Table 6.1.18.1 Description of the "name" attribute for the "Org" class
Table 6.1.18.2 Description of the "type" attribute for the "Org" class
Table 6.1.18.3 Description of the "identifier" attribute for the "Org" class
Table 6.1.18.4 Description of the "parent" attribute for the "Org" class
Table 6.1.18.5 Description of the "children" attribute for the "Org" class
Table 6.1.19 OrgGUIDRef class definitions
Table 6.1.19.1 Description of the "type" attribute for the "OrgGUIDRef" class
Table 6.1.20 OrgSet class definitions
Table 6.1.20.1 Description of the "orgs" attribute for the "OrgSet" class
Table 6.1.21 ResourceGUIDRef class definitions
Table 6.1.21.1 Description of the "type" attribute for the "ResourceGUIDRef" class
Table 6.1.22 Role class definitions
Table 6.1.22.1 Description of the "roleType" attribute for the "Role" class
Table 6.1.22.2 Description of the "role" attribute for the "Role" class
Table 6.1.22.3 Description of the "org" attribute for the "Role" class
Table 6.1.22.4 Description of the "userProfile" attribute for the "Role" class
Table 6.1.22.5 Description of the "beginDate" attribute for the "Role" class
Table 6.1.22.6 Description of the "endDate" attribute for the "Role" class
Table 6.1.23 SingleAcademicSession class definitions
Table 6.1.23.1 Description of the "academicSession" attribute for the "SingleAcademicSession" class
Table 6.1.24 SingleClass class definitions
Table 6.1.24.1 Description of the "class" attribute for the "SingleClass" class
Table 6.1.25 SingleCourse class definitions
Table 6.1.25.1 Description of the "course" attribute for the "SingleCourse" class
Table 6.1.26 SingleDemographics class definitions
Table 6.1.26.1 Description of the "demographics" attribute for the "SingleDemographics" class
Table 6.1.27 SingleEnrollment class definitions
Table 6.1.27.1 Description of the "enrollment" attribute for the "SingleEnrollment" class
Table 6.1.28 SingleOrg class definitions
Table 6.1.28.1 Description of the "org" attribute for the "SingleOrg" class
Table 6.1.29 SingleUser class definitions
Table 6.1.29.1 Description of the "user" attribute for the "SingleUser" class
Table 6.1.30 User class definitions
Table 6.1.30.1 Description of the "userMasterIdentifier" attribute for the "User" class
Table 6.1.30.2 Description of the "username" attribute for the "User" class
Table 6.1.30.3 Description of the "userIds" attribute for the "User" class
Table 6.1.30.4 Description of the "enabledUser" attribute for the "User" class
Table 6.1.30.5 Description of the "givenName" attribute for the "User" class
Table 6.1.30.6 Description of the "familyName" attribute for the "User" class
Table 6.1.30.7 Description of the "middleName" attribute for the "User" class
Table 6.1.30.8 Description of the "preferredFirstName" attribute for the "User" class
Table 6.1.30.9 Description of the "preferredMiddleName" attribute for the "User" class
Table 6.1.30.10 Description of the "preferredLastName" attribute for the "User" class
Table 6.1.30.11 Description of the "pronouns" attribute for the "User" class
Table 6.1.30.12 Description of the "roles" attribute for the "User" class
Table 6.1.30.13 Description of the "userProfiles" attribute for the "User" class
Table 6.1.30.14 Description of the "primaryOrg" attribute for the "User" class
Table 6.1.30.15 Description of the "identifier" attribute for the "User" class
Table 6.1.30.16 Description of the "email" attribute for the "User" class
Table 6.1.30.17 Description of the "sms" attribute for the "User" class
Table 6.1.30.18 Description of the "phone" attribute for the "User" class
Table 6.1.30.19 Description of the "agents" attribute for the "User" class
Table 6.1.30.20 Description of the "grades" attribute for the "User" class
Table 6.1.30.21 Description of the "password" attribute for the "User" class
Table 6.1.30.22 Description of the "resources" attribute for the "User" class
Table 6.1.31 UserGUIDRef class definitions
Table 6.1.31.1 Description of the "type" attribute for the "UserGUIDRef" class
Table 6.1.32 UserId class definitions
Table 6.1.32.1 Description of the "type" attribute for the "UserId" class
Table 6.1.32.2 Description of the "identifier" attribute for the "UserId" class
Table 6.1.33 UserProfile class definitions
Table 6.1.33.1 Description of the "profileId" attribute for the "UserProfile" class
Table 6.1.33.2 Description of the "profileType" attribute for the "UserProfile" class
Table 6.1.33.3 Description of the "vendorId" attribute for the "UserProfile" class
Table 6.1.33.4 Description of the "applicationId" attribute for the "UserProfile" class
Table 6.1.33.5 Description of the "description" attribute for the "UserProfile" class
Table 6.1.33.6 Description of the "credentials" attribute for the "UserProfile" class
Table 6.1.34 UserSet class definitions
Table 6.1.34.1 Description of the "users" attribute for the "UserSet" class
Table 6.1.35 imsx_CodeMinor class definitions
Table 6.1.35.1 Description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class
Table 6.1.36 imsx_CodeMinorField class definitions
Table 6.1.36.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class
Table 6.1.36.2 Description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class
Table 6.1.37 imsx_StatusInfo class definitions
Table 6.1.37.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class
Table 6.1.37.2 Description of the "imsx_severity" attribute for the "imsx_StatusInfo" class
Table 6.1.37.3 Description of the "imsx_description" attribute for the "imsx_StatusInfo" class
Table 6.1.37.4 Description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class
Table 6.2.1 EnumExtString class definitions
Table 6.2.1.1 Description of the "pattern" attribute for the "EnumExtString" class
Table 6.2.2 GUID class definitions
Table 6.2.3 Identifier class definitions
Table 6.3.1 AcadSessionGUIDRefTypeEnum class definitions
Table 6.3.2 BaseStatusEnum class definitions
Table 6.3.3 ClassGUIDRefTypeEnum class definitions
Table 6.3.4 ClassTypeEnum class definitions
Table 6.3.5 CourseGUIDRefTypeEnum class definitions
Table 6.3.6 EnrolRoleEnum class definitions
Table 6.3.7 GenderEnum class definitions
Table 6.3.8 OrgGUIDRefTypeEnum class definitions
Table 6.3.9 OrgTypeEnum class definitions
Table 6.3.10 ResourceGUIDRefTypeEnum class definitions
Table 6.3.11 RoleEnum class definitions
Table 6.3.12 RoleTypeEnum class definitions
Table 6.3.13 SessionTypeEnum class definitions
Table 6.3.14 TrueFalseEnum class definitions
Table 6.3.15 UserGUIDRefTypeEnum class definitions
Table 6.3.16 imsx_CodeMajorEnum class definitions
Table 6.3.17 imsx_CodeMinorValueEnum class definitions
Table 6.3.18 imsx_SeverityEnum class definitions
Table 6.4.1 ClassTypeEnumExt class description
Table 6.4.2 EnrolRoleEnumExt class description
Table 6.4.3 GenderEnumExt class description
Table 6.4.4 OrgTypeEnumExt class description
Table 6.4.5 RoleEnumExt class description
Table 6.4.6 SessionTypeEnumExt class description
Table 7.1 Description of the AcademicSession link data class.
Table 7.2 Description of the Class link data class.
Table 7.3 Description of the Course link data class.
Table 7.4 Description of the Org link data class.
Table 7.5 Description of the Resource link data class.
Table 7.6 Description of the User link data class.
Table 7.7 Description of the UserProfile link data class.
Table A3.1 The key to the descriptions of data model diagrams
Table A3.2 The key to the descriptions of the data class tables
Table A3.3 The key to the descriptions of the data attribute/characteristic tables
Table A3.4 The key to the descriptions of the enumerated vocabulary tables
Table A3.5 The key to the descriptions of the external vocabulary tables
Table A3.6 The key to the descriptions of the import class tables
Table A3.7 The key to the descriptions of the link data tables
Table A3.8 The key to the descriptions of the common data model persistent identifier tables
Table B1.1 Interpretation of the CodeMajor/Severity behavior matrix
Table B1.2 Definition of the CodeMajor status code values
Table B1.3 Definition of the Severity status code values
Table B1.4 Definition of the CodeMinor status code field values
This Section is NOT NORMATIVE.
This document is the OneRoster 1.2 Rostering Service Model and as such it is used as the basis for the development of the following documents:
This information model defines the OneRoster Rostering 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 [I-BAT, 06]. This means that this specification is based upon the concepts of:
All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML diagrams), examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This means that from the perspective of conformance:
The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.
The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.
The set of changes made between OR 1.1 and OR 1.2 with respect to rostering are:
The structure of the rest of this document is:
2. Use-cases | The set of rostering use-cases that are a supported by this service. Only a one-line summary of each use-case is provided; |
3. Service Architecture and Specification Model | An overview of the service and the underlying service architecture and end-system service objects; |
4. The Behavior Model | The definition of the operations of the service. This focuses on the description of the behaviors supported by the service. The behaviors are grouped as interfaces; |
5. The Interface Data Model | The definition of the data models exchanged between the service End Systems. These are the parameters exchanged across the interoperability interface. These are an abbreviated description with the full set of details in the corresponding data class description; |
6. The Data Model | The definition of the data classes for the full data exchange. This addresses the data classes used to supplement the interface parameters. The descriptions are grouped according to their type e.g. data, enumeration, derived, etc. |
7. Link Data Definitions | The set of descriptions for the link data definitions that are used to establish the intra- and inter- specification relationships; |
8. Extending and Profiling the Service | An explanation of how the service can be extended, using the permitted points of extension and/or profiled. Profiling is the process by which the specification is tailored to a specific set of market/domain requirements; |
References | The set of cited documents, normative and informative, that are used to support the technical details in this document; |
Appendix A Modelling Concepts and Terms | An overview of the model driven approach, the concepts and the terms used by IMS to create the service model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model); |
Appendix B Service Status Codes | A summary list of the status codes, and their causes, that can be returned by each of the operations forming the service. These describe the end-to-end status of the transaction. |
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 |
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 |
This Section is NOT NORMATIVE.
The set of use-cases addressed by the OR Rostering Service are summarised in Table 2.1.
ID | Use-case Description |
---|---|
1 | To enable a system to obtain information about the set of people engaged in the teaching activities. To provide the details of the teachers, students or users (in general) that are involved in the teaching activities: this includes their demographics. |
2 | To enable a system to obtain information about the set of courses used for the teaching activities. To provide the details of the set of courses that are available including segmenting them by school. |
3 | To enable a system to obtain information about the set of classes used for the teaching activities. To provide the details of the set of classes that are available including segmenting them by course, school and user. |
4 | To enable a system to obtain the set of enrollments on a class. To provide the details of the set of enrollments on the various classes that are being supplied. This includes segmentation by class and/or school. |
5 | To enable a system to obtain information about the set of academic sessions across which the teaching is delivered. To provide the details of the set of academic sessions used in the organization. This includes identification of the set of terms and grading periods. |
6 | To enable a system to obtain information about the set of organizations responsible for delivering the teaching activities. To provide a list of the schools, districts and other organizations that are involved in the teaching activities. To enable details about each of these organizations to be obtained. |
This Section is NOT NORMATIVE.
It is important to remember that this document contains a description of the underlying information 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.
The basic architectural model for the OR Rostering Service specification is shown in Figure 3.1. In this architecture the scope of the IMS OR Rostering 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 Resources 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 Rostering systems (the OR Rostering 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.
The set of single objects that can be exchanged between OR Rostering end-systems are:
The set of collection objects that can be exchanged between OR Rostering end-systems are:
The relationships between the core classes in OR Rostering are shown in Figure 3.2.
Figure 3.2 - The relationships between the core classes in the Rostering data model.
The key relationships shown in Figure 3.2 are:
The OR Rostering Service is a synchronous service i.e. the consumer is blocked until the response from the provider is received. This means that a consumer can only have one outstanding request with a service provider. The corresponding sequence of actions is shown in Figure 3.3.
Figure 3.3 - The action sequence for the OR Rostering synchronous service.
Figure 3.3 shows the action sequence from the prespective of the consumer but it must be noted that a Service Provider will be expected to support concurrent requests from many consumers.
The rostering data model, and associated services, is the core of the OneRoster specification. Choreography with the other OneRoster services is dependent upon:
This Section is NORMATIVE
The model for the service representation is shown in Figure 4.1 and Table 4.1 (the syntax and semantics for this representation is described in Appendix A1.1). Following the service definition are the descriptions for the set of corresponding service operations (the syntax and semantics for these descriptions is described in Appendix A1.2).
Figure 4.1 - Service interface definitions.
Interface | Description |
---|---|
AcademicSessionsManagement | This enables the management of academic sessions i.e. periods of academic activity. |
ClassesManagement | This enables the management of Classes i.e. scheduled learning of courses. |
CoursesManagement | This enables the management of Courses i.e. programme of study. |
DemographicsManagement | This enables the management of demographics information (each assigned to a specific user). The sourcedIds for the user and the demograohics records should be the same. |
EnrollmentsManagement | This enables the management of the enrollments of users (teachers, students, etc.) on classes supplied by schools. |
GradingPeriodsManagement | This enables the management of grading periods i.e. specific academic sessions. |
OrgsManagement | This enables the management of orgs i.e. an organization involved in the learning in some form or other. |
SchoolsManagement | This enables the management of information about schools. A school is a type of 'org'. |
StudentsManagement | This enables the management of information about students (a student is a type of 'user'). |
TeachersManagement | This enables the management of information about teachers (a teacher is a type of 'user'). |
TermsManagement | This enables the management of information about terms (a term is a type of 'academicSession'). |
UsersManagement | This enables the management of information about users (including students and teachers). |
This enables the management of academic sessions i.e. periods of academic activity.
The set of operations for this interface are summarized in Table 4.2.
Operation | Description |
---|---|
getAllAcademicSessions | To read, get, a collection of academic sessions i.e. all academic sessions. |
getAcademicSession | To read, get, a specific academic session. If the specified academic session cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllAcademicSessions () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | academicSessions : AcademicSessionSet - the set of academic sessions that have been read from the service provider. |
Behavior: | To read, get, a collection of academic sessions i.e. all academic sessions. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getAcademicSession () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this academic session. |
Returned (out) Parameters: | academicSession : SingleAcademicSession - the academic Session that has been read from the service provider. |
Behavior: | To read, get, a specific academic session. If the specified academic session cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of Classes i.e. scheduled learning of courses.
The set of operations for this interface are summarized in Table 4.3.
Operation | Description |
---|---|
getAllClasses | To read, get, a collection of classes i.e. all classes. |
getClass | To read, get, a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getStudentsForClass | To read, get, the collection of students associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getTeachersForClass | To read, get, the collection of teachers associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllClasses () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To read, get, a collection of classes i.e. all classes. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClass () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this class. |
Returned (out) Parameters: | class : SingleClass - the class that has been read from the service provider. |
Behavior: | To read, get, a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getStudentsForClass () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | classSourcedId : GUID - the unique identifier, GUID, for the class. |
Returned (out) Parameters: | students : UserSet - the set of students that have been read from the service provider. |
Behavior: | To read, get, the collection of students associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTeachersForClass () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | classSourcedId : GUID - the unique identifier, GUID, for the class. |
Returned (out) Parameters: | teachers : UserSet - the set of teachers that have been read from the service provider. |
Behavior: | To read, get, the collection of teachers associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of Courses i.e. programme of study.
The set of operations for this interface are summarized in Table 4.4.
Operation | Description |
---|---|
getAllCourses | To read, get, a collection of courses i.e. all courses. |
getCourse | To read, get, a specific course. If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForCourse | To get the set of classes related to a specific course. If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllCourses () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | courses : CourseSet - the set of courses that have been read from the service provider. |
Behavior: | To read, get, a collection of courses i.e. all courses. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getCourse () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this course. |
Returned (out) Parameters: | course : SingleCourse - the course that has been read from the service provider. |
Behavior: | To read, get, a specific course. If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForCourse () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | courseSourcedId : GUID - the unique identifier, GUID, for the specific course. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To get the set of classes related to a specific course. If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of demographics information (each assigned to a specific user). The sourcedIds for the user and the demograohics records should be the same.
The set of operations for this interface are summarized in Table 4.5.
Operation | Description |
---|---|
getAllDemographics | To read, get, a collection of demographics i.e. all demographics. |
getDemographics | To read, get, a specific user demographics. If the specified user and/or demographics recrds cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllDemographics () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | demographics : DemographicsSet - the set of user demographics that have been read from the service provider. |
Behavior: | To read, get, a collection of demographics i.e. all demographics. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getDemographics () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this user demographics. |
Returned (out) Parameters: | demographics : SingleDemographics - the user demographics that has been read from the service provider. |
Behavior: | To read, get, a specific user demographics. If the specified user and/or demographics recrds cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of the enrollments of users (teachers, students, etc.) on classes supplied by schools.
The set of operations for this interface are summarized in Table 4.6.
Operation | Description |
---|---|
getAllEnrollments | To read, get, a collection of enrollments i.e. all enrollments. |
getEnrollment | To read, get, a specific enrollment. If the specified enrollment cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllEnrollments () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | enrollments : EnrollmentSet - the set of enrollments that have been read from the service provider. |
Behavior: | To read, get, a collection of enrollments i.e. all enrollments. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getEnrollment () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this enrollment. |
Returned (out) Parameters: | enrollment : SingleEnrollment - the enrollment that has been read from the service provider. |
Behavior: | To read, get, a specific enrollment. If the specified enrollment cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of grading periods i.e. specific academic sessions.
The set of operations for this interface are summarized in Table 4.7.
Operation | Description |
---|---|
getAllGradingPeriods | To read, get, a collection of grading periods i.e. all academic sessions. |
getGradingPeriod | To read, get, a specific grading period. If the specified grading period cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllGradingPeriods () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | academicSessions : AcademicSessionSet - the set of grading periods that have been read from the service provider. |
Behavior: | To read, get, a collection of grading periods i.e. all academic sessions. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getGradingPeriod () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this grading period. |
Returned (out) Parameters: | academicSession : SingleAcademicSession - the grading period that has been read from the service provider. |
Behavior: | To read, get, a specific grading period. If the specified grading period cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of orgs i.e. an organization involved in the learning in some form or other.
The set of operations for this interface are summarized in Table 4.8.
Operation | Description |
---|---|
getAllOrgs | To read, get, a collection of orgs i.e. all orgs. |
getOrg | To read, get, a specific org. If the specified org cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllOrgs () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | orgs : OrgSet - the set of orgs that have been read from the service provider. |
Behavior: | To read, get, a collection of orgs i.e. all orgs. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getOrg () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this org. |
Returned (out) Parameters: | org : SingleOrg - the org that has been read from the service provider. |
Behavior: | To read, get, a specific org. If the specified org cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of information about schools. A school is a type of 'org'.
The set of operations for this interface are summarized in Table 4.9.
Operation | Description |
---|---|
getAllSchools | To read, get, a collection of schools i.e. all schools. |
getSchool | To read, get, a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getCoursesForSchool | To read, get, the collection of courses associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getEnrollmentsForClassInSchool | To read, get, the collection of enrollments associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getStudentsForClassInSchool | To read, get, the collection of students associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getTeachersForClassInSchool | To read, get, the collection of teachers associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getEnrollmentsForSchool | To read, get, the collection of enrollments associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getStudentsForSchool | To read, get, the collection of students associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getTeachersForSchool | To read, get, the collection of teachers associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getTermsForSchool | To read, get, the collection of terms associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForSchool | To read, get, the collection of classes associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllSchools () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | orgs : OrgSet - the set of schools that have been read from the service provider. |
Behavior: | To read, get, a collection of schools i.e. all schools. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this school. |
Returned (out) Parameters: | org : SingleOrg - the school that has been read from the service provider. |
Behavior: | To read, get, a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getCoursesForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the school. |
Returned (out) Parameters: | courses : CourseSet - the set of courses that have been read from the service provider. |
Behavior: | To read, get, the collection of courses associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getEnrollmentsForClassInSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the school. classSourcedId : GUID - the unique identifier, GUID, for the class. |
Returned (out) Parameters: | enrollments : EnrollmentSet - the set of enrollments that have been read from the service provider. |
Behavior: | To read, get, the collection of enrollments associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getStudentsForClassInSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. classSourcedId : GUID - the unique identifier, GUID, for the class. |
Returned (out) Parameters: | students : UserSet - the set of students that have been read from the service provider. |
Behavior: | To read, get, the collection of students associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTeachersForClassInSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. classSourcedId : GUID - the unique identifier, GUID, for the class. |
Returned (out) Parameters: | teachers : UserSet - the set of teachers that have been read from the service provider. |
Behavior: | To read, get, the collection of teachers associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getEnrollmentsForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. |
Returned (out) Parameters: | enrollments : EnrollmentSet - the set of enrollments that have been read from the service provider. |
Behavior: | To read, get, the collection of enrollments associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getStudentsForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. |
Returned (out) Parameters: | students : UserSet - the set of students that have been read from the service provider. |
Behavior: | To read, get, the collection of students associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTeachersForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. |
Returned (out) Parameters: | teachers : UserSet - the set of teachers that have been read from the service provider. |
Behavior: | To read, get, the collection of teachers associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTermsForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. |
Returned (out) Parameters: | terms : AcademicSessionSet - the set of terms that have been read from the service provider. |
Behavior: | To read, get, the collection of terms associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForSchool () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | schoolSourcedId : GUID - the unique identifier, GUID, for the specific school. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To read, get, the collection of classes associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of information about students (a student is a type of 'user').
The set of operations for this interface are summarized in Table 4.10.
Operation | Description |
---|---|
getAllStudents | To read, get, a collection of students i.e. all students. |
getStudent | To read, get, a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForStudent | To get the set of classes related to a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllStudents () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | users : UserSet - the set of students that have been read from the service provider. |
Behavior: | To read, get, a collection of students i.e. all students. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getStudent () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this student. |
Returned (out) Parameters: | user : SingleUser - the student that has been read from the service provider. |
Behavior: | To read, get, a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForStudent () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | studentSourcedId : GUID - the unique identifier, GUID, for the specific student. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To get the set of classes related to a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of information about teachers (a teacher is a type of 'user').
The set of operations for this interface are summarized in Table 4.11.
Operation | Description |
---|---|
getAllTeachers | To read, get, a collection of teachers i.e. all teachers. |
getTeacher | To read, get, a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForTeacher | To get the set of classes related to a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllTeachers () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | users : UserSet - the set of teachers that have been read from the service provider. |
Behavior: | To read, get, a collection of teachers i.e. all teachers. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTeacher () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this teacher. |
Returned (out) Parameters: | user : SingleUser - the teacher that has been read from the service provider. |
Behavior: | To read, get, a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForTeacher () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | teacherSourcedId : GUID - the unique identifier, GUID, for the specific teacher. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To get the set of classes related to a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of information about terms (a term is a type of 'academicSession').
The set of operations for this interface are summarized in Table 4.12.
Operation | Description |
---|---|
getAllTerms | To read, get, a collection of terms i.e. all terms. |
getTerm | To read, get, a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForTerm | To get the set of classes related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getGradingPeriodsForTerm | To get the set of grading periods related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllTerms () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | academicSessions : AcademicSessionSet - the set of terms that have been read from the service provider. |
Behavior: | To read, get, a collection of terms i.e. all terms. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getTerm () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this term. |
Returned (out) Parameters: | academicSession : SingleAcademicSession - the term that has been read from the service provider |
Behavior: | To read, get, a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForTerm () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | termSourcedId : GUID - the unique identifier, GUID, for the specific term. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To get the set of classes related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getGradingPeriodsForTerm () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | termSourcedId : GUID - the unique identifier, GUID, for the specific term. |
Returned (out) Parameters: | gradingPeriods : AcademicSessionSet - the set of grading periods that have been read from the service provider. |
Behavior: | To get the set of grading periods related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This enables the management of information about users (including students and teachers).
The set of operations for this interface are summarized in Table 4.13.
Operation | Description |
---|---|
getAllUsers | To read, get, a collection of users i.e. all users (including students and teachers). |
getUser | To read, get, a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
getClassesForUser | To get the set of classes related to a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Name: | getAllUsers () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | None. |
Returned (out) Parameters: | users : UserSet - the set of users that have been read from the service provider. |
Behavior: | To read, get, a collection of users i.e. all users (including students and teachers). |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getUser () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | sourcedId : GUID - the unique identifier, GUID, for this user. |
Returned (out) Parameters: | user : SingleUser - the user that has been read from the service provider. |
Behavior: | To read, get, a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
Name: | getClassesForUser () |
Return Function Parameter: | statusInfo : imsx_StatusInfo - the transaction-level status information for the request. This report has end-to-end significance and must map between the messaging technology approach and the business transaction API. For REST-based bindings this structure describes the message payload that must be returned when the request has not been successfully completed. |
Supplied (in) Parameters: | userSourcedId : GUID - the unique identifier, GUID, for the specific user. |
Returned (out) Parameters: | classes : ClassSet - the set of classes that have been read from the service provider. |
Behavior: | To get the set of classes related to a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. |
Notes: |
Query Parameters for the REST-based binding have been defined for this operation, namely:
|
This Section is NORMATIVE
The set of operations described within the behavior model (The Behavior Model) are based upon class descriptions specific to the parameters of the operations. All parameters are mandatory. The syntax and semantics for this representation is described in Appendix A2.
The data model for the "AcademicSessionSet" class is shown in Figure 5.1 and the accompanying definition in Table 5.1.
Figure 5.1 - AcademicSessionSet class definitions.
Descriptor | Definition |
---|---|
Class Name | AcademicSessionSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of academicSessions 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. |
The description of the "academicSessions" attribute for the "AcademicSessionSet" class is given in Table 5.1.1.
Descriptor | Definition |
---|---|
Attribute Name | academicSessions |
Data Type | AcademicSession |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of academicSession instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "ClassSet" class is shown in Figure 5.2 and the accompanying definition in Table 5.2.
Figure 5.2 - ClassSet class definitions.
Descriptor | Definition |
---|---|
Class Name | ClassSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of classes 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. |
The description of the "classes" attribute for the "ClassSet" class is given in Table 5.2.1.
Descriptor | Definition |
---|---|
Attribute Name | classes |
Data Type | Class |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of class instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "CourseSet" class is shown in Figure 5.3 and the accompanying definition in Table 5.3.
Figure 5.3 - CourseSet class definitions.
Descriptor | Definition |
---|---|
Class Name | CourseSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of courses 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. |
The description of the "courses" attribute for the "CourseSet" class is given in Table 5.3.1.
Descriptor | Definition |
---|---|
Attribute Name | courses |
Data Type | Course |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of course instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "DemographicsSet" class is shown in Figure 5.4 and the accompanying definition in Table 5.4.
Figure 5.4 - DemographicsSet class definitions.
Descriptor | Definition |
---|---|
Class Name | DemographicsSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of demographics 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. |
The description of the "demographics" attribute for the "DemographicsSet" class is given in Table 5.4.1.
Descriptor | Definition |
---|---|
Attribute Name | demographics |
Data Type | Demographics |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of demographics instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "EnrollmentSet" class is shown in Figure 5.5 and the accompanying definition in Table 5.5.
Figure 5.5 - EnrollmentSet class definitions.
Descriptor | Definition |
---|---|
Class Name | EnrollmentSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of enrollment 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. |
The description of the "enrollments" attribute for the "EnrollmentSet" class is given in Table 5.5.1.
Descriptor | Definition |
---|---|
Attribute Name | enrollments |
Data Type | Enrollment |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of enrollment instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "GUID" class is shown in Figure 5.6 and the accompanying definition in Table 5.6.
Figure 5.6 - GUID class definitions.
Descriptor | Definition |
---|---|
Class Name | GUID |
Class Type | Container [ DerivedType ] |
Parents | Service parameter data-type used in the following operations:
|
Characteristics | There are no characteristics. |
Children | There are no children. |
Description | The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID. |
The data model for the "OrgSet" class is shown in Figure 5.7 and the accompanying definition in Table 5.7.
Figure 5.7 - OrgSet class definitions.
Descriptor | Definition |
---|---|
Class Name | OrgSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of org 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. |
The description of the "orgs" attribute for the "OrgSet" class is given in Table 5.7.1.
Descriptor | Definition |
---|---|
Attribute Name | orgs |
Data Type | Org |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of org instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "SingleAcademicSession" class is shown in Figure 5.8 and the accompanying definition in Table 5.8.
Figure 5.8 - SingleAcademicSession class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleAcademicSession |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single academicSession instance for a message payload. |
The description of the "academicSession" attribute for the "SingleAcademicSession" class is given in Table 5.8.1.
Descriptor | Definition |
---|---|
Attribute Name | academicSession |
Data Type | AcademicSession |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single academicSession for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleClass" class is shown in Figure 5.9 and the accompanying definition in Table 5.9.
Figure 5.9 - SingleClass class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleClass |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single class instance for a message payload. |
The description of the "class" attribute for the "SingleClass" class is given in Table 5.9.1.
Descriptor | Definition |
---|---|
Attribute Name | class |
Data Type | Class |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single class for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleCourse" class is shown in Figure 5.10 and the accompanying definition in Table 5.10.
Figure 5.10 - SingleCourse class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleCourse |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single course instance for a message payload. |
The description of the "course" attribute for the "SingleCourse" class is given in Table 5.10.1.
Descriptor | Definition |
---|---|
Attribute Name | course |
Data Type | Course |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single course for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleDemographics" class is shown in Figure 5.11 and the accompanying definition in Table 5.11.
Figure 5.11 - SingleDemographics class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleDemographics |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single demographics instance for a message payload. |
The description of the "demographics" attribute for the "SingleDemographics" class is given in Table 5.11.1.
Descriptor | Definition |
---|---|
Attribute Name | demographics |
Data Type | Demographics |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single demographics for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleEnrollment" class is shown in Figure 5.12 and the accompanying definition in Table 5.12.
Figure 5.12 - SingleEnrollment class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleEnrollment |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single enrollment instance for a message payload. |
The description of the "enrollment" attribute for the "SingleEnrollment" class is given in Table 5.12.1.
Descriptor | Definition |
---|---|
Attribute Name | enrollment |
Data Type | Enrollment |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single enrollment for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleOrg" class is shown in Figure 5.13 and the accompanying definition in Table 5.13.
Figure 5.13 - SingleOrg class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleOrg |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single org instance for a message payload. |
The description of the "org" attribute for the "SingleOrg" class is given in Table 5.13.1.
Descriptor | Definition |
---|---|
Attribute Name | org |
Data Type | Org |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single org for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleUser" class is shown in Figure 5.14 and the accompanying definition in Table 5.14.
Figure 5.14 - SingleUser class definitions.
Descriptor | Definition |
---|---|
Class Name | SingleUser |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a single user instance for a message payload. |
The description of the "user" attribute for the "SingleUser" class is given in Table 5.14.1.
Descriptor | Definition |
---|---|
Attribute Name | user |
Data Type | User |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single user for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "UserSet" class is shown in Figure 5.15 and the accompanying definition in Table 5.15.
Figure 5.15 - UserSet class definitions.
Descriptor | Definition |
---|---|
Class Name | UserSet |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations: |
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for a collection of user 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. |
The description of the "users" attribute for the "UserSet" class is given in Table 5.15.1.
Descriptor | Definition |
---|---|
Attribute Name | users |
Data Type | User |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of user instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "imsx_StatusInfo" class is shown in Figure 5.16 and the accompanying definition in Table 5.16.
Figure 5.16 - imsx_StatusInfo class definitions.
Descriptor | Definition |
---|---|
Class Name | imsx_StatusInfo |
Class Type | Container [ Sequence ] |
Parents | Service parameter data-type used in the following operations:
|
Characteristics | There are no characteristics. |
Children | The set of children attributes are: |
Description | This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Rostering service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class. |
The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 5.16.1.
Descriptor | Definition |
---|---|
Attribute Name | imsx_codeMajor |
Data Type | imsx_CodeMajorEnum |
Value Space | Enumerated value set of: { success | processing | failure | unsupported } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field. |
The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 5.16.2.
Descriptor | Definition |
---|---|
Attribute Name | imsx_severity |
Data Type | imsx_SeverityEnum |
Value Space | Enumerated value set of: { status | warning | error } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. |
The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 5.16.3.
Descriptor | Definition |
---|---|
Attribute Name | imsx_description |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | A human readable description supplied by the entity creating the status code information. |
The description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class is given in Table 5.16.4.
Descriptor | Definition |
---|---|
Attribute Name | imsx_CodeMinor |
Data Type | imsx_CodeMinor |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes. |
This Section is NORMATIVE.
All of the data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.
The data model for the "AcadSessionGUIDRef" class is shown in Figure 6.1.1 and the accompanying definition in Table 6.1.1.
Figure 6.1.1 - AcadSessionGUIDRef class definitions.
The description of the "type" attribute for the "AcadSessionGUIDRef" class is given in Table 6.1.1.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | AcadSessionGUIDRefTypeEnum |
Value Space | Enumerated value set of: { academicSession } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. an 'academicSession'. |
The data model for the "AcademicSession" class is shown in Figure 6.1.2 and the accompanying definition in Table 6.1.2.
Figure 6.1.2 - AcademicSession class definitions.
The description of the "title" attribute for the "AcademicSession" class is given in Table 6.1.2.1.
Descriptor | Definition |
---|---|
Attribute Name | title |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The title/label for the academic session. |
The description of the "startDate" attribute for the "AcademicSession" class is given in Table 6.1.2.2.
Descriptor | Definition |
---|---|
Attribute Name | startDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The start date for the academic session. The start date is included in the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'. |
The description of the "endDate" attribute for the "AcademicSession" class is given in Table 6.1.2.3.
Descriptor | Definition |
---|---|
Attribute Name | endDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The end date for the academic session. The end date is excluded from the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'. |
The description of the "type" attribute for the "AcademicSession" class is given in Table 6.1.2.4.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | SessionTypeEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of academic session. This is based upon an enumerated vocabulary. |
The description of the "parent" attribute for the "AcademicSession" class is given in Table 6.1.2.5.
Descriptor | Definition |
---|---|
Attribute Name | parent |
Data Type | AcadSessionGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The link to parent AcademicSession i.e. an AcademicSession 'sourcedId'. |
Link Data | This is the 'sourcedId' of the parent Academic Session i.e. a link to another first class object. See AcademicSession for the details about this link. |
The description of the "children" attribute for the "AcademicSession" class is given in Table 6.1.2.6.
Descriptor | Definition |
---|---|
Attribute Name | children |
Data Type | AcadSessionGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of links to the child AcademicSessions i.e. a set of AcademicSession 'sourcedIds'. |
Link Data | This is the 'sourcedId' of a child Academic Session i.e. a link to another first class object. See AcademicSession for the details about this link. |
The description of the "schoolYear" attribute for the "AcademicSession" class is given in Table 6.1.2.7.
Descriptor | Definition |
---|---|
Attribute Name | schoolYear |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The school year for the academic session. This year should include the school year end e.g. 2014. This is in the [ISO 8601] format of 'YYYY'. |
The data model for the "AcademicSessionSet" class is shown in Figure 6.1.3 and the accompanying definition in Table 6.1.3.
Figure 6.1.3 - AcademicSessionSet class definitions.
The description of the "academicSessions" attribute for the "AcademicSessionSet" class is given in Table 6.1.3.1.
Descriptor | Definition |
---|---|
Attribute Name | academicSessions |
Data Type | AcademicSession |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of academicSession instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "Base" class is shown in Figure 6.1.4 and the accompanying definition in Table 6.1.4.
Figure 6.1.4 - Base class definitions.
The description of the "sourcedId" attribute for the "Base" class is given in Table 6.1.4.1.
Descriptor | Definition |
---|---|
Attribute Name | sourcedId |
Data Type | GUID |
Value Space | Container [ DerivedType ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record. |
The description of the "status" attribute for the "Base" class is given in Table 6.1.4.2.
Descriptor | Definition |
---|---|
Attribute Name | status |
Data Type | BaseStatusEnum |
Value Space | Enumerated value set of: { active | tobedeleted } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'. |
The description of the "dateLastModified" attribute for the "Base" class is given in Table 6.1.4.3.
Descriptor | Definition |
---|---|
Attribute Name | dateLastModified |
Data Type | DateTime (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone. |
The description of the "metadata" attribute for the "Base" class is given in Table 6.1.4.4.
Descriptor | Definition |
---|---|
Attribute Name | metadata |
Data Type | Metadata |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | All objects CAN be extended using the Metadata class. This specification is silent on what implementers may consider to be appropriate extensions. The form of the extension is dependent on the binding technology being used. |
The data model for the "Class" class is shown in Figure 6.1.5 and the accompanying definition in Table 6.1.5.
Figure 6.1.5 - Class class definitions.
The description of the "title" attribute for the "Class" class is given in Table 6.1.5.1.
Descriptor | Definition |
---|---|
Attribute Name | title |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The tile/label for the class. |
The description of the "classCode" attribute for the "Class" class is given in Table 6.1.5.2.
Descriptor | Definition |
---|---|
Attribute Name | classCode |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The class code. |
The description of the "classType" attribute for the "Class" class is given in Table 6.1.5.3.
Descriptor | Definition |
---|---|
Attribute Name | classType |
Data Type | ClassTypeEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The type of class. This is based upon an enumerated vocabulary. |
The description of the "location" attribute for the "Class" class is given in Table 6.1.5.4.
Descriptor | Definition |
---|---|
Attribute Name | location |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The location for the class e.g. 'Room 19'. |
The description of the "grades" attribute for the "Class" class is given in Table 6.1.5.5.
Descriptor | Definition |
---|---|
Attribute Name | grades |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The grade(s) who attend the class. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The description of the "subjects" attribute for the "Class" class is given in Table 6.1.5.6.
Descriptor | Definition |
---|---|
Attribute Name | subjects |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of subjects addressed by this class e.g. 'chemistry'. |
The description of the "course" attribute for the "Class" class is given in Table 6.1.5.7.
Descriptor | Definition |
---|---|
Attribute Name | course |
Data Type | CourseGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the associated course i.e. the Course 'sourcedId'. |
Link Data | This is the 'sourcedId' of the associated Course i.e. a link to another first class object. See Course for the details about this link. |
The description of the "school" attribute for the "Class" class is given in Table 6.1.5.8.
Descriptor | Definition |
---|---|
Attribute Name | school |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the associated school i.e. the School 'sourcedId'. |
Link Data | This is the 'sourcedId' of the associated organisation (this MUST be a School) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "terms" attribute for the "Class" class is given in Table 6.1.5.9.
Descriptor | Definition |
---|---|
Attribute Name | terms |
Data Type | AcadSessionGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1.. unbounded] |
Description | The links to the set of terms or semesters (academicSession) i.e. the set of 'sourcedIds' for the terms within the associated school year. |
Link Data | This is the 'sourcedId' of the associated academic session (this MUST be a Term) i.e. a link to another first class object. See AcademicSession for the details about this link. |
The description of the "subjectCodes" attribute for the "Class" class is given in Table 6.1.5.10.
Descriptor | Definition |
---|---|
Attribute Name | subjectCodes |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details). |
The description of the "periods" attribute for the "Class" class is given in Table 6.1.5.11.
Descriptor | Definition |
---|---|
Attribute Name | periods |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The time slots in the day that the class will be given. Examples are 1 or a list of 1, 3, 5, etc. |
The description of the "resources" attribute for the "Class" class is given in Table 6.1.5.12.
Descriptor | Definition |
---|---|
Attribute Name | resources |
Data Type | ResourceGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The links to the set of associated resources i.e. the Resource 'sourcedIds'. |
Link Data | This is the 'sourcedId' of the associated resource rostering description i.e. a link to another first class object. See Resource for the details about this link. |
The data model for the "ClassGUIDRef" class is shown in Figure 6.1.6 and the accompanying definition in Table 6.1.6.
Figure 6.1.6 - ClassGUIDRef class definitions.
The description of the "type" attribute for the "ClassGUIDRef" class is given in Table 6.1.6.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | ClassGUIDRefTypeEnum |
Value Space | Enumerated value set of: { class } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. a 'class'. |
The data model for the "ClassSet" class is shown in Figure 6.1.7 and the accompanying definition in Table 6.1.7.
Figure 6.1.7 - ClassSet class definitions.
The description of the "classes" attribute for the "ClassSet" class is given in Table 6.1.7.1.
Descriptor | Definition |
---|---|
Attribute Name | classes |
Data Type | Class |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of class instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "Course" class is shown in Figure 6.1.8 and the accompanying definition in Table 6.1.8.
Figure 6.1.8 - Course class definitions.
The description of the "title" attribute for the "Course" class is given in Table 6.1.8.1.
Descriptor | Definition |
---|---|
Attribute Name | title |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The title of the course. |
The description of the "schoolYear" attribute for the "Course" class is given in Table 6.1.8.2.
Descriptor | Definition |
---|---|
Attribute Name | schoolYear |
Data Type | AcadSessionGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The link to academicSession i.e. the AcademicSession 'sourcedId'. |
Link Data | This is the 'sourcedId' of the associated Academic Session (this MUST be a School Year) i.e. a link to another first class object. See AcademicSession for the details about this link. |
The description of the "courseCode" attribute for the "Course" class is given in Table 6.1.8.3.
Descriptor | Definition |
---|---|
Attribute Name | courseCode |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The assigned course code. |
The description of the "grades" attribute for the "Course" class is given in Table 6.1.8.4.
Descriptor | Definition |
---|---|
Attribute Name | grades |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | Grade(s) for which the class is attended. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The description of the "subjects" attribute for the "Course" class is given in Table 6.1.8.5.
Descriptor | Definition |
---|---|
Attribute Name | subjects |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of subjects addresse by this course. This is a set of human readable strings. |
The description of the "org" attribute for the "Course" class is given in Table 6.1.8.6.
Descriptor | Definition |
---|---|
Attribute Name | org |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The link to org i.e. the 'sourcedId' of the org. |
Link Data | This is the 'sourcedId' of the associated organisation (Org) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "subjectCodes" attribute for the "Course" class is given in Table 6.1.8.7.
Descriptor | Definition |
---|---|
Attribute Name | subjectCodes |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details). |
The description of the "resources" attribute for the "Course" class is given in Table 6.1.8.8.
Descriptor | Definition |
---|---|
Attribute Name | resources |
Data Type | ResourceGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The links to the associated resources if applicable i.e. the resource 'sourcedIds'. |
Link Data | This is the 'sourcedId' of the associated resource rostering description i.e. a link to another first class object. See Resource for the details about this link. |
The data model for the "CourseGUIDRef" class is shown in Figure 6.1.9 and the accompanying definition in Table 6.1.9.
Figure 6.1.9 - CourseGUIDRef class definitions.
The description of the "type" attribute for the "CourseGUIDRef" class is given in Table 6.1.9.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | CourseGUIDRefTypeEnum |
Value Space | Enumerated value set of: { course } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. a 'course'. |
The data model for the "CourseSet" class is shown in Figure 6.1.10 and the accompanying definition in Table 6.1.10.
Figure 6.1.10 - CourseSet class definitions.
The description of the "courses" attribute for the "CourseSet" class is given in Table 6.1.10.1.
Descriptor | Definition |
---|---|
Attribute Name | courses |
Data Type | Course |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of course instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "Credential" class is shown in Figure 6.1.11 and the accompanying definition in Table 6.1.11.
Figure 6.1.11 - Credential class definitions.
The description of the "type" attribute for the "Credential" class is given in Table 6.1.11.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of credentials for the profile. This should be indicative of when this specific credential should be used. |
The description of the "username" attribute for the "Credential" class is given in Table 6.1.11.2.
Descriptor | Definition |
---|---|
Attribute Name | username |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The username. |
The description of the "password" attribute for the "Credential" class is given in Table 6.1.11.3.
Descriptor | Definition |
---|---|
Attribute Name | password |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The password in this set of credentials. Care should be taken to ensure that no unencrypted value is revealed. |
The description of the "extensions" attribute for the "Credential" class is given in Table 6.1.11.4.
Descriptor | Definition |
---|---|
Attribute Name | extensions |
Data Type | Namespace (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of proprietary extensions to enable other important credential information to be supplied. This information will only be relevant in the context of the corresponding system/app/tool. The form of this information is dependent on the type of binding being used. |
The data model for the "Demographics" class is shown in Figure 6.1.12 and the accompanying definition in Table 6.1.12.
Figure 6.1.12 - Demographics class definitions.
The description of the "birthDate" attribute for the "Demographics" class is given in Table 6.1.12.1.
Descriptor | Definition |
---|---|
Attribute Name | birthDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | the date of birth. The format is [ISO 8601] of 'YYYY-MM-DD'. |
The description of the "sex" attribute for the "Demographics" class is given in Table 6.1.12.2.
Descriptor | Definition |
---|---|
Attribute Name | sex |
Data Type | GenderEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The sex of the individual. The permitted values are from an enumerated list. |
The description of the "americanIndianOrAlaskaNative" attribute for the "Demographics" class is given in Table 6.1.12.3.
Descriptor | Definition |
---|---|
Attribute Name | americanIndianOrAlaskaNative |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is an American Indian or Alaska Native ethnicity. |
The description of the "asian" attribute for the "Demographics" class is given in Table 6.1.12.4.
Descriptor | Definition |
---|---|
Attribute Name | asian |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is of Asian ethnicity. |
The description of the "blackOrAfricanAmerican" attribute for the "Demographics" class is given in Table 6.1.12.5.
Descriptor | Definition |
---|---|
Attribute Name | blackOrAfricanAmerican |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is black or African American ethnicity. |
The description of the "nativeHawaiianOrOtherPacificIslander" attribute for the "Demographics" class is given in Table 6.1.12.6.
Descriptor | Definition |
---|---|
Attribute Name | nativeHawaiianOrOtherPacificIslander |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is Native Hawaiian or Other Pacific Islander ethnicity. |
The description of the "white" attribute for the "Demographics" class is given in Table 6.1.12.7.
Descriptor | Definition |
---|---|
Attribute Name | white |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is of white ethnicity. |
The description of the "demographicRaceTwoOrMoreRaces" attribute for the "Demographics" class is given in Table 6.1.12.8.
Descriptor | Definition |
---|---|
Attribute Name | demographicRaceTwoOrMoreRaces |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user has a demographic of two or more race ethnicities. |
The description of the "hispanicOrLatinoEthnicity" attribute for the "Demographics" class is given in Table 6.1.12.9.
Descriptor | Definition |
---|---|
Attribute Name | hispanicOrLatinoEthnicity |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identification of whether or not the user is Hispanic or of Latino ethnicity. |
The description of the "countryOfBirthCode" attribute for the "Demographics" class is given in Table 6.1.12.10.
Descriptor | Definition |
---|---|
Attribute Name | countryOfBirthCode |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The country of birth code. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The description of the "stateOfBirthAbbreviation" attribute for the "Demographics" class is given in Table 6.1.12.11.
Descriptor | Definition |
---|---|
Attribute Name | stateOfBirthAbbreviation |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The abbreviation for the name of the state (within the United States) or extra-state jurisdiction in which a person was born. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The description of the "cityOfBirth" attribute for the "Demographics" class is given in Table 6.1.12.12.
Descriptor | Definition |
---|---|
Attribute Name | cityOfBirth |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The name of the city in which the user was born. |
The description of the "publicSchoolResidenceStatus" attribute for the "Demographics" class is given in Table 6.1.12.13.
Descriptor | Definition |
---|---|
Attribute Name | publicSchoolResidenceStatus |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | An indication of the location of a person's legal residence relative to (within or outside) the boundaries of the public school attended and its administrative unit. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The data model for the "DemographicsSet" class is shown in Figure 6.1.13 and the accompanying definition in Table 6.1.13.
Figure 6.1.13 - DemographicsSet class definitions.
The description of the "demographics" attribute for the "DemographicsSet" class is given in Table 6.1.13.1.
Descriptor | Definition |
---|---|
Attribute Name | demographics |
Data Type | Demographics |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of demographics instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "Enrollment" class is shown in Figure 6.1.14 and the accompanying definition in Table 6.1.14.
Figure 6.1.14 - Enrollment class definitions.
The description of the "user" attribute for the "Enrollment" class is given in Table 6.1.14.1.
Descriptor | Definition |
---|---|
Attribute Name | user |
Data Type | UserGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the enrolled User i.e. the User 'sourcedId'. |
Link Data | This is the 'sourcedId' of the enrolled User i.e. a link to another first class object. See User for the details about this link. |
The description of the "class" attribute for the "Enrollment" class is given in Table 6.1.14.2.
Descriptor | Definition |
---|---|
Attribute Name | class |
Data Type | ClassGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the class on which the user is enrolled i.e. the Class 'sourcedId'. |
Link Data | This is the 'sourcedId' of the associated Class i.e. a link to another first class object. See Class for the details about this link. |
The description of the "school" attribute for the "Enrollment" class is given in Table 6.1.14.3.
Descriptor | Definition |
---|---|
Attribute Name | school |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the school at which the class is being provided i.e. an Org 'sourcedId'. |
Link Data | This is the 'sourcedId' of the associated organisation (this MUST be a School) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "role" attribute for the "Enrollment" class is given in Table 6.1.14.4.
Descriptor | Definition |
---|---|
Attribute Name | role |
Data Type | EnrolRoleEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The role of the user for this class in the school e.g teacher, student, etc. This is from an enumerated vocabulary. |
The description of the "primary" attribute for the "Enrollment" class is given in Table 6.1.14.5.
Descriptor | Definition |
---|---|
Attribute Name | primary |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Applicable only to teachers. Only one teacher should be designated as the primary teacher for a class (this value set as 'true') in the period defined by the begin/end dates. |
The description of the "beginDate" attribute for the "Enrollment" class is given in Table 6.1.14.6.
Descriptor | Definition |
---|---|
Attribute Name | beginDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The start date for the enrollment (inclusive). This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'. |
The description of the "endDate" attribute for the "Enrollment" class is given in Table 6.1.14.7.
Descriptor | Definition |
---|---|
Attribute Name | endDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The end date for the enrollment (exclusive). This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'. |
The data model for the "EnrollmentSet" class is shown in Figure 6.1.15 and the accompanying definition in Table 6.1.15.
Figure 6.1.15 - EnrollmentSet class definitions.
The description of the "enrollments" attribute for the "EnrollmentSet" class is given in Table 6.1.15.1.
Descriptor | Definition |
---|---|
Attribute Name | enrollments |
Data Type | Enrollment |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of enrollment instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "GUIDRef" class is shown in Figure 6.1.16 and the accompanying definition in Table 6.1.16.
Figure 6.1.16 - GUIDRef class definitions.
The description of the "href" attribute for the "GUIDRef" class is given in Table 6.1.16.1.
Descriptor | Definition |
---|---|
Attribute Name | href |
Data Type | AnyURI (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The URI for the type of object being referenced. |
The description of the "sourcedId" attribute for the "GUIDRef" class is given in Table 6.1.16.2.
Descriptor | Definition |
---|---|
Attribute Name | sourcedId |
Data Type | GUID |
Value Space | Container [ DerivedType ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The globally unique identifier of the object being referenced. |
The data model for the "Metadata" class is shown in Figure 6.1.17 and the accompanying definition in Table 6.1.17.
Figure 6.1.17 - Metadata class definitions.
The description of the "extensions" attribute for the "Metadata" class is given in Table 6.1.17.1.
Descriptor | Definition |
---|---|
Attribute Name | extensions |
Data Type | Namespace (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Global ("+") |
Multiplicity | [0.. unbounded] |
Description | The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions. |
The data model for the "Org" class is shown in Figure 6.1.18 and the accompanying definition in Table 6.1.18.
Figure 6.1.18 - Org class definitions.
The description of the "name" attribute for the "Org" class is given in Table 6.1.18.1.
Descriptor | Definition |
---|---|
Attribute Name | name |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The name of the organization. |
The description of the "type" attribute for the "Org" class is given in Table 6.1.18.2.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | OrgTypeEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of organization. This uses a predefined vocabulary. |
The description of the "identifier" attribute for the "Org" class is given in Table 6.1.18.3.
Descriptor | Definition |
---|---|
Attribute Name | identifier |
Data Type | Identifier |
Value Space | Container [ DerivedType ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | Human readable identifier for this org e.g. NCES ID. |
The description of the "parent" attribute for the "Org" class is given in Table 6.1.18.4.
Descriptor | Definition |
---|---|
Attribute Name | parent |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The 'sourcedId' of the parent organization. |
Link Data | This is the 'sourcedId' of the associated parent organisation (Org) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "children" attribute for the "Org" class is given in Table 6.1.18.5.
Descriptor | Definition |
---|---|
Attribute Name | children |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The 'sourcedIds' for the set of child organizations. |
Link Data | This is the 'sourcedId' of the associated child organisation (Org) i.e. a link to another first class object. See Org for the details about this link. |
The data model for the "OrgGUIDRef" class is shown in Figure 6.1.19 and the accompanying definition in Table 6.1.19.
Figure 6.1.19 - OrgGUIDRef class definitions.
The description of the "type" attribute for the "OrgGUIDRef" class is given in Table 6.1.19.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | OrgGUIDRefTypeEnum |
Value Space | Enumerated value set of: { org } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. an 'org'. |
The data model for the "OrgSet" class is shown in Figure 6.1.20 and the accompanying definition in Table 6.1.20.
Figure 6.1.20 - OrgSet class definitions.
The description of the "orgs" attribute for the "OrgSet" class is given in Table 6.1.20.1.
Descriptor | Definition |
---|---|
Attribute Name | orgs |
Data Type | Org |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of org instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "ResourceGUIDRef" class is shown in Figure 6.1.21 and the accompanying definition in Table 6.1.21.
Figure 6.1.21 - ResourceGUIDRef class definitions.
The description of the "type" attribute for the "ResourceGUIDRef" class is given in Table 6.1.21.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | ResourceGUIDRefTypeEnum |
Value Space | Enumerated value set of: { resource } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. a 'resource'. |
The data model for the "Role" class is shown in Figure 6.1.22 and the accompanying definition in Table 6.1.22.
Figure 6.1.22 - Role class definitions.
The description of the "roleType" attribute for the "Role" class is given in Table 6.1.22.1.
Descriptor | Definition |
---|---|
Attribute Name | roleType |
Data Type | RoleTypeEnum |
Value Space | Enumerated value set of: { primary | secondary } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | Indicates if this role is the primary or secondary role for that org. There MUST be one, and only one, primary role for each org. |
The description of the "role" attribute for the "Role" class is given in Table 6.1.22.2.
Descriptor | Definition |
---|---|
Attribute Name | role |
Data Type | RoleEnumExt |
Value Space | Container [ Union ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The role of the user in the org. The permitted values are from an enumerated list. |
The description of the "org" attribute for the "Role" class is given in Table 6.1.22.3.
Descriptor | Definition |
---|---|
Attribute Name | org |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The link to the associated org i.e. the 'sourcedId' for the org. |
Link Data | This is the 'sourcedId' of the associated organisation (Org) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "userProfile" attribute for the "Role" class is given in Table 6.1.22.4.
Descriptor | Definition |
---|---|
Attribute Name | userProfile |
Data Type | AnyURI (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The identifier for the system/tool/app access account that is relevant to this role in the org. The equivalent UserProfile should exist with a 'profileId' equal to this identifier value. |
Link Data | This is the identifier for the user profile description with the credentials for the associated role. See UserProfile for the details about this link. |
The description of the "beginDate" attribute for the "Role" class is given in Table 6.1.22.5.
Descriptor | Definition |
---|---|
Attribute Name | beginDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The start date on which the role becomes active (inclusive). |
The description of the "endDate" attribute for the "Role" class is given in Table 6.1.22.6.
Descriptor | Definition |
---|---|
Attribute Name | endDate |
Data Type | Date (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The end date on which the role becomes inactive (exclusive). |
The data model for the "SingleAcademicSession" class is shown in Figure 6.1.23 and the accompanying definition in Table 6.1.23.
Figure 6.1.23 - SingleAcademicSession class definitions.
The description of the "academicSession" attribute for the "SingleAcademicSession" class is given in Table 6.1.23.1.
Descriptor | Definition |
---|---|
Attribute Name | academicSession |
Data Type | AcademicSession |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single academicSession for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleClass" class is shown in Figure 6.1.24 and the accompanying definition in Table 6.1.24.
Figure 6.1.24 - SingleClass class definitions.
The description of the "class" attribute for the "SingleClass" class is given in Table 6.1.24.1.
Descriptor | Definition |
---|---|
Attribute Name | class |
Data Type | Class |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single class for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleCourse" class is shown in Figure 6.1.25 and the accompanying definition in Table 6.1.25.
Figure 6.1.25 - SingleCourse class definitions.
The description of the "course" attribute for the "SingleCourse" class is given in Table 6.1.25.1.
Descriptor | Definition |
---|---|
Attribute Name | course |
Data Type | Course |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single course for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleDemographics" class is shown in Figure 6.1.26 and the accompanying definition in Table 6.1.26.
Figure 6.1.26 - SingleDemographics class definitions.
The description of the "demographics" attribute for the "SingleDemographics" class is given in Table 6.1.26.1.
Descriptor | Definition |
---|---|
Attribute Name | demographics |
Data Type | Demographics |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single demographics for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleEnrollment" class is shown in Figure 6.1.27 and the accompanying definition in Table 6.1.27.
Figure 6.1.27 - SingleEnrollment class definitions.
The description of the "enrollment" attribute for the "SingleEnrollment" class is given in Table 6.1.27.1.
Descriptor | Definition |
---|---|
Attribute Name | enrollment |
Data Type | Enrollment |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single enrollment for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleOrg" class is shown in Figure 6.1.28 and the accompanying definition in Table 6.1.28.
Figure 6.1.28 - SingleOrg class definitions.
The description of the "org" attribute for the "SingleOrg" class is given in Table 6.1.28.1.
Descriptor | Definition |
---|---|
Attribute Name | org |
Data Type | Org |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single org for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "SingleUser" class is shown in Figure 6.1.29 and the accompanying definition in Table 6.1.29.
Figure 6.1.29 - SingleUser class definitions.
The description of the "user" attribute for the "SingleUser" class is given in Table 6.1.29.1.
Descriptor | Definition |
---|---|
Attribute Name | user |
Data Type | User |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The instance of the single user for a message payload. There must be a data payload otherwise an error report payload for the record not being located should be returned. |
The data model for the "User" class is shown in Figure 6.1.30 and the accompanying definition in Table 6.1.30.
Figure 6.1.30 - User class definitions.
The description of the "userMasterIdentifier" attribute for the "User" class is given in Table 6.1.30.1.
Descriptor | Definition |
---|---|
Attribute Name | userMasterIdentifier |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The master unique identifier for this user. This is NOT the same as the user's interoperability 'sourcedId'. This should be used to ensure that all of the system identifiers/accounts etc. can be reconciled to the same user. How this identifier is assigned and its format is beyond the scope of this specification. |
The description of the "username" attribute for the "User" class is given in Table 6.1.30.2.
Descriptor | Definition |
---|---|
Attribute Name | username |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The user name assigned to the user. NOTE - This has been kept for backwards compatibility with OneRoster 1.1 and the new 'userProfiles' characteristic SHOULD be used instead. |
The description of the "userIds" attribute for the "User" class is given in Table 6.1.30.3.
Descriptor | Definition |
---|---|
Attribute Name | userIds |
Data Type | UserId |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of external user identifiers that should be used for this user, if for some reason the sourcedId cannot be used. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person. |
The description of the "enabledUser" attribute for the "User" class is given in Table 6.1.30.4.
Descriptor | Definition |
---|---|
Attribute Name | enabledUser |
Data Type | TrueFalseEnum |
Value Space | Enumerated value set of: { true | false } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | This is used to determine whether or not the record is active in the local system. 'false' denotes that the record is active but system access is curtailed according to the local administration rules. |
The description of the "givenName" attribute for the "User" class is given in Table 6.1.30.5.
Descriptor | Definition |
---|---|
Attribute Name | givenName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The given name. Also, known as the first name. |
The description of the "familyName" attribute for the "User" class is given in Table 6.1.30.6.
Descriptor | Definition |
---|---|
Attribute Name | familyName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The family name. Also, known as the last name. |
The description of the "middleName" attribute for the "User" class is given in Table 6.1.30.7.
Descriptor | Definition |
---|---|
Attribute Name | middleName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The set of middle names. If more than one middle name is needed separate using a space e.g. 'Wingarde Granville'. |
The description of the "preferredFirstName" attribute for the "User" class is given in Table 6.1.30.8.
Descriptor | Definition |
---|---|
Attribute Name | preferredFirstName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The user's preferred first name. This attribute was added in version 1.2. |
The description of the "preferredMiddleName" attribute for the "User" class is given in Table 6.1.30.9.
Descriptor | Definition |
---|---|
Attribute Name | preferredMiddleName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The user's preferred middle name(s). This attribute was added in version 1.2. |
The description of the "preferredLastName" attribute for the "User" class is given in Table 6.1.30.10.
Descriptor | Definition |
---|---|
Attribute Name | preferredLastName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The user's preferred last name. This attribute was added in version 1.2. |
The description of the "pronouns" attribute for the "User" class is given in Table 6.1.30.11.
Descriptor | Definition |
---|---|
Attribute Name | pronouns |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The pronoun(s) by which this person is referenced. Examples (in the case of English) include 'she/her/hers', 'he/him/his', 'they/them/theirs', 'ze/hir/hir', 'xe/xir', or a statement that the person's name should be used instead of any pronoun. |
The description of the "roles" attribute for the "User" class is given in Table 6.1.30.12.
Descriptor | Definition |
---|---|
Attribute Name | roles |
Data Type | Role |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [1.. unbounded] |
Description | The set of roles for each of the orgs to which the user is affilliated. This is expressed as a set of role/org tuples. |
The description of the "userProfiles" attribute for the "User" class is given in Table 6.1.30.13.
Descriptor | Definition |
---|---|
Attribute Name | userProfiles |
Data Type | UserProfile |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of system/app/tool profiles for the user. |
The description of the "primaryOrg" attribute for the "User" class is given in Table 6.1.30.14.
Descriptor | Definition |
---|---|
Attribute Name | primaryOrg |
Data Type | OrgGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | It is possible for a user to be a member of more than one organization and to have one or more roles in an organization. This attribute identifies the 'sourcedId' of the primary organization. |
Link Data | This is the 'sourcedId' of the associated organisation (Org) i.e. a link to another first class object. See Org for the details about this link. |
The description of the "identifier" attribute for the "User" class is given in Table 6.1.30.15.
Descriptor | Definition |
---|---|
Attribute Name | identifier |
Data Type | Identifier |
Value Space | Container [ DerivedType ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | An identifier for the user. NOTE - This characteristic is kept for backwards compatibility with OneRoster 1.1/1.0. The 'userIds' characteristic SHOULD be used instead. |
The description of the "email" attribute for the "User" class is given in Table 6.1.30.16.
Descriptor | Definition |
---|---|
Attribute Name | |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The email address for the user. |
The description of the "sms" attribute for the "User" class is given in Table 6.1.30.17.
Descriptor | Definition |
---|---|
Attribute Name | sms |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The SMS number for the user. |
The description of the "phone" attribute for the "User" class is given in Table 6.1.30.18.
Descriptor | Definition |
---|---|
Attribute Name | phone |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The phone number for the user. |
The description of the "agents" attribute for the "User" class is given in Table 6.1.30.19.
Descriptor | Definition |
---|---|
Attribute Name | agents |
Data Type | UserGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The links to other people i.e. User 'sourcedIds'. |
Link Data | This is the 'sourcedId' of the agent (this is a User) i.e. a link to another first class object. See User for the details about this link. |
The description of the "grades" attribute for the "User" class is given in Table 6.1.30.20.
Descriptor | Definition |
---|---|
Attribute Name | grades |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | Grade(s) for which a user with role 'student' is enrolled. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. |
The description of the "password" attribute for the "User" class is given in Table 6.1.30.21.
Descriptor | Definition |
---|---|
Attribute Name | password |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | A top-level password for the user. Care should be taken when using this field and the password SHOULD be encrypted. |
The description of the "resources" attribute for the "User" class is given in Table 6.1.30.22.
Descriptor | Definition |
---|---|
Attribute Name | resources |
Data Type | ResourceGUIDRef |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The identifiers (GUIDs) for the set of resources that are to be made available to the user. These are the sourcedIds that should be used for obtaining the metadata about the resources using the OR 1.2 Resources Service [OR-RES-SM-12]. |
Link Data | This is the 'sourcedId' of the associated resource rostering description i.e. a link to another first class object. See Resource for the details about this link. |
The data model for the "UserGUIDRef" class is shown in Figure 6.1.31 and the accompanying definition in Table 6.1.31.
Figure 6.1.31 - UserGUIDRef class definitions.
The description of the "type" attribute for the "UserGUIDRef" class is given in Table 6.1.31.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | UserGUIDRefTypeEnum |
Value Space | Enumerated value set of: { user } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of object being referenced i.e. a 'user'. |
The data model for the "UserId" class is shown in Figure 6.1.32 and the accompanying definition in Table 6.1.32.
Figure 6.1.32 - UserId class definitions.
The description of the "type" attribute for the "UserId" class is given in Table 6.1.32.1.
Descriptor | Definition |
---|---|
Attribute Name | type |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of identifier. This is no predefined vocabuary. |
The description of the "identifier" attribute for the "UserId" class is given in Table 6.1.32.2.
Descriptor | Definition |
---|---|
Attribute Name | identifier |
Data Type | Identifier |
Value Space | Container [ DerivedType ] |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The user identifier. |
The data model for the "UserProfile" class is shown in Figure 6.1.33 and the accompanying definition in Table 6.1.33.
Figure 6.1.33 - UserProfile class definitions.
The description of the "profileId" attribute for the "UserProfile" class is given in Table 6.1.33.1.
Descriptor | Definition |
---|---|
Attribute Name | profileId |
Data Type | AnyURI (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The unique identifier for the profile. This does not need to be a globally unique identifier but it must be unique within the scope of the user. |
The description of the "profileType" attribute for the "UserProfile" class is given in Table 6.1.33.2.
Descriptor | Definition |
---|---|
Attribute Name | profileType |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The type of profile. This should be a human readable label that has some significance in the context of the related system, app, tool, etc. |
The description of the "vendorId" attribute for the "UserProfile" class is given in Table 6.1.33.3.
Descriptor | Definition |
---|---|
Attribute Name | vendorId |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The unique identifier for the vendor of the system, tool, app, etc. which requires the use of this profile. |
The description of the "applicationId" attribute for the "UserProfile" class is given in Table 6.1.33.4.
Descriptor | Definition |
---|---|
Attribute Name | applicationId |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | Identifier for the application associated with the account. The nature, and how this identifier is assigned is not defined by this specification. This may have a value of 'default' to denote this account should be used for default access to all applications related to this vendor. |
The description of the "description" attribute for the "UserProfile" class is given in Table 6.1.33.5.
Descriptor | Definition |
---|---|
Attribute Name | description |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | A human readable description of the use of the profile. This should not contain any security information for access to the account. |
The description of the "credentials" attribute for the "UserProfile" class is given in Table 6.1.33.6.
Descriptor | Definition |
---|---|
Attribute Name | credentials |
Data Type | Credential |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The set of credentials that are available for access to this profile. |
The data model for the "UserSet" class is shown in Figure 6.1.34 and the accompanying definition in Table 6.1.34.
Figure 6.1.34 - UserSet class definitions.
The description of the "users" attribute for the "UserSet" class is given in Table 6.1.34.1.
Descriptor | Definition |
---|---|
Attribute Name | users |
Data Type | User |
Value Space | Container [ Unordered ] |
Scope | Local ("-") |
Multiplicity | [0.. unbounded] |
Description | The collection of user instances. The order is not significant. The corresponding query constraints may result in no instances being returned. |
The data model for the "imsx_CodeMinor" class is shown in Figure 6.1.35 and the accompanying definition in Table 6.1.35.
Figure 6.1.35 - imsx_CodeMinor class definitions.
The description of the "imsx_codeMinorField" attribute for the "imsx_CodeMinor" class is given in Table 6.1.35.1.
Descriptor | Definition |
---|---|
Attribute Name | imsx_codeMinorField |
Data Type | imsx_CodeMinorField |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [1.. unbounded] |
Description | Each reported code minor status code. |
The data model for the "imsx_CodeMinorField" class is shown in Figure 6.1.36 and the accompanying definition in Table 6.1.36.
Figure 6.1.36 - imsx_CodeMinorField class definitions.
The description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class is given in Table 6.1.36.1.
Descriptor | Definition |
---|---|
Attribute Name | imsx_codeMinorFieldName |
Data Type | NormalizedString (Primitive-type) |
Value Space | See Appendix A3.3. Default = "TargetEndSystem". |
Scope | Local ("-") |
Multiplicity | [1] |
Description | This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'TargetEndSystem'. |
The description of the "imsx_codeMinorFieldValue" attribute for the "imsx_CodeMinorField" class is given in Table 6.1.36.2.
Descriptor | Definition |
---|---|
Attribute Name | imsx_codeMinorFieldValue |
Data Type | imsx_CodeMinorValueEnum |
Value Space | Enumerated value set of: { fullsuccess | invalid_filter_field | invalid_selection_field | invaliddata | unauthorisedrequest | forbidden | server_busy | unknownobject | internal_server_error } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The code minor status code (this is a value from the corresponding enumerated vocabulary). |
The data model for the "imsx_StatusInfo" class is shown in Figure 6.1.37 and the accompanying definition in Table 6.1.37.
Figure 6.1.37 - imsx_StatusInfo class definitions.
The description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class is given in Table 6.1.37.1.
Descriptor | Definition |
---|---|
Attribute Name | imsx_codeMajor |
Data Type | imsx_CodeMajorEnum |
Value Space | Enumerated value set of: { success | processing | failure | unsupported } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field. |
The description of the "imsx_severity" attribute for the "imsx_StatusInfo" class is given in Table 6.1.37.2.
Descriptor | Definition |
---|---|
Attribute Name | imsx_severity |
Data Type | imsx_SeverityEnum |
Value Space | Enumerated value set of: { status | warning | error } |
Scope | Local ("-") |
Multiplicity | [1] |
Description | The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. |
The description of the "imsx_description" attribute for the "imsx_StatusInfo" class is given in Table 6.1.37.3.
Descriptor | Definition |
---|---|
Attribute Name | imsx_description |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | A human readable description supplied by the entity creating the status code information. |
The description of the "imsx_CodeMinor" attribute for the "imsx_StatusInfo" class is given in Table 6.1.37.4.
Descriptor | Definition |
---|---|
Attribute Name | imsx_CodeMinor |
Data Type | imsx_CodeMinor |
Value Space | Container [ Sequence ] |
Scope | Local ("-") |
Multiplicity | [0..1] |
Description | The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes. |
This Section is NORMATIVE.
All of the derived data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.
The data model for the "EnumExtString" class is shown in Figure 6.2.1 and the accompanying definition in Table 6.2.1.
Figure 6.2.1 - EnumExtString class definitions.
The description of the "pattern" attribute for the "EnumExtString" class is given in Table 6.2.1.
Descriptor | Definition |
---|---|
Attribute Name | pattern |
Data Type | String (Primitive-type) |
Value Space | See Appendix A3.3. Default = "(ext:)[a-zA-Z0-9\.\-_]+". |
Scope | Global ("+") |
Multiplicity | [0..1] |
Description | The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. |
The data model for the "GUID" class is shown in Figure 6.2.2 and the accompanying definition in Table 6.2.2.
Figure 6.2.2 - GUID class definitions.
The data model for the "Identifier" class is shown in Figure 6.2.3 and the accompanying definition in Table 6.2.3.
Figure 6.2.3 - Identifier class definitions.
This Section is NORMATIVE.
All of the enumerated vocabularies used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.4.
This is the fixed enumeration for a GUIDRef that points to an 'Academic Session'. The data model for the "AcadSessionGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.1 and the accompanying vocabulary definition in Table 6.3.1.
Figure 6.3.1 - AcadSessionGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
academicSession | An object that is an 'Academic Session'. |
The set of permitted values for the type of status of a record. The data model for the "BaseStatusEnum" enumerated class is shown in Figure 6.3.2 and the accompanying vocabulary definition in Table 6.3.2.
Figure 6.3.2 - BaseStatusEnum class definitions.
Term | Definition |
---|---|
active | An active record. |
tobedeleted | Denotes that it is safe to delete the record. |
This is the fixed enumeration for a GUIDRef that points to a 'Class'. The data model for the "ClassGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.3 and the accompanying vocabulary definition in Table 6.3.3.
Figure 6.3.3 - ClassGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
class | An object that is a 'Class'. |
The set of permitted values for the type of class. The data model for the "ClassTypeEnum" enumerated class is shown in Figure 6.3.4 and the accompanying vocabulary definition in Table 6.3.4.
Figure 6.3.4 - ClassTypeEnum class definitions.
Term | Definition |
---|---|
homeroom | The homeroom (form) assigned to the class. |
scheduled | The class as assigned in the timetable. |
This is the fixed enumeration for a GUIDRef that points to a 'Course'. The data model for the "CourseGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.5 and the accompanying vocabulary definition in Table 6.3.5.
Figure 6.3.5 - CourseGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
course | An object that is a 'Course'. |
The set of permitted values for the type of role for an enrollment. The data model for the "EnrolRoleEnum" enumerated class is shown in Figure 6.3.6 and the accompanying vocabulary definition in Table 6.3.6.
Figure 6.3.6 - EnrolRoleEnum class definitions.
The set of permitted values for the gender of a user. The data model for the "GenderEnum" enumerated class is shown in Figure 6.3.7 and the accompanying vocabulary definition in Table 6.3.7.
Figure 6.3.7 - GenderEnum class definitions.
This is the fixed enumeration for a GUIDRef that points to an 'Org'. The data model for the "OrgGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.8 and the accompanying vocabulary definition in Table 6.3.8.
Figure 6.3.8 - OrgGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
org | An object that is an 'Org'. |
The set of permitted values for the type of orgs. The data model for the "OrgTypeEnum" enumerated class is shown in Figure 6.3.9 and the accompanying vocabulary definition in Table 6.3.9.
Figure 6.3.9 - OrgTypeEnum class definitions.
This is the fixed enumeration for a GUIDRef that points to a 'Resource'. The data model for the "ResourceGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.10 and the accompanying vocabulary definition in Table 6.3.10.
Figure 6.3.10 - ResourceGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
resource | An object that is a 'Resource'. |
The set of permitted values for the type of role for a user. The data model for the "RoleEnum" enumerated class is shown in Figure 6.3.11 and the accompanying vocabulary definition in Table 6.3.11.
Figure 6.3.11 - RoleEnum class definitions.
The type of role for the role-org mappings. Each mapping must have a role type of which only one must have a roleType of 'primary' and the others must be 'secondary'. The data model for the "RoleTypeEnum" enumerated class is shown in Figure 6.3.12 and the accompanying vocabulary definition in Table 6.3.12.
Figure 6.3.12 - RoleTypeEnum class definitions.
The set of permitted values for the academic session of a user. The data model for the "SessionTypeEnum" enumerated class is shown in Figure 6.3.13 and the accompanying vocabulary definition in Table 6.3.13.
Figure 6.3.13 - SessionTypeEnum class definitions.
This enumeration is used to limit the permitted tokens for a Boolean data-type to values of 'true' or 'false' ONLY. The data model for the "TrueFalseEnum" enumerated class is shown in Figure 6.3.14 and the accompanying vocabulary definition in Table 6.3.14.
Figure 6.3.14 - TrueFalseEnum class definitions.
This is the fixed enumeration for a GUIDRef that points to a 'User. The data model for the "UserGUIDRefTypeEnum" enumerated class is shown in Figure 6.3.15 and the accompanying vocabulary definition in Table 6.3.15.
Figure 6.3.15 - UserGUIDRefTypeEnum class definitions.
Term | Definition |
---|---|
user | An object that is a 'User'. |
The permitted vocabulary for the values for the CodeMajor field. The data model for the "imsx_CodeMajorEnum" enumerated class is shown in Figure 6.3.16 and the accompanying vocabulary definition in Table 6.3.16.
Figure 6.3.16 - imsx_CodeMajorEnum class definitions.
The permitted vocabulary for the values for the CodeMinorValue field. The data model for the "imsx_CodeMinorValueEnum" enumerated class is shown in Figure 6.3.17 and the accompanying vocabulary definition in Table 6.3.17.
Figure 6.3.17 - imsx_CodeMinorValueEnum class definitions.
The permitted vocabulary for the values for the Severity field. The data model for the "imsx_SeverityEnum" enumerated class is shown in Figure 6.3.18 and the accompanying vocabulary definition in Table 6.3.18.
Figure 6.3.18 - imsx_SeverityEnum class definitions.
The set of union classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.2.
The data model for the "ClassTypeEnumExt" class is shown in Figure 6.4.1 and the accompanying definition in Table 6.4.1.
Figure 6.4.1 - ClassTypeEnumExt class definitions.
The data model for the "EnrolRoleEnumExt" class is shown in Figure 6.4.2 and the accompanying definition in Table 6.4.2.
Figure 6.4.2 - EnrolRoleEnumExt class definitions.
The data model for the "GenderEnumExt" class is shown in Figure 6.4.3 and the accompanying definition in Table 6.4.3.
Figure 6.4.3 - GenderEnumExt class definitions.
The data model for the "OrgTypeEnumExt" class is shown in Figure 6.4.4 and the accompanying definition in Table 6.4.4.
Figure 6.4.4 - OrgTypeEnumExt class definitions.
The data model for the "RoleEnumExt" class is shown in Figure 6.4.5 and the accompanying definition in Table 6.4.5.
Figure 6.4.5 - RoleEnumExt class definitions.
The data model for the "SessionTypeEnumExt" class is shown in Figure 6.4.6 and the accompanying definition in Table 6.4.6.
Figure 6.4.6 - SessionTypeEnumExt class definitions.
This Section is NORMATIVE.
All of the link data for the relationships used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A3.7.
The description for the "AcademicSession" link data class is shown in Figure 7.1 and defined in Table 7.1.
Figure 7.1 - AcademicSession link data definition.
The description for the "Class" link data class is shown in Figure 7.2 and defined in Table 7.2.
Figure 7.2 - Class link data definition.
The description for the "Course" link data class is shown in Figure 7.3 and defined in Table 7.3.
Figure 7.3 - Course link data definition.
The description for the "Org" link data class is shown in Figure 7.4 and defined in Table 7.4.
Figure 7.4 - Org link data definition.
The description for the "Resource" link data class is shown in Figure 7.5 and defined in Table 7.5.
Figure 7.5 - Resource link data definition.
The description for the "User" link data class is shown in Figure 7.6 and defined in Table 7.6.
Figure 7.6 - User link data definition.
The description for the "UserProfile" link data class is shown in Figure 7.7 and defined in Table 7.7.
Figure 7.7 - UserProfile link data definition.
This Section is NON-NORMATIVE.
Proprietary extensions of the service are based upon two approaches:
It is NOT permitted to change the behavior of the current set of operations. Such changes MUST be supported by the creation of new operations.
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].
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 5.1.1 for more details).
In this version the ability to extend some of the enumerated vocabularies has been added: currently, ONLY the 'ClassTypeEnum', 'GenderEnum', 'OrgTypeEnum', 'RoleEnum' and 'SessionTypeEnum' vocabularies MAY be extended. Each proprietary term must start with the characters 'ext:'.
This Service can be profiled. In general, Profiling is used to:
Valid Profiles must be restrictive i.e. optional features can be removed or constraints increased but new features must not be added. A Profile of this service is made by annotating the UML supplied with the documentation for the specification.
It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of 1EdTech. However, no matter who is responsible for creating the profile artefacts (documents, 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.
[I-BAT, 06] | IMS Binding Auto-generation Toolkit (I-BAT), C.Smythe, IMS Global Learning Consortium Inc., July 2006. |
[ISO 8601] | ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000. |
[OR-CERT-12] | IMS OneRoster 1.2 Conformance and Certification Final Release 1.0, C.Smythe, J.McGhee and M.Richards, IMS Global Learning Consortium Inc., June 2022, https://www.imsglobal.org/spec/oneroster/v1p2/cert. |
[OR-GBK-SM-12] | IMS OneRoster 1.2 Gradebook Services Final Release 1.0, C.Smythe, J.McGhee and M.Richards, IMS Global Learning Consortium Inc., June 2022, https://www.imsglobal.org/spec/oneroster/v1p2/gradebook/info. |
[OR-IMPL-12] | IMS OneRoster 1.2 Implementation Guide Final Release 1.0, M.Richards, J.McGhee and C.Smythe, IMS Global Learning Consortium Inc., June 2022, https://www.imsglobal.org/spec/oneroster/v1p2/impl. |
[OR-RES-SM-12] | IMS OneRoster 1.2 Resources Services Final Release 1.0, C.Smythe, J.McGhee and M.Richards, IMS Global Learning Consortium Inc., June 2022, https://www.imsglobal.org/spec/oneroster/v1p2/resource/info. |
[OR-ROS-RJ-12] | IMS OneRoster 1.2 Rostering Services Final Release 1.0, C.Smythe, J.McGhee and M.Richards, IMS Global Learning Consortium Inc., June 2022, https://www.imsglobal.org/spec/oneroster/v1p2/rostering/bind/rest. |
[RFC 2119] | Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF (RFC 2119), March 1997, https://tools.ietf.org/html/rfc2119. |
[RFC 2617] | HTTP Authentication: Basic and Digest Access Authentication, J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen and L. Stewart, IETF (RFC 2167), 1999, https://tools.ietf.org/pdf/rfc2617.pdf. |
[RFC 3066] | Tags for the Identification of Languages, H.Alvestrand, IETF (RFC 3066), January 2001, https://www.ietf.org/rfc/rfc3066.txt. |
[RFC 6749] | The OAuth 2.0 Authorization Framework, D.Hardt, IETF (RFC 6749), 2012, https://tools.ietf.org/pdf/rfc6749.pdf. |
[RFC 6750] | The OAuth 2.0 Authorization Framework: Bearer Token Usage, D.Hardt, IETF (RFC 6750), 2012, https://tools.ietf.org/pdf/rfc6750.pdf. |
[Security, 21] | IMS Security Framework 1.1 Final Release, C.Smythe, N.Mills, C.Vervoort and M.Mckell, IMS Global Learning Consortium Inc., July 2021, https://www.imsglobal.org/spec/security/v1p1/. |
[UNICODE, 16] | UNICODE Collation Algorithm Version 9.0, M.Davis, K.Whistler and M.Scheer, Unicode Technical Standard #10, May 2016. |
[VDEX, 04] | IMS Vocabulary Definition Exchange (VDEX) 1.0, A.Cooper, IMS Global Learning Consortium Inc., February 2004, https://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html. |
This Section is NOT NORMATIVE.
This section is NOT NORMATIVE.
Table A1.1 provides the key to the descriptions of service model diagrams.
Feature | Definition and Usage |
---|---|
Service Model Package | Each synchronous or asynchronous service model description is enclosed in a UML Package that has the stereotype of « serviceModel » under which is the name of the service being described. A service must have at least one Interface (the breakdown of the service into the component transactions is a design decision). |
Interface Class | Each interface description is enclosed in a UML Package that has the stereotype of « Interface » under which is the name of the interface being described. An interface is a collection of operations that support a common set of transaction objectives. An interface must have at least one operation. An Interface class has no attributes. |
Operation Description | The behaviors provided by an interface are defined by the set of operations. Each operation must have a unique name and is accompanied by the set of parameters that are sent to the service (in) and those returned by the service (out). An operation can also have a formal return parameter whose form and usage depends upon the actual binding realisation. The description may also include a stereotype for the identification of the nature operation e.g. read, create, etc. |
Table A1.2 provides the key to the descriptions of the operation tables.
Descriptor | Definition |
---|---|
Name | The name given to the operation being described. In the case of an interface, by definition, every operation has the scope value of global denoted by the "+" symbol before the name. |
Stereotype | Before the name of the operation there may be a stereotype classifier. This is used to provide information about the nature of the behavior of the operation. The permitted set of stereotype values and their meaning are:
|
Return Function Parameter | The formal return parameter for the operation/method returned for the transaction request (the form in which this information is provided depends on the realisation of the binding). The description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model. In situations where there is no return function this entry will be set to "void" |
Supplied (in) Parameters | The list of parameters that are sent from the client to the end-service in the service request message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model. |
Supplied (out) Parameters | The list of parameters that are returned from the end-service in the service response message. Each parameter description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface Data Model. |
Behavior | A description of the behavior of the operation. |
Notes | Further information on the behavior particularly in the context of the use of other operations and the relationship to the behaviors of those operations. |
This section is NOT NORMATIVE.
Table A2.1 provides the key to the descriptions of parameter data model diagrams.
Feature | Definition and Usage |
---|---|
Data Model Package | Each parameter data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the class being described. |
DerivedType Class | This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class. |
Enumeration Class | This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute. |
Selection Class | This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. |
Sequence Class | This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. |
Unordered Class | This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). |
Attribute Description | Each class contains a set of attributes. Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A2.3 for a more complete description). |
Composition Arrow | This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents. |
Table A2.2 provides the key to the descriptions of the parameter data class tables.
Descriptor | Definition |
---|---|
Class Name | The name given to the class being described. |
Class Type | The nature of the class (for a parameter data-type this must not be an abstract class). This is described as a "Container [...]" with the value of "..." being (see Appendix A2.1 for the meaning of these values):
|
Parents | This is the list of operations for which this class is a data-type for one or more of the parameters. Each entry is linked to the corresponding operation description. |
Children | Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those that are grouped under a corresponding stereotyped attribute class. Each child is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. |
Description | Contains descriptions relating to the class and its properties and relationships. |
Table A2.3 provides the key to the descriptions of the data attributes for the data classes for the operation parameters.
Descriptor | Definition |
---|---|
Attribute Name | The name given to the attribute being described. |
Data Type | This is the data-type of the attribute. It can take many forms:
|
Value Space | The range of valid values for this class (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type. |
Scope | This is the scope of the attribute with permitted values of:
|
Multiplicity | A property of an attribute indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
|
Description | Contains descriptions relating to the attribute and its values space. |
This section is NOT NORMATIVE.
Table A3.1 provides the key to the descriptions of data model diagrams.
Feature | Definition and Usage |
---|---|
Data Model Package | Each data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the data model diagram being described. Only one logical data model can be described. |
DerivedType Class | This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class. |
Enumeration Class | This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute. |
Enumerated List Class | This is a class that is identified by the stereotype « EnumeratedList » under which is the name of the enumerated list data-type. The enumeration list class consists of the list of tokens that are the permitted values of the assigned attribute. A list of tokens is permitted using comma separation. |
PrimitiveType Class | This is a class that is identified by the stereotype « PrimitiveType » under which is the name of the primitive data-type. A PrimitiveType is one of the many base data-types on which a data model can be built (see Appendix A3.3 for the set of primitive types that are available). |
Selection Class | This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract. |
Sequence Class | This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract. |
Unordered Class | This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). If the stereotype and associated name of the class are in italics this denotes the class is abstract. |
List Class | This is a class that is identified by the stereotype « List » under which is the name of the data-type. A list class is one in which the associated instance will consist of a list of objects that conform to the permitted data-types of the list (the superclasses for the list class). The terms in the list are separated by a space. |
Union Class | This is a class that is identified by the stereotype « Union » under which is the name of the data-type. A union class is one in which the associated instance will consist of a objects that conform to the any of the permitted data-types of the union (the superclasses for the union class). |
Characteristic Description | Many classes contain a set of characteristics (the set of characteristics are listed under the stereotype « Characteristics »). Each characteristic description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note that when bound to XSD/XML, a characteristic is mapped to an XML attribute. |
Attribute Description | Many classes contain a set of attributes (the set of attributes are listed under the stereotype « Attributes »). Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A3.3 for a more complete description). Note when bound to XSD/XML, an attribute is mapped to an XML element. |
Aggregation Arrow | This is an arrow with a white diamond head to indicate that the child class is an aggregate structure to the parent class i.e. the child class may exist without the context of the parent class. This association allows complex structures to be constructed with common subcomponents. |
Composition Arrow | This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents. |
Generalization Arrow | This is an arrow with a white arrow head to indicate the class/superclass relationship. The arrow points in the direction of generality i.e. from the class to the super class. |
Table A3.2 provides the key to the descriptions of the data class tables.
Category | Definition |
---|---|
Class Name | The name given to the class being described. |
Class Type | The nature of the class. This is described as a "Container [...]" or "Abstract Container [...]". The value of "..." being (see Appendix A3.1 for the meaning of these values):
|
Parents | This is the list of classes that contain the class being described as either the type of a child characteristic or attribute. In the case of a Root Class the entry is also labelled as "Root Class". |
Derived Classes | The set of classes that are derived from this class (there may be none). The entries are linked to the corresponding class descriptions. |
Super Classes | The set of super classes from which the class being described is derived (there may be none). The entries are linked to the corresponding class descriptions. |
Characteristics | Lists the set of characteristics for this class. The list of characteristics includes those that are inherited. Each characteristic is linked to the corresponding characteristic description table. |
Children | Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those attributes that are inherited. Each child entry is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. If the child is in italics this denotes a reference to an abstract class and that an instance would NOT contain a child of that name but would be replaced by a complex set of children as defined by the associated abstract class. |
Link Data | Lists the set of attributes for this class that are used to provide links to other data objects in the data model. Many types of link references are available. This row is ONLY shown when the class contains at least one link data definition. |
Description | Contains descriptions relating to the class and its properties and relationships. |
Table A3.3 provides the key to the descriptions of the data attributes/characteristics for the data classes.
Category | Definition |
---|---|
Attribute Name or Characteristic Name | The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic. |
Data Type | This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
|
Value Space | The range of valid values for this attribute/characteristic (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type. |
Scope | This is the scope of the attribute/characteristic with permitted values of:
|
Multiplicity | A property of an attribute/characteristic indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
|
Description | Contains descriptions relating to the attribute/characteristic and its values space. |
Link Data | Contains the description of the link data definition. A link to the corresponding detailed link data description is supplied. This row is ONLY shown when the attribute/characteristice is a link data definition. |
Table A3.4 provides the key to the descriptions of the enumerated vocabulary classes. These are vocabularies that will be contained within the binding form itself. They are contained within a class that has a stereotype of either « Enumeration » or « EnumeratedList ».
Category | Definition |
---|---|
Term | The vocabulary token itself i.e. the vocabulary entry. |
Definition | The meaning of the term and how it should be used. |
Table A3.5 provides the key to the descriptions of the external vocabulary classes. These are vocabularies that will be contained in some independent format e.g. using the IMS VDEX [VDEX, 04].
Category | Definition |
---|---|
Term | The vocabulary token itself i.e. the vocabulary entry. |
Definition | The meaning of the term and how it should be used. This consists of the "Caption" and "Description" of the vocabulary term. The caption is used to provide a human readable label for the term. |
Table A3.6 provides the key to the descriptions of the import classes.
Category | Definition |
---|---|
Import Class Name | The name of the class. |
Parent Classes | The list of parent classes, and the associated children, that use this imported class. Each class and attribute name has a link to its corresponding tabular description in the information model. |
Description | The description of how the class is used within the data model. |
Table A3.7 provides the key to the descriptions of the link data definitions.
Category | Definition |
---|---|
Target Class Name | This is the name of the target class i.e. the destination point of the link reference. |
Link Type | This is the type of link that is being used. The types of link available are:
|
Link Sources | This is the set of classes that contain attributes/characteristics which use the link data defined by this entry. A link to the attribute/characteristic is provided. |
Source Attribute | This is the attribute/characteristic in the source object that contains the identifier of the target object (a characteristic name MUST start with an "@"). This will only be supplied if the pointer is contained within a substructure within the source object. If there is no source the statement "Not Applicable" will be displayed. |
Target Attribute | This is the attribute/characteristic in the target class which is the container for the identifier of the object being identified (a characteristic name MUST start with an "@"). It is the value for this identifier which MUST be supplied in the source object. For "CPResourceId" link types the fixed value of "@identifier" will be given. If there is no target the statement "Not Applicable" will be displayed. |
Parent Class Name | This is the name of the class that contains both the source and target attributes/characteristics. This value will only be supplied for the "IntraParentClassId" link types. If there is no parent class name the statement "Not Applicable" will be displayed. |
Description | The description of how the link data is used within the data model. |
Table A3.8 provides the key to the descriptions of the common data model persistent identifier definitions.
Category | Definition |
---|---|
Name | This is the name of the data model component which has been assigned a common data model persistent identifier. |
Type | This is the type of link that is being used. The types of link available are:
|
Persistent Identifier | The common data model persistent identifier that has been assigned to this data model component. By definition, this is a unique (within the context of the IMS Common Data Model) and very long-lived identifier |
This Section is NORMATIVE
When a behavior-based 1EdTech service model is developed each operation is required to return status information. This status information provides contextual information about the completed success or otherwise of the operation. There are two types of status information that are available to the end-systems:
The status information for the business transactions is carried in a single status information object that contains the following sub-structures:
The interpretation of the "CodeMajor/Severity" behavior matrix is summarized in Table B1.1.
Severity | CodeMajor | |||
---|---|---|---|---|
"Success" | "Processing" | "Failure" | "Unsupported" | |
"Status" | The transaction request has been completed successfully. | The transaction request is being processed at the destination i.e. the request has been received and acknowledged. This combination is used in asynchronous services. | The transaction request has failed. The detailed reason will be reported in the accompanying "codeMinor" fields. | The destination service handler does not support the requested operation. This is the required default response for an unsupported operation by an implementation. |
"Warning" | Some of the request has been completed successfully e.g. partial data storage, etc. | The request has been transmitted but acknowledgement of receipt at the destination has not been received. This combination is used in asynchronous services. | Not permitted. | Not permitted. |
"Error" | Not permitted. | An error has been detected in the immediate transmission communications handler i.e. the message has not left the local end-system. | There has been a failure in the end-to-end system communications mechanism and so the request has not been delivered. | The destination service handler does not recognise the requested operation i.e. it is an unknown service extension. |
The set of codes used for the "codeMajor" status code field are defined in Table B1.2.
Status Code | Description |
---|---|
success | Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response. |
processing | Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services. |
failure | Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields. |
unsupported | Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation. |
The set of codes used for the "severity" status code field are defined in Table B1.3.
Status Code | Description |
---|---|
status | The request has been completed and a response was received from the Service Provider. |
warning | The request has only been partially completed. For an asynchronous service a further response should be expected. |
error | A significant error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request). |
The set of codes used for the "codeMinor" status code field are defined in Table B1.4.
Status Code | Description |
---|---|
createsuccess | The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '201' for a successful 'PUT' request. |
deletesuccess | The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '204' for a successful 'DELETE' request. |
forbidden | This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'. |
internalservererror | This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'. |
invaliddata | This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'. |
invalidfilterfield | An invalid filter field was supplied and so the filtering was not possible. No data has been reurned. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'. |
invalidselectionfield | An invalid selection field was supplied and data filtering on the selection criteria was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'. |
invalidsortfield | An invalid sort field was supplied and sorting was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'. |
readsuccess | The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '200' for a successful 'GET' request. |
replacesuccess | The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '201' for a successful 'PUT' request. |
serverbusy | The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'. |
unauthorisedrequest | The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'. |
unknownobject | The supplied identifier is unknown in the Service Provider and so the object could not be changed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '404'. |
unsupported | Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'. |
Title: | IMS OneRoster Rostering Service v1.2 |
Editors: | Colin Smythe (1EdTech) and Joshua McGhee (1EdTech) |
Co-chairs: | Matt Richards (Infinite Campus, USA) |
Version: | 1.0 |
Version Date: | 19th September 2022 |
Status: | IMS Final Release |
Summary: | This is the OneRoster 1.2 Rostering Service specification. This service provides the management of Academic Sessions, Users, Classes, Courses, Orgs, Students, Teachers, Schools, Grading Periods, Demographics, Terms and Enrollments. This service is made available as a REST/JSON based binding to support rostering data exchange. |
Revision Information: | The first release of the OneRoster 1.2 Rostering Service specification using the IMS Model Driven Specification approach. |
Purpose: | Made available for public adoption. |
Document Location: | https://www.imsglobal.org/spec/oneroster/v1p2/rostering/info |
The following individuals contributed to the development of this document:
Eric Adams | Instructure (USA) |
Barry Brahier | Infinite Campus (USA) |
Tom Clark | Pearson (USA) |
Linda Feng | Unicon (USA) |
Viktor Haag | Desire2Learn (Canada) |
Richard Heim | LearningMate (USA) |
Tom Ingram | Escambia County School District (USA) |
Oxana Jurosevic | Instructure (USA) |
Jong Kim | Pearson (USA) |
Andrew Kuritzky | Edmentum (USA) |
David Mayes | Gwinnett County Schools (USA) |
Joshua McGhee | 1EdTech (USA) |
Phil Nicholls | 1EdTech (UK) |
Padraig O'hiceadha | HMH (UK) |
Upendra Penegalapati | Pearson (USA) |
James Perreault | FLVS (USA) |
Patrick Porter | Houston ISD (USA) |
Matt Richards | Infinite Campus (USA) |
Wendy Riedy | Microsoft (USA) |
Kurt Rompot | Pearson (USA) |
Gabrielle Sanderson | Illuminate Education (USA) |
Colin Smythe | 1EdTech (UK) |
Konrad Stimeling | K12 Inc (USA) |
Aditya Subramaniam | Schoology (USA) |
Matt Vella | Schoology (USA) |
TJ Vering | Microsoft (USA) |
Mark Walls | Gwinnett County Schools (USA) |
Version No. | Release Date | Comments |
---|---|---|
Final 1.0 / Document 1.0 | 1st July, 2015 | First release of the OneRoster Service specification. |
Final 1.1 / Document 1.0 | 1st November, 2016 | This second release includes new operations to create and delete single objects, support for the exchange of Result, LineItem, Category and Resource objects. |
Final 1.2 / Document 1.0 | 19th September, 2022 | This is the first release of the OneRoster 1.2: Rostering Service as a standalone document. A number of data models changes have been made and the use of OAuth 2 has been made mandatory. No changes have been made to the set of service operations. |
IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.
IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available" basis.
The Specification is at all times subject to change and revision without notice.
It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.
IMS Global would appreciate receiving your comments and suggestions.
Please contact IMS Global through our website at http://www.imsglobal.org.
Please refer to Document Name: IMS OneRoster Rostering Service v1.2
Date: 19th September 2022