IMS Candidate Final

IMS Global Logo

IMS Comprehensive Learner Record Service Information Model Version 1.0

IMS Candidate Final
Version 2.0

Date Issued: 26 August 2019
Latest version: http://www.imsglobal.org/clr/

IPR and Distribution Notices

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

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

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

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

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

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

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

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

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

Document Name: IMS Comprehensive Learner Record Service Information Model v1.0

Revision: 26 August 2019

toc | top

Abstract

The IMS Comprehensive Learner Record (CLR) Specification has been designed to create, transmit, and render an individual's set of achievements from one issuer, in a digital, machine-readable format. The specification allows for global adoption and supports shared tools within the IMS Global community.

The Comprehensive Learner Record supports interoperability in that CLR Providers and Consumers can consistently send and receive records among conformant entities. The IMS Comprehensive Learner Record specification describes an information model, service definition, and implementation guide to allow institutions, suppliers, and others to 'extend' the traditional transcript with records and types of information that are typically not found in a traditional transcript, such as competency attainment and co-curricular activities, and to define and facilitate an institution's learner achievements record store for collection of CLRs.

The CLR digitized information can be consumed by other schools, institutions, employers, and any other entities that are conformant as CLR consumers. In this machine readable format, CLR data enables granular and expansive discoverability of learning achievements that was not previously possible.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Conventions

1.3 Structure of this Document

1.4 Terms and Nomenclature

2. Service Architecture and Specification Model

2.1 An Abstract Representation

2.2 A Synchronous Service

3. Conceptual Model

3.1 Logical Data Model

3.2 Interoperability Model

4. The Behavior Model

4.1 Service Definition

4.2 "AssertionsManager" Interface Description

4.2.1 "getAssertion" Operation

4.3 "ClrsManager" Interface Description

4.3.1 "getClrs" Operation

4.3.2 "replaceClr" Operation

4.3.3 "deleteClr" Operation

4.4 "DiscoveryManager" Interface Description

4.4.1 "getDiscoveryDocument" Operation

4.5 "EndorsementsManager" Interface Description

4.5.1 "getEndorsement" Operation

4.6 "KeysManager" Interface Description

4.6.1 "getKey" Operation

5. The Interface Model

5.1 "Assertion" Class Description

5.1.1 "id" Attribute Description

5.1.2 "type" Attribute Description

5.1.3 "achievement" Attribute Description

5.1.4 "creditsEarned" Attribute Description

5.1.5 "endDate" Attribute Description

5.1.6 "endorsements" Attribute Description

5.1.7 "evidence" Attribute Description

5.1.8 "image" Attribute Description

5.1.9 "issuedOn" Attribute Description

5.1.10 "licenseNumber" Attribute Description

5.1.11 "narrative" Attribute Description

5.1.12 "recipient" Attribute Description

5.1.13 "results" Attribute Description

5.1.14 "revocationReason" Attribute Description

5.1.15 "revoked" Attribute Description

5.1.16 "role" Attribute Description

5.1.17 "startDate" Attribute Description

5.1.18 "term" Attribute Description

5.1.19 "verification" Attribute Description

5.1.20 "extensions" Attribute Description

5.2 "CLR" Class Description

5.2.1 "id" Attribute Description

5.2.2 "type" Attribute Description

5.2.3 "assertions" Attribute Description

5.2.4 "associations" Attribute Description

5.2.5 "issuedOn" Attribute Description

5.2.6 "learner" Attribute Description

5.2.7 "publisher" Attribute Description

5.3 "CLRSet" Class Description

5.3.1 "id" Attribute Description

5.3.2 "type" Attribute Description

5.3.3 "clrs" Attribute Description

5.4 "CryptographicKey" Class Description

5.4.1 "id" Attribute Description

5.4.2 "type" Attribute Description

5.4.3 "owner" Attribute Description

5.4.4 "publicKeyPem" Attribute Description

5.5 "DiscoveryDocument" Class Description

5.5.1 "authorizationUrl" Attribute Description

5.5.2 "image" Attribute Description

5.5.3 "name" Attribute Description

5.5.4 "privacyPolicyUrl" Attribute Description

5.5.5 "registrationUrl" Attribute Description

5.5.6 "scopesOffered" Attribute Description

5.5.7 "termsOfServiceUrl" Attribute Description

5.5.8 "tokenUrl" Attribute Description

5.6 "Endorsement" Class Description

5.6.1 "id" Attribute Description

5.6.2 "type" Attribute Description

5.6.3 "claim" Attribute Description

5.6.4 "issuedOn" Attribute Description

5.6.5 "issuer" Attribute Description

5.6.6 "verification" Attribute Description

5.7 "IRI" Class Description

5.8 "imsx_StatusInfo" Class Description

5.8.1 "imsx_codeMajor" Attribute Description

5.8.2 "imsx_severity" Attribute Description

5.8.3 "imsx_description" Attribute Description

5.8.4 "imsx_codeMinor" Attribute Description

6. Data Model

6.1 Data Class Descriptions

6.1.1 "Achievement" Class Description

6.1.1.1 "id" Attribute Description

6.1.1.2 "type" Attribute Description

6.1.1.3 "alignments" Attribute Description

6.1.1.4 "creditsAvailable" Attribute Description

6.1.1.5 "description" Attribute Description

6.1.1.6 "endorsements" Attribute Description

6.1.1.7 "humanCode" Attribute Description

6.1.1.8 "name" Attribute Description

6.1.1.9 "fieldOfStudy" Attribute Description

6.1.1.10 "image" Attribute Description

6.1.1.11 "issuer" Attribute Description

6.1.1.12 "level" Attribute Description

6.1.1.13 "requirement" Attribute Description

6.1.1.14 "resultDescriptions" Attribute Description

6.1.1.15 "specialization" Attribute Description

6.1.1.16 "tags" Attribute Description

6.1.1.17 "typeLabel" Attribute Description

6.1.1.18 "extensions" Attribute Description

6.1.2 "Address" Class Description

6.1.2.1 "id" Attribute Description

6.1.2.2 "type" Attribute Description

6.1.2.3 "addressCountry" Attribute Description

6.1.2.4 "addressLocality" Attribute Description

6.1.2.5 "addressRegion" Attribute Description

6.1.2.6 "postalCode" Attribute Description

6.1.2.7 "postOfficeBoxNumber" Attribute Description

6.1.2.8 "streetAddress" Attribute Description

6.1.3 "Alignment" Class Description

6.1.3.1 "id" Attribute Description

6.1.3.2 "type" Attribute Description

6.1.3.3 "educationalFramework" Attribute Description

6.1.3.4 "targetCode" Attribute Description

6.1.3.5 "targetDescription" Attribute Description

6.1.3.6 "targetName" Attribute Description

6.1.3.7 "targetUrl" Attribute Description

6.1.4 "Artifact" Class Description

6.1.4.1 "type" Attribute Description

6.1.4.2 "description" Attribute Description

6.1.4.3 "name" Attribute Description

6.1.4.4 "url" Attribute Description

6.1.5 "Assertion" Class Description

6.1.5.1 "id" Attribute Description

6.1.5.2 "type" Attribute Description

6.1.5.3 "achievement" Attribute Description

6.1.5.4 "creditsEarned" Attribute Description

6.1.5.5 "endDate" Attribute Description

6.1.5.6 "endorsements" Attribute Description

6.1.5.7 "evidence" Attribute Description

6.1.5.8 "image" Attribute Description

6.1.5.9 "issuedOn" Attribute Description

6.1.5.10 "licenseNumber" Attribute Description

6.1.5.11 "narrative" Attribute Description

6.1.5.12 "recipient" Attribute Description

6.1.5.13 "results" Attribute Description

6.1.5.14 "revocationReason" Attribute Description

6.1.5.15 "revoked" Attribute Description

6.1.5.16 "role" Attribute Description

6.1.5.17 "startDate" Attribute Description

6.1.5.18 "term" Attribute Description

6.1.5.19 "verification" Attribute Description

6.1.5.20 "extensions" Attribute Description

6.1.6 "AssertionBase" Class Description

6.1.6.1 "id" Attribute Description

6.1.6.2 "type" Attribute Description

6.1.6.3 "extensions" Attribute Description

6.1.7 "Association" Class Description

6.1.7.1 "id" Attribute Description

6.1.7.2 "type" Attribute Description

6.1.7.3 "associationType" Attribute Description

6.1.7.4 "identifier" Attribute Description

6.1.7.5 "lastChangeDateTime" Attribute Description

6.1.7.6 "sequenceNumber" Attribute Description

6.1.7.7 "sourceId" Attribute Description

6.1.7.8 "targetId" Attribute Description

6.1.8 "CLR" Class Description

6.1.8.1 "id" Attribute Description

6.1.8.2 "type" Attribute Description

6.1.8.3 "assertions" Attribute Description

6.1.8.4 "associations" Attribute Description

6.1.8.5 "issuedOn" Attribute Description

6.1.8.6 "learner" Attribute Description

6.1.8.7 "publisher" Attribute Description

6.1.9 "CLRSet" Class Description

6.1.9.1 "id" Attribute Description

6.1.9.2 "type" Attribute Description

6.1.9.3 "clrs" Attribute Description

6.1.10 "Criteria" Class Description

6.1.10.1 "id" Attribute Description

6.1.10.2 "type" Attribute Description

6.1.10.3 "narrative" Attribute Description

6.1.10.4 "extensions" Attribute Description

6.1.11 "CryptographicKey" Class Description

6.1.11.1 "id" Attribute Description

6.1.11.2 "type" Attribute Description

6.1.11.3 "owner" Attribute Description

6.1.11.4 "publicKeyPem" Attribute Description

6.1.12 "DiscoveryDocument" Class Description

6.1.12.1 "authorizationUrl" Attribute Description

6.1.12.2 "image" Attribute Description

6.1.12.3 "name" Attribute Description

6.1.12.4 "privacyPolicyUrl" Attribute Description

6.1.12.5 "registrationUrl" Attribute Description

6.1.12.6 "scopesOffered" Attribute Description

6.1.12.7 "termsOfServiceUrl" Attribute Description

6.1.12.8 "tokenUrl" Attribute Description

6.1.13 "Endorsement" Class Description

6.1.13.1 "id" Attribute Description

6.1.13.2 "type" Attribute Description

6.1.13.3 "claim" Attribute Description

6.1.13.4 "issuedOn" Attribute Description

6.1.13.5 "issuer" Attribute Description

6.1.13.6 "verification" Attribute Description

6.1.14 "EndorsementBase" Class Description

6.1.14.1 "id" Attribute Description

6.1.14.2 "type" Attribute Description

6.1.14.3 "extensions" Attribute Description

6.1.15 "EndorsementClaim" Class Description

6.1.15.1 "id" Attribute Description

6.1.15.2 "type" Attribute Description

6.1.15.3 "endorsementComment" Attribute Description

6.1.15.4 "extensions" Attribute Description

6.1.16 "EndorsementProfile" Class Description

6.1.16.1 "id" Attribute Description

6.1.16.2 "type" Attribute Description

6.1.16.3 "address" Attribute Description

6.1.16.4 "description" Attribute Description

6.1.16.5 "email" Attribute Description

6.1.16.6 "image" Attribute Description

6.1.16.7 "name" Attribute Description

6.1.16.8 "publicKey" Attribute Description

6.1.16.9 "revocationList" Attribute Description

6.1.16.10 "sourcedId" Attribute Description

6.1.16.11 "studentId" Attribute Description

6.1.16.12 "telephone" Attribute Description

6.1.16.13 "url" Attribute Description

6.1.16.14 "verification" Attribute Description

6.1.16.15 "extensions" Attribute Description

6.1.17 "Evidence" Class Description

6.1.17.1 "id" Attribute Description

6.1.17.2 "type" Attribute Description

6.1.17.3 "artifacts" Attribute Description

6.1.17.4 "audience" Attribute Description

6.1.17.5 "description" Attribute Description

6.1.17.6 "genre" Attribute Description

6.1.17.7 "name" Attribute Description

6.1.17.8 "narrative" Attribute Description

6.1.18 "Identity" Class Description

6.1.18.1 "id" Attribute Description

6.1.18.2 "type" Attribute Description

6.1.18.3 "identity" Attribute Description

6.1.18.4 "hashed" Attribute Description

6.1.18.5 "salt" Attribute Description

6.1.19 "Profile" Class Description

6.1.19.1 "id" Attribute Description

6.1.19.2 "type" Attribute Description

6.1.19.3 "address" Attribute Description

6.1.19.4 "description" Attribute Description

6.1.19.5 "email" Attribute Description

6.1.19.6 "endorsements" Attribute Description

6.1.19.7 "image" Attribute Description

6.1.19.8 "name" Attribute Description

6.1.19.9 "publicKey" Attribute Description

6.1.19.10 "revocationList" Attribute Description

6.1.19.11 "sourcedId" Attribute Description

6.1.19.12 "studentId" Attribute Description

6.1.19.13 "telephone" Attribute Description

6.1.19.14 "url" Attribute Description

6.1.19.15 "verification" Attribute Description

6.1.19.16 "extensions" Attribute Description

6.1.20 "Result" Class Description

6.1.20.1 "id" Attribute Description

6.1.20.2 "type" Attribute Description

6.1.20.3 "name" Attribute Description

6.1.20.4 "value" Attribute Description

6.1.21 "ResultDescription" Class Description

6.1.21.1 "id" Attribute Description

6.1.21.2 "type" Attribute Description

6.1.21.3 "name" Attribute Description

6.1.21.4 "resultMin" Attribute Description

6.1.21.5 "resultMax" Attribute Description

6.1.22 "RevocationList" Class Description

6.1.22.1 "id" Attribute Description

6.1.22.2 "type" Attribute Description

6.1.22.3 "issuer" Attribute Description

6.1.22.4 "revokedAssertions" Attribute Description

6.1.23 "SignedAssertion" Class Description

6.1.23.1 "id" Attribute Description

6.1.23.2 "type" Attribute Description

6.1.23.3 "compactJws" Attribute Description

6.1.24 "SignedEndorsement" Class Description

6.1.24.1 "id" Attribute Description

6.1.24.2 "type" Attribute Description

6.1.24.3 "compactJws" Attribute Description

6.1.25 "Verification" Class Description

6.1.25.1 "id" Attribute Description

6.1.25.2 "type" Attribute Description

6.1.25.3 "allowedOrigins" Attribute Description

6.1.25.4 "creator" Attribute Description

6.1.25.5 "startsWith" Attribute Description

6.1.25.6 "verificationProperty" Attribute Description

6.1.26 "imsx_CodeMinor" Class Description

6.1.26.1 "imsx_codeMinorField" Attribute Description

6.1.27 "imsx_CodeMinorField" Class Description

6.1.27.1 "imsx_codeMinorFieldName" Attribute Description

6.1.27.2 "imsx_codeMinorFieldValue" Attribute Description

6.1.28 "imsx_StatusInfo" Class Description

6.1.28.1 "imsx_codeMajor" Attribute Description

6.1.28.2 "imsx_severity" Attribute Description

6.1.28.3 "imsx_description" Attribute Description

6.1.28.4 "imsx_codeMinor" Attribute Description

6.2 Derived Class Descriptions

6.2.1 "GUID" Class Description

6.2.2 "IRI" Class Description

6.2.3 "Markdown" Class Description

6.2.4 "URL" Class Description

6.2.5 "UUID" Class Description

6.2.5.1 "pattern" Attribute Description

6.3 Enumerated Vocabulary Descriptions

6.3.1 "AchievementType" Vocabulary Description

6.3.2 "AssertionType" Vocabulary Description

6.3.3 "AssociationType" Vocabulary Description

6.3.4 "EndorsementType" Vocabulary Description

6.3.5 "ResultType" Vocabulary Description

6.3.6 "VerificationType" Vocabulary Description

6.3.7 "imsx_CodeMajorEnum" Vocabulary Description

6.3.8 "imsx_CodeMinorValueEnum" Vocabulary Description

6.3.9 "imsx_SeverityEnum" Vocabulary Description

7. Extending and Profiling the Service

7.1 Extending the Service

7.1.1 Proprietary Operations

7.1.2 Proprietary Data Elements

7.2 Profiling the Service

References

Appendix A Modelling Concepts and Terms

A1 Behavior Descriptions Explanations

A1.1 Service Diagrams

A1.2 Operation Descriptions

A2 Interface Descriptions Explanations

A2.1 Parameter Model Diagrams

A2.2 Class Descriptions

A2.3 Attribute Descriptions

A3 Data Model Descriptions Explanations

A3.1 Data Model Diagrams

A3.2 Class Descriptions

A3.3 Attribute and Characteristic Descriptions

A3.4 Enumerated Vocabulary Descriptions

A3.5 External Vocabulary Descriptions

A3.6 Import Class Descriptions

Appendix B Service Status Codes

B1 Definition of the Status Codes

B1.1 Definition of the "CodeMajor" Values

B1.2 Definition of the "Severity" Values

B1.3 Definition of the "CodeMinor" Values

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 4.1 Service interface definitions

Figure 5.1 Assertion class definitions

Figure 5.2 CLR class definitions

Figure 5.3 CLRSet class definitions

Figure 5.4 CryptographicKey class definitions

Figure 5.5 DiscoveryDocument class definitions

Figure 5.6 Endorsement class definitions

Figure 5.7 IRI class definitions

Figure 5.8 imsx_StatusInfo class definitions

Figure 6.1.1 Achievement class definitions

Figure 6.1.2 Address class definitions

Figure 6.1.3 Alignment class definitions

Figure 6.1.4 Artifact class definitions

Figure 6.1.5 Assertion class definitions

Figure 6.1.6 AssertionBase class definitions

Figure 6.1.7 Association class definitions

Figure 6.1.8 CLR class definitions

Figure 6.1.9 CLRSet class definitions

Figure 6.1.10 Criteria class definitions

Figure 6.1.11 CryptographicKey class definitions

Figure 6.1.12 DiscoveryDocument class definitions

Figure 6.1.13 Endorsement class definitions

Figure 6.1.14 EndorsementBase class definitions

Figure 6.1.15 EndorsementClaim class definitions

Figure 6.1.16 EndorsementProfile class definitions

Figure 6.1.17 Evidence class definitions

Figure 6.1.18 Identity class definitions

Figure 6.1.19 Profile class definitions

Figure 6.1.20 Result class definitions

Figure 6.1.21 ResultDescription class definitions

Figure 6.1.22 RevocationList class definitions

Figure 6.1.23 SignedAssertion class definitions

Figure 6.1.24 SignedEndorsement class definitions

Figure 6.1.25 Verification class definitions

Figure 6.1.26 imsx_CodeMinor class definitions

Figure 6.1.27 imsx_CodeMinorField class definitions

Figure 6.1.28 imsx_StatusInfo class definitions

Figure 6.2.1 GUID class definitions

Figure 6.2.2 IRI class definitions

Figure 6.2.3 Markdown class definitions

Figure 6.2.4 URL class definitions

Figure 6.2.5 UUID class definitions

Figure 6.3.1 AchievementType class definitions

Figure 6.3.2 AssertionType class definitions

Figure 6.3.3 AssociationType class definitions

Figure 6.3.4 EndorsementType class definitions

Figure 6.3.5 ResultType class definitions

Figure 6.3.6 VerificationType class definitions

Figure 6.3.7 imsx_CodeMajorEnum class definitions

Figure 6.3.8 imsx_CodeMinorValueEnum class definitions

Figure 6.3.9 imsx_SeverityEnum class definitions

toc | top

List of Tables

Table 4.1 The set of interfaces.

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

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

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

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

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

Table 5.1 "Assertion" Class Description

Table 5.1.1 "id" Attribute Description

Table 5.1.2 "type" Attribute Description

Table 5.1.3 "achievement" Attribute Description

Table 5.1.4 "creditsEarned" Attribute Description

Table 5.1.5 "endDate" Attribute Description

Table 5.1.6 "endorsements" Attribute Description

Table 5.1.7 "evidence" Attribute Description

Table 5.1.8 "image" Attribute Description

Table 5.1.9 "issuedOn" Attribute Description

Table 5.1.10 "licenseNumber" Attribute Description

Table 5.1.11 "narrative" Attribute Description

Table 5.1.12 "recipient" Attribute Description

Table 5.1.13 "results" Attribute Description

Table 5.1.14 "revocationReason" Attribute Description

Table 5.1.15 "revoked" Attribute Description

Table 5.1.16 "role" Attribute Description

Table 5.1.17 "startDate" Attribute Description

Table 5.1.18 "term" Attribute Description

Table 5.1.19 "verification" Attribute Description

Table 5.1.20 "extensions" Attribute Description

Table 5.2 "CLR" Class Description

Table 5.2.1 "id" Attribute Description

Table 5.2.2 "type" Attribute Description

Table 5.2.3 "assertions" Attribute Description

Table 5.2.4 "associations" Attribute Description

Table 5.2.5 "issuedOn" Attribute Description

Table 5.2.6 "learner" Attribute Description

Table 5.2.7 "publisher" Attribute Description

Table 5.3 "CLRSet" Class Description

Table 5.3.1 "id" Attribute Description

Table 5.3.2 "type" Attribute Description

Table 5.3.3 "clrs" Attribute Description

Table 5.4 "CryptographicKey" Class Description

Table 5.4.1 "id" Attribute Description

Table 5.4.2 "type" Attribute Description

Table 5.4.3 "owner" Attribute Description

Table 5.4.4 "publicKeyPem" Attribute Description

Table 5.5 "DiscoveryDocument" Class Description

Table 5.5.1 "authorizationUrl" Attribute Description

Table 5.5.2 "image" Attribute Description

Table 5.5.3 "name" Attribute Description

Table 5.5.4 "privacyPolicyUrl" Attribute Description

Table 5.5.5 "registrationUrl" Attribute Description

Table 5.5.6 "scopesOffered" Attribute Description

Table 5.5.7 "termsOfServiceUrl" Attribute Description

Table 5.5.8 "tokenUrl" Attribute Description

Table 5.6 "Endorsement" Class Description

Table 5.6.1 "id" Attribute Description

Table 5.6.2 "type" Attribute Description

Table 5.6.3 "claim" Attribute Description

Table 5.6.4 "issuedOn" Attribute Description

Table 5.6.5 "issuer" Attribute Description

Table 5.6.6 "verification" Attribute Description

Table 5.7 "IRI" Class Description

Table 5.8 "imsx_StatusInfo" Class Description

Table 5.8.1 "imsx_codeMajor" Attribute Description

Table 5.8.2 "imsx_severity" Attribute Description

Table 5.8.3 "imsx_description" Attribute Description

Table 5.8.4 "imsx_codeMinor" Attribute Description

Table 6.1.1 Achievement class definitions

Table 6.1.1.1 Description of the "id" attribute for the "Achievement" class

Table 6.1.1.2 Description of the "type" attribute for the "Achievement" class

Table 6.1.1.3 Description of the "alignments" attribute for the "Achievement" class

Table 6.1.1.4 Description of the "creditsAvailable" attribute for the "Achievement" class

Table 6.1.1.5 Description of the "description" attribute for the "Achievement" class

Table 6.1.1.6 Description of the "endorsements" attribute for the "Achievement" class

Table 6.1.1.7 Description of the "humanCode" attribute for the "Achievement" class

Table 6.1.1.8 Description of the "name" attribute for the "Achievement" class

Table 6.1.1.9 Description of the "fieldOfStudy" attribute for the "Achievement" class

Table 6.1.1.10 Description of the "image" attribute for the "Achievement" class

Table 6.1.1.11 Description of the "issuer" attribute for the "Achievement" class

Table 6.1.1.12 Description of the "level" attribute for the "Achievement" class

Table 6.1.1.13 Description of the "requirement" attribute for the "Achievement" class

Table 6.1.1.14 Description of the "resultDescriptions" attribute for the "Achievement" class

Table 6.1.1.15 Description of the "specialization" attribute for the "Achievement" class

Table 6.1.1.16 Description of the "tags" attribute for the "Achievement" class

Table 6.1.1.17 Description of the "typeLabel" attribute for the "Achievement" class

Table 6.1.1.18 Description of the "extensions" attribute for the "Achievement" class

Table 6.1.2 Address class definitions

Table 6.1.2.1 Description of the "id" attribute for the "Address" class

Table 6.1.2.2 Description of the "type" attribute for the "Address" class

Table 6.1.2.3 Description of the "addressCountry" attribute for the "Address" class

Table 6.1.2.4 Description of the "addressLocality" attribute for the "Address" class

Table 6.1.2.5 Description of the "addressRegion" attribute for the "Address" class

Table 6.1.2.6 Description of the "postalCode" attribute for the "Address" class

Table 6.1.2.7 Description of the "postOfficeBoxNumber" attribute for the "Address" class

Table 6.1.2.8 Description of the "streetAddress" attribute for the "Address" class

Table 6.1.3 Alignment class definitions

Table 6.1.3.1 Description of the "id" attribute for the "Alignment" class

Table 6.1.3.2 Description of the "type" attribute for the "Alignment" class

Table 6.1.3.3 Description of the "educationalFramework" attribute for the "Alignment" class

Table 6.1.3.4 Description of the "targetCode" attribute for the "Alignment" class

Table 6.1.3.5 Description of the "targetDescription" attribute for the "Alignment" class

Table 6.1.3.6 Description of the "targetName" attribute for the "Alignment" class

Table 6.1.3.7 Description of the "targetUrl" attribute for the "Alignment" class

Table 6.1.4 Artifact class definitions

Table 6.1.4.1 Description of the "type" attribute for the "Artifact" class

Table 6.1.4.2 Description of the "description" attribute for the "Artifact" class

Table 6.1.4.3 Description of the "name" attribute for the "Artifact" class

Table 6.1.4.4 Description of the "url" attribute for the "Artifact" class

Table 6.1.5 Assertion class definitions

Table 6.1.5.1 Description of the "id" attribute for the "Assertion" class

Table 6.1.5.2 Description of the "type" attribute for the "Assertion" class

Table 6.1.5.3 Description of the "achievement" attribute for the "Assertion" class

Table 6.1.5.4 Description of the "creditsEarned" attribute for the "Assertion" class

Table 6.1.5.5 Description of the "endDate" attribute for the "Assertion" class

Table 6.1.5.6 Description of the "endorsements" attribute for the "Assertion" class

Table 6.1.5.7 Description of the "evidence" attribute for the "Assertion" class

Table 6.1.5.8 Description of the "image" attribute for the "Assertion" class

Table 6.1.5.9 Description of the "issuedOn" attribute for the "Assertion" class

Table 6.1.5.10 Description of the "licenseNumber" attribute for the "Assertion" class

Table 6.1.5.11 Description of the "narrative" attribute for the "Assertion" class

Table 6.1.5.12 Description of the "recipient" attribute for the "Assertion" class

Table 6.1.5.13 Description of the "results" attribute for the "Assertion" class

Table 6.1.5.14 Description of the "revocationReason" attribute for the "Assertion" class

Table 6.1.5.15 Description of the "revoked" attribute for the "Assertion" class

Table 6.1.5.16 Description of the "role" attribute for the "Assertion" class

Table 6.1.5.17 Description of the "startDate" attribute for the "Assertion" class

Table 6.1.5.18 Description of the "term" attribute for the "Assertion" class

Table 6.1.5.19 Description of the "verification" attribute for the "Assertion" class

Table 6.1.5.20 Description of the "extensions" attribute for the "Assertion" class

Table 6.1.6 AssertionBase class definitions

Table 6.1.6.1 Description of the "id" attribute for the "AssertionBase" class

Table 6.1.6.2 Description of the "type" attribute for the "AssertionBase" class

Table 6.1.6.3 Description of the "extensions" attribute for the "AssertionBase" class

Table 6.1.7 Association class definitions

Table 6.1.7.1 Description of the "id" attribute for the "Association" class

Table 6.1.7.2 Description of the "type" attribute for the "Association" class

Table 6.1.7.3 Description of the "associationType" attribute for the "Association" class

Table 6.1.7.4 Description of the "identifier" attribute for the "Association" class

Table 6.1.7.5 Description of the "lastChangeDateTime" attribute for the "Association" class

Table 6.1.7.6 Description of the "sequenceNumber" attribute for the "Association" class

Table 6.1.7.7 Description of the "sourceId" attribute for the "Association" class

Table 6.1.7.8 Description of the "targetId" attribute for the "Association" class

Table 6.1.8 CLR class definitions

Table 6.1.8.1 Description of the "id" attribute for the "CLR" class

Table 6.1.8.2 Description of the "type" attribute for the "CLR" class

Table 6.1.8.3 Description of the "assertions" attribute for the "CLR" class

Table 6.1.8.4 Description of the "associations" attribute for the "CLR" class

Table 6.1.8.5 Description of the "issuedOn" attribute for the "CLR" class

Table 6.1.8.6 Description of the "learner" attribute for the "CLR" class

Table 6.1.8.7 Description of the "publisher" attribute for the "CLR" class

Table 6.1.9 CLRSet class definitions

Table 6.1.9.1 Description of the "id" attribute for the "CLRSet" class

Table 6.1.9.2 Description of the "type" attribute for the "CLRSet" class

Table 6.1.9.3 Description of the "clrs" attribute for the "CLRSet" class

Table 6.1.10 Criteria class definitions

Table 6.1.10.1 Description of the "id" attribute for the "Criteria" class

Table 6.1.10.2 Description of the "type" attribute for the "Criteria" class

Table 6.1.10.3 Description of the "narrative" attribute for the "Criteria" class

Table 6.1.10.4 Description of the "extensions" attribute for the "Criteria" class

Table 6.1.11 CryptographicKey class definitions

Table 6.1.11.1 Description of the "id" attribute for the "CryptographicKey" class

Table 6.1.11.2 Description of the "type" attribute for the "CryptographicKey" class

Table 6.1.11.3 Description of the "owner" attribute for the "CryptographicKey" class

Table 6.1.11.4 Description of the "publicKeyPem" attribute for the "CryptographicKey" class

Table 6.1.12 DiscoveryDocument class definitions

Table 6.1.12.1 Description of the "authorizationUrl" attribute for the "DiscoveryDocument" class

Table 6.1.12.2 Description of the "image" attribute for the "DiscoveryDocument" class

Table 6.1.12.3 Description of the "name" attribute for the "DiscoveryDocument" class

Table 6.1.12.4 Description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class

Table 6.1.12.5 Description of the "registrationUrl" attribute for the "DiscoveryDocument" class

Table 6.1.12.6 Description of the "scopesOffered" attribute for the "DiscoveryDocument" class

Table 6.1.12.7 Description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class

Table 6.1.12.8 Description of the "tokenUrl" attribute for the "DiscoveryDocument" class

Table 6.1.13 Endorsement class definitions

Table 6.1.13.1 Description of the "id" attribute for the "Endorsement" class

Table 6.1.13.2 Description of the "type" attribute for the "Endorsement" class

Table 6.1.13.3 Description of the "claim" attribute for the "Endorsement" class

Table 6.1.13.4 Description of the "issuedOn" attribute for the "Endorsement" class

Table 6.1.13.5 Description of the "issuer" attribute for the "Endorsement" class

Table 6.1.13.6 Description of the "verification" attribute for the "Endorsement" class

Table 6.1.14 EndorsementBase class definitions

Table 6.1.14.1 Description of the "id" attribute for the "EndorsementBase" class

Table 6.1.14.2 Description of the "type" attribute for the "EndorsementBase" class

Table 6.1.14.3 Description of the "extensions" attribute for the "EndorsementBase" class

Table 6.1.15 EndorsementClaim class definitions

Table 6.1.15.1 Description of the "id" attribute for the "EndorsementClaim" class

Table 6.1.15.2 Description of the "type" attribute for the "EndorsementClaim" class

Table 6.1.15.3 Description of the "endorsementComment" attribute for the "EndorsementClaim" class

Table 6.1.15.4 Description of the "extensions" attribute for the "EndorsementClaim" class

Table 6.1.16 EndorsementProfile class definitions

Table 6.1.16.1 Description of the "id" attribute for the "EndorsementProfile" class

Table 6.1.16.2 Description of the "type" attribute for the "EndorsementProfile" class

Table 6.1.16.3 Description of the "address" attribute for the "EndorsementProfile" class

Table 6.1.16.4 Description of the "description" attribute for the "EndorsementProfile" class

Table 6.1.16.5 Description of the "email" attribute for the "EndorsementProfile" class

Table 6.1.16.6 Description of the "image" attribute for the "EndorsementProfile" class

Table 6.1.16.7 Description of the "name" attribute for the "EndorsementProfile" class

Table 6.1.16.8 Description of the "publicKey" attribute for the "EndorsementProfile" class

Table 6.1.16.9 Description of the "revocationList" attribute for the "EndorsementProfile" class

Table 6.1.16.10 Description of the "sourcedId" attribute for the "EndorsementProfile" class

Table 6.1.16.11 Description of the "studentId" attribute for the "EndorsementProfile" class

Table 6.1.16.12 Description of the "telephone" attribute for the "EndorsementProfile" class

Table 6.1.16.13 Description of the "url" attribute for the "EndorsementProfile" class

Table 6.1.16.14 Description of the "verification" attribute for the "EndorsementProfile" class

Table 6.1.16.15 Description of the "extensions" attribute for the "EndorsementProfile" class

Table 6.1.17 Evidence class definitions

Table 6.1.17.1 Description of the "id" attribute for the "Evidence" class

Table 6.1.17.2 Description of the "type" attribute for the "Evidence" class

Table 6.1.17.3 Description of the "artifacts" attribute for the "Evidence" class

Table 6.1.17.4 Description of the "audience" attribute for the "Evidence" class

Table 6.1.17.5 Description of the "description" attribute for the "Evidence" class

Table 6.1.17.6 Description of the "genre" attribute for the "Evidence" class

Table 6.1.17.7 Description of the "name" attribute for the "Evidence" class

Table 6.1.17.8 Description of the "narrative" attribute for the "Evidence" class

Table 6.1.18 Identity class definitions

Table 6.1.18.1 Description of the "id" attribute for the "Identity" class

Table 6.1.18.2 Description of the "type" attribute for the "Identity" class

Table 6.1.18.3 Description of the "identity" attribute for the "Identity" class

Table 6.1.18.4 Description of the "hashed" attribute for the "Identity" class

Table 6.1.18.5 Description of the "salt" attribute for the "Identity" class

Table 6.1.19 Profile class definitions

Table 6.1.19.1 Description of the "id" attribute for the "Profile" class

Table 6.1.19.2 Description of the "type" attribute for the "Profile" class

Table 6.1.19.3 Description of the "address" attribute for the "Profile" class

Table 6.1.19.4 Description of the "description" attribute for the "Profile" class

Table 6.1.19.5 Description of the "email" attribute for the "Profile" class

Table 6.1.19.6 Description of the "endorsements" attribute for the "Profile" class

Table 6.1.19.7 Description of the "image" attribute for the "Profile" class

Table 6.1.19.8 Description of the "name" attribute for the "Profile" class

Table 6.1.19.9 Description of the "publicKey" attribute for the "Profile" class

Table 6.1.19.10 Description of the "revocationList" attribute for the "Profile" class

Table 6.1.19.11 Description of the "sourcedId" attribute for the "Profile" class

Table 6.1.19.12 Description of the "studentId" attribute for the "Profile" class

Table 6.1.19.13 Description of the "telephone" attribute for the "Profile" class

Table 6.1.19.14 Description of the "url" attribute for the "Profile" class

Table 6.1.19.15 Description of the "verification" attribute for the "Profile" class

Table 6.1.19.16 Description of the "extensions" attribute for the "Profile" class

Table 6.1.20 Result class definitions

Table 6.1.20.1 Description of the "id" attribute for the "Result" class

Table 6.1.20.2 Description of the "type" attribute for the "Result" class

Table 6.1.20.3 Description of the "name" attribute for the "Result" class

Table 6.1.20.4 Description of the "value" attribute for the "Result" class

Table 6.1.21 ResultDescription class definitions

Table 6.1.21.1 Description of the "id" attribute for the "ResultDescription" class

Table 6.1.21.2 Description of the "type" attribute for the "ResultDescription" class

Table 6.1.21.3 Description of the "name" attribute for the "ResultDescription" class

Table 6.1.21.4 Description of the "resultMin" attribute for the "ResultDescription" class

Table 6.1.21.5 Description of the "resultMax" attribute for the "ResultDescription" class

Table 6.1.22 RevocationList class definitions

Table 6.1.22.1 Description of the "id" attribute for the "RevocationList" class

Table 6.1.22.2 Description of the "type" attribute for the "RevocationList" class

Table 6.1.22.3 Description of the "issuer" attribute for the "RevocationList" class

Table 6.1.22.4 Description of the "revokedAssertions" attribute for the "RevocationList" class

Table 6.1.23 SignedAssertion class definitions

Table 6.1.23.1 Description of the "id" attribute for the "SignedAssertion" class

Table 6.1.23.2 Description of the "type" attribute for the "SignedAssertion" class

Table 6.1.23.3 Description of the "compactJws" attribute for the "SignedAssertion" class

Table 6.1.24 SignedEndorsement class definitions

Table 6.1.24.1 Description of the "id" attribute for the "SignedEndorsement" class

Table 6.1.24.2 Description of the "type" attribute for the "SignedEndorsement" class

Table 6.1.24.3 Description of the "compactJws" attribute for the "SignedEndorsement" class

Table 6.1.25 Verification class definitions

Table 6.1.25.1 Description of the "id" attribute for the "Verification" class

Table 6.1.25.2 Description of the "type" attribute for the "Verification" class

Table 6.1.25.3 Description of the "allowedOrigins" attribute for the "Verification" class

Table 6.1.25.4 Description of the "creator" attribute for the "Verification" class

Table 6.1.25.5 Description of the "startsWith" attribute for the "Verification" class

Table 6.1.25.6 Description of the "verificationProperty" attribute for the "Verification" class

Table 6.1.26 imsx_CodeMinor class definitions

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

Table 6.1.27 imsx_CodeMinorField class definitions

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

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

Table 6.1.28 imsx_StatusInfo class definitions

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

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

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

Table 6.1.28.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class

Table 6.2.1 GUID class definitions

Table 6.2.2 IRI class definitions

Table 6.2.3 Markdown class definitions

Table 6.2.4 URL class definitions

Table 6.2.5 UUID class definitions

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

Table 6.3.1 AchievementType class definitions

Table 6.3.2 AssertionType class definitions

Table 6.3.3 AssociationType class definitions

Table 6.3.4 EndorsementType class definitions

Table 6.3.5 ResultType class definitions

Table 6.3.6 VerificationType class definitions

Table 6.3.7 imsx_CodeMajorEnum class definitions

Table 6.3.8 imsx_CodeMinorValueEnum class definitions

Table 6.3.9 imsx_SeverityEnum class definitions

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

toc | top

1. Introduction

1.1. Scope and Context

This document is the IMS Comprehensive Learner Record (CLR) Information Model Version 1.0 and as such it is used as the basis for the development of the following documents:

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

1.2. Conventions

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

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

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

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

1.3. Structure of this Document

The structure of the rest of this document is:

2. Service Architecture and Specification Model An overview of the service architeccture and end-system service objects.
3. Conceptual Model The underlying conceptual data model and the set of relationships between the various learning standard and competency components. This includes schematic visualizations that are not based upon UML.
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 group as interfaces.
5. The Interface 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. 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, and derived.
7. 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 A list of references used throughout this document.
Appendix A Modelling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the service model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model).
Appendix B Service Status Codes A summary list of the status codes, and their causes, that can be returned by each of the operations forming the service. These describe the end-to-end status of the transaction.

1.4. Terms and Nomenclature

A-API Abstract API
API Application Programming Interface
CASE IMS Competencies and Standards Exchange specification
CBE Competency Based Education
CLR Comprehensive Learner Record
HE Higher Education
IETF Internet Engineering Task Force
IdentityHash A hash string preceded by a dollar sign ('$') and the algorithm used to generate the hash. The supported algorithms are MD5 and SHA-256, identified by the strings md5 and sha256 respectively. For example: sha256$28d50415252ab6c689a54413da15b083034b66e5 represents the result of calculating a SHA-256 hash on the string 'mayze'.
JSON Java Script Object Notation
JSON-LD A JSON-based serialization for Linked Data
REST Representation State TRansfer
RFC Request for Comments
UML Unified Modelling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
XML Exchange Markup Language
XSD XML Schema Definition

toc | top

2. Service Architecture and Specification Model

This Section is NOT NORMATIVE.

2.1. An Abstract Representation

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 Information 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.

2.2. A Synchronous Service

The CLR 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 the figure below:

Diagram of the action sequence for the CLR synchronous service.

Diagram of the action sequence for the CLR synchronous service.

The figure above 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 (perhaps hundreds to thousands) from many consumers.

toc | top

3. Conceptual Model

This Section is NOT NORMATIVE.

3.1. Logical Data Model

Diagram of the logical data model of the Comprehensive Learner Record specification

Diagram of the logical data model of the Comprehensive Learner Record specification.

The data model for the CLR specification consists of a set of core classes which are used to define the data properties.

The set of classes in the logical data model are:

Comprehensive Learner Record (CLR)
The entire comprehensive learner record for one learner from one publisher.
Learner Profile
The person whose CLR is being represented.
Publisher Profile
The individual or organization publishing the CLR.
Assertion
An assertion of achievement by the learner.
Achievement
The achievement that is asserted. Achievement objects define achievements that can be achieved by anybody. Assertions assert that an individual learner achieved the achievement.
Association
An association between one achievement and another.

3.2. Interoperability Model

Diagram of the interoperability supplied by the Comprehensive Learner Record service.

Diagram of the interoperability supplied by the Comprehensive Learner Record service.

The CLR Service defines how comprehensive learner record data is exchanged (indicated by the arrows in the diagram). It does not address how the data is stored and/or processed in the systems that exchange the information. Nor does it address how the data is displayed or used by applications.

The CLR Service is realized as a web service (the actual implementation is defined by the associated binding specification and, currently, only a REST/JSON based binding is available). Intermediate systems must support both Consumer and Provider functionality.

toc | top

4. The Behavior Model

This Section is NORMATIVE

4.1 Service Definition

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

UML model of the service.

Figure 4.1 - Service interface definitions.

Table 4.1 The set of interfaces.
Interface Description
AssertionsManager The set of service operations that manage access to Assertions.
ClrsManager The set of service operations that manage access to CLRs.
DiscoveryManager The set of service operations that manage access to the DiscoveryDocument.
EndorsementsManager The set of service operations that manage access to Endorsements.
KeysManager The set of service operations that manage access to CryptographicKeys.

4.2 AssertionsManager Interface Description

The set of service operations that manage access to Assertions.

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

Table 4.2 The set of operations for the "AssertionsManager" interface.
Operation Description
getAssertion Returns the current version of the specified Assertion. This operation is used to verify a Hosted Assertion.

4.2.1 "getAssertion" Operation

Name: getAssertion ()
Return Function Parameter: None.
Supplied (in) Parameters: id : String - the unique identifier of the Assertion.
Returned (out) Parameters: assertion : Assertion - the Assertion.
Behavior: Returns the current version of the specified Assertion. This operation is used to verify a Hosted Assertion.

4.3 ClrsManager Interface Description

The set of service operations that manage access to CLRs.

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

Table 4.3 The set of operations for the "ClrsManager" interface.
Operation Description
getClrs The set of CLRs the user is authorized to access are returned in the payload of the response message.
replaceClr Create or replace a CLR.
deleteClr Delete a CLR.

4.3.1 "getClrs" Operation

Name: getClrs ()
Return Function Parameter: : imsx_StatusInfo - the set of CLRs the user is authorized to access are returned in the payload of the response message.
Supplied (in) Parameters: None.
Returned (out) Parameters: clrs : CLRSet - the container for the set of CLRs that have been supplied by the service provider. The order of CLRs is not significant.
Behavior: The set of CLRs the user is authorized to access are returned in the payload of the response message.

4.3.2 "replaceClr" Operation

Name: replaceClr ()
Return Function Parameter: : imsx_StatusInfo - create or replace a CLR.
Supplied (in) Parameters: clrIn : CLR - the CLR to be created or replaced.
Returned (out) Parameters: clrOut : CLR -
Behavior: Create or replace a CLR.

4.3.3 "deleteClr" Operation

Name: deleteClr ()
Return Function Parameter: : imsx_StatusInfo - delete a CLR.
Supplied (in) Parameters: id : IRI - the unique identifier of the CLR to delete.
Returned (out) Parameters: None.
Behavior: Delete a CLR.

4.4 DiscoveryManager Interface Description

The set of service operations that manage access to the DiscoveryDocument.

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

Table 4.4 The set of operations for the "DiscoveryManager" interface.
Operation Description
getDiscoveryDocument Returns the DiscoveryDocument if the provider supports dynamic CLR consumer registration.

4.4.1 "getDiscoveryDocument" Operation

Name: getDiscoveryDocument ()
Return Function Parameter: None.
Supplied (in) Parameters: None.
Returned (out) Parameters: discoveryDocument : DiscoveryDocument -
Behavior: Returns the DiscoveryDocument if the provider supports dynamic CLR consumer registration.

4.5 EndorsementsManager Interface Description

The set of service operations that manage access to Endorsements.

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

Table 4.5 The set of operations for the "EndorsementsManager" interface.
Operation Description
getEndorsement Returns the current version of the specified Endorsement. This operation is used to verify a Hosted Endorsements

4.5.1 "getEndorsement" Operation

Name: getEndorsement ()
Return Function Parameter: None.
Supplied (in) Parameters: id : String - the unique identifier of the Endorsement
Returned (out) Parameters: endorsement : Endorsement - the Endorsement.
Behavior: Returns the current version of the specified Endorsement. This operation is used to verify a Hosted Endorsements

4.6 KeysManager Interface Description

The set of service operations that manage access to CryptographicKeys.

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

Table 4.6 The set of operations for the "KeysManager" interface.
Operation Description
getKey Returns the current version of the specified CryptographicKey. This operation is used to help verify a Signed Assertion.

4.6.1 "getKey" Operation

Name: getKey ()
Return Function Parameter: None.
Supplied (in) Parameters: id : String - the unique identifier of the CryptographicKey.
Returned (out) Parameters: key : CryptographicKey - the CryptographicKey.
Behavior: Returns the current version of the specified CryptographicKey. This operation is used to help verify a Signed Assertion.

toc | top

5. The Interface Model

This Section is NORMATIVE

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

5.1 Assertion Class Description

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

UML diagram of the Assertion class.

Figure 5.1 - Assertion class definitions.

Table 5.1 Description of the "Assertion" class.
Descriptor Definition
Class Name Assertion
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Assertions are representations of an Achievement awarded to a Learner. It is used to share information about the Achievement Assertion, such as a result and verification method. Assertions are packaged for transmission as JSON objects with a set of mandatory and optional properties.

5.1.1 "id" Attribute Description

The description of the "id" attribute for the "Assertion" class is given in Table 5.1.1.

Table 5.1.1 Description of the "id" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Assertion.

5.1.2 "type" Attribute Description

The description of the "type" attribute for the "Assertion" class is given in Table 5.1.2.

Table 5.1.2 Description of the "type" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. Normally 'Assertion'.

5.1.3 "achievement" Attribute Description

The description of the "achievement" attribute for the "Assertion" class is given in Table 5.1.3.

Table 5.1.3 Description of the "achievement" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name achievement
Data Type Achievement
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The achievement being asserted.

5.1.4 "creditsEarned" Attribute Description

The description of the "creditsEarned" attribute for the "Assertion" class is given in Table 5.1.4.

Table 5.1.4 Description of the "creditsEarned" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name creditsEarned
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The number of credits earned, generally in semester or quarter credit hours. This field correlates with the Achievement creditsAvailable field.

5.1.5 "endDate" Attribute Description

The description of the "endDate" attribute for the "Assertion" class is given in Table 5.1.5.

Table 5.1.5 Description of the "endDate" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name endDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If present, the assertion is not valid after this date.

5.1.6 "endorsements" Attribute Description

The description of the "endorsements" attribute for the "Assertion" class is given in Table 5.1.6.

Table 5.1.6 Description of the "endorsements" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name endorsements
Data Type EndorsementBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Allows endorsers to make specific claims about the assertion.

5.1.7 "evidence" Attribute Description

The description of the "evidence" attribute for the "Assertion" class is given in Table 5.1.7.

Table 5.1.7 Description of the "evidence" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name evidence
Data Type Evidence
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Evidence describing the work that the recipient did to earn the achievement. This can be a webpage that links out to other pages if linking directly to the work is infeasible.

5.1.8 "image" Attribute Description

The description of the "image" attribute for the "Assertion" class is given in Table 5.1.8.

Table 5.1.8 Description of the "image" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description IRI of an image representing the assertion. May be a Data URI or the URL where the image may be found. If the object is an Open Badges 2.0 assertion, the image is a 'Baked Image' as defined by the Open Badges 2.0 specification.

5.1.9 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "Assertion" class is given in Table 5.1.9.

Table 5.1.9 Description of the "issuedOn" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Timestamp of when the achievement was awarded. Required unless the assertion is revoked.

5.1.10 "licenseNumber" Attribute Description

The description of the "licenseNumber" attribute for the "Assertion" class is given in Table 5.1.10.

Table 5.1.10 Description of the "licenseNumber" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name licenseNumber
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The license number that was issued with this assertion.

5.1.11 "narrative" Attribute Description

The description of the "narrative" attribute for the "Assertion" class is given in Table 5.1.11.

Table 5.1.11 Description of the "narrative" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name narrative
Data Type Markdown
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A narrative that describes the connection between multiple pieces of evidence. Likely only present if evidence is a multi-value array. Markdown allowed.

5.1.12 "recipient" Attribute Description

The description of the "recipient" attribute for the "Assertion" class is given in Table 5.1.12.

Table 5.1.12 Description of the "recipient" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name recipient
Data Type Identity
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The recipient of the achievement. Required unless the assertion is revoked.

5.1.13 "results" Attribute Description

The description of the "results" attribute for the "Assertion" class is given in Table 5.1.13.

Table 5.1.13 Description of the "results" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name results
Data Type Result
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The results being asserted.

5.1.14 "revocationReason" Attribute Description

The description of the "revocationReason" attribute for the "Assertion" class is given in Table 5.1.14.

Table 5.1.14 Description of the "revocationReason" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name revocationReason
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Optional published reason for revocation, if revoked.

5.1.15 "revoked" Attribute Description

The description of the "revoked" attribute for the "Assertion" class is given in Table 5.1.15.

Table 5.1.15 Description of the "revoked" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name revoked
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Defaults to false if Assertion is not referenced from a revokedAssertions list and may be omitted. See RevocationList. If revoked is true, only revoked and id are required properties, and many issuers strip a hosted Assertion down to only those properties when revoked.

5.1.16 "role" Attribute Description

The description of the "role" attribute for the "Assertion" class is given in Table 5.1.16.

Table 5.1.16 Description of the "role" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name role
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Role, position, or title of the learner when demonstrating or performing the achievement or evidence of learning being asserted. Examples include 'Student President', 'Intern', 'Captain', etc.

5.1.17 "startDate" Attribute Description

The description of the "startDate" attribute for the "Assertion" class is given in Table 5.1.17.

Table 5.1.17 Description of the "startDate" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name startDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If present, the assertion is not valid before this date.

5.1.18 "term" Attribute Description

The description of the "term" attribute for the "Assertion" class is given in Table 5.1.18.

Table 5.1.18 Description of the "term" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name term
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The academic term in which this assertion was achieved.

5.1.19 "verification" Attribute Description

The description of the "verification" attribute for the "Assertion" class is given in Table 5.1.19.

Table 5.1.19 Description of the "verification" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Default = "Hosted".
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for third parties to verify this assertion. (Alias “verify” may be used in context.)

5.1.20 "extensions" Attribute Description

The description of the "extensions" attribute for the "Assertion" class is given in Table 5.1.20.

Table 5.1.20 Description of the "extensions" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The assertion object can be extended with additional properties.

5.2 CLR Class Description

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

UML diagram of the CLR class.

Figure 5.2 - CLR class definitions.

Table 5.2 Description of the "CLR" class.
Descriptor Definition
Class Name CLR
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A collection of assertions for a single person reported by a single publisher.

5.2.1 "id" Attribute Description

The description of the "id" attribute for the "CLR" class is given in Table 5.2.1.

Table 5.2.1 Description of the "id" attribute for the "CLR" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the CLR.

5.2.2 "type" Attribute Description

The description of the "type" attribute for the "CLR" class is given in Table 5.2.2.

Table 5.2.2 Description of the "type" attribute for the "CLR" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CLR'.

5.2.3 "assertions" Attribute Description

The description of the "assertions" attribute for the "CLR" class is given in Table 5.2.3.

Table 5.2.3 Description of the "assertions" attribute for the "CLR" class.
Descriptor Definition
Attribute Name assertions
Data Type AssertionBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The learner's asserted achievements.

5.2.4 "associations" Attribute Description

The description of the "associations" attribute for the "CLR" class is given in Table 5.2.4.

Table 5.2.4 Description of the "associations" attribute for the "CLR" class.
Descriptor Definition
Attribute Name associations
Data Type Association
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of achievement associations in the CLR.

5.2.5 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "CLR" class is given in Table 5.2.5.

Table 5.2.5 Description of the "issuedOn" attribute for the "CLR" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Timestamp of when the CLR was published.

5.2.6 "learner" Attribute Description

The description of the "learner" attribute for the "CLR" class is given in Table 5.2.6.

Table 5.2.6 Description of the "learner" attribute for the "CLR" class.
Descriptor Definition
Attribute Name learner
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description A profile describing the recipient of the achievements.

5.2.7 "publisher" Attribute Description

The description of the "publisher" attribute for the "CLR" class is given in Table 5.2.7.

Table 5.2.7 Description of the "publisher" attribute for the "CLR" class.
Descriptor Definition
Attribute Name publisher
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description A profile describing the publisher of the CLR.

5.3 CLRSet Class Description

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

UML diagram of the CLRSet class.

Figure 5.3 - CLRSet class definitions.

Table 5.3 Description of the "CLRSet" class.
Descriptor Definition
Class Name CLRSet
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A set of CLRs.

5.3.1 "id" Attribute Description

The description of the "id" attribute for the "CLRSet" class is given in Table 5.3.1.

Table 5.3.1 Description of the "id" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the ClrSet.

5.3.2 "type" Attribute Description

The description of the "type" attribute for the "CLRSet" class is given in Table 5.3.2.

Table 5.3.2 Description of the "type" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CLRSet'.

5.3.3 "clrs" Attribute Description

The description of the "clrs" attribute for the "CLRSet" class is given in Table 5.3.3.

Table 5.3.3 Description of the "clrs" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name clrs
Data Type CLR
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description An unordered collection of comprehensive learner records.

5.4 CryptographicKey Class Description

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

UML diagram of the CryptographicKey class.

Figure 5.4 - CryptographicKey class definitions.

Table 5.4 Description of the "CryptographicKey" class.
Descriptor Definition
Class Name CryptographicKey
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Based on the Key class from the W3C Web Payments Community Group Security Vocabulary. A CryptographicKey document identifies and describes a public key used to verify signed Assertions.

5.4.1 "id" Attribute Description

The description of the "id" attribute for the "CryptographicKey" class is given in Table 5.4.1.

Table 5.4.1 Description of the "id" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The URI of the CryptographicKey document. Used during signed verification.

5.4.2 "type" Attribute Description

The description of the "type" attribute for the "CryptographicKey" class is given in Table 5.4.2.

Table 5.4.2 Description of the "type" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CryptographicKey'.

5.4.3 "owner" Attribute Description

The description of the "owner" attribute for the "CryptographicKey" class is given in Table 5.4.3.

Table 5.4.3 Description of the "owner" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name owner
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The identifier for the Profile that owns this key.

5.4.4 "publicKeyPem" Attribute Description

The description of the "publicKeyPem" attribute for the "CryptographicKey" class is given in Table 5.4.4.

Table 5.4.4 Description of the "publicKeyPem" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name publicKeyPem
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The PEM key encoding is a widely-used method to express public keys, compatible with almost every Secure Sockets Layer library implementation.

5.5 DiscoveryDocument Class Description

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

UML diagram of the DiscoveryDocument class.

Figure 5.5 - DiscoveryDocument class definitions.

Table 5.5 Description of the "DiscoveryDocument" class.
Descriptor Definition
Class Name DiscoveryDocument
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Configuration information about the provider implementation.

5.5.1 "authorizationUrl" Attribute Description

The description of the "authorizationUrl" attribute for the "DiscoveryDocument" class is given in Table 5.5.1.

Table 5.5.1 Description of the "authorizationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name authorizationUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualifed URL to the provider's OAuth 2.0 Authorization endpoint.

5.5.2 "image" Attribute Description

The description of the "image" attribute for the "DiscoveryDocument" class is given in Table 5.5.2.

Table 5.5.2 Description of the "image" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description An image representing the provider. May be a Data URI or the URL where the image may be found.

5.5.3 "name" Attribute Description

The description of the "name" attribute for the "DiscoveryDocument" class is given in Table 5.5.3.

Table 5.5.3 Description of the "name" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The user-facing name of the platform providing CLR services.

5.5.4 "privacyPolicyUrl" Attribute Description

The description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class is given in Table 5.5.4.

Table 5.5.4 Description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name privacyPolicyUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's privacy policy.

5.5.5 "registrationUrl" Attribute Description

The description of the "registrationUrl" attribute for the "DiscoveryDocument" class is given in Table 5.5.5.

Table 5.5.5 Description of the "registrationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name registrationUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Registration endpoint.

5.5.6 "scopesOffered" Attribute Description

The description of the "scopesOffered" attribute for the "DiscoveryDocument" class is given in Table 5.5.6.

Table 5.5.6 Description of the "scopesOffered" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name scopesOffered
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1.. unbounded]
Description An array of OAuth 2.0 Scopes supported by the provider.

5.5.7 "termsOfServiceUrl" Attribute Description

The description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class is given in Table 5.5.7.

Table 5.5.7 Description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name termsOfServiceUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's terms of service.

5.5.8 "tokenUrl" Attribute Description

The description of the "tokenUrl" attribute for the "DiscoveryDocument" class is given in Table 5.5.8.

Table 5.5.8 Description of the "tokenUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name tokenUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Token endpoint.

5.6 Endorsement Class Description

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

UML diagram of the Endorsement class.

Figure 5.6 - Endorsement class definitions.

Table 5.6 Description of the "Endorsement" class.
Descriptor Definition
Class Name Endorsement
Class Type Container [ Unordered ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description An endorsement claim.

5.6.1 "id" Attribute Description

The description of the "id" attribute for the "Endorsement" class is given in Table 5.6.1.

Table 5.6.1 Description of the "id" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Endorsement.

5.6.2 "type" Attribute Description

The description of the "type" attribute for the "Endorsement" class is given in Table 5.6.2.

Table 5.6.2 Description of the "type" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this entity. Normally 'Endorsement'.

5.6.3 "claim" Attribute Description

The description of the "claim" attribute for the "Endorsement" class is given in Table 5.6.3.

Table 5.6.3 Description of the "claim" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name claim
Data Type EndorsementClaim
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description An entity, identified by an id and additional properties that the endorser would like to claim about that entity.

5.6.4 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "Endorsement" class is given in Table 5.6.4.

Table 5.6.4 Description of the "issuedOn" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Timestamp of when the endorsement was published.

5.6.5 "issuer" Attribute Description

The description of the "issuer" attribute for the "Endorsement" class is given in Table 5.6.5.

Table 5.6.5 Description of the "issuer" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name issuer
Data Type EndorsementProfile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description The issuer's Profile.

5.6.6 "verification" Attribute Description

The description of the "verification" attribute for the "Endorsement" class is given in Table 5.6.6.

Table 5.6.6 Description of the "verification" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for third parties to verify this assertion of endorsement.

5.7 IRI Class Description

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

UML diagram of the IRI class.

Figure 5.7 - IRI class definitions.

Table 5.7 Description of the "IRI" class.
Descriptor Definition
Class Name IRI
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 internationalized resource identifier (IRI) is an internet protocol standard which extends the ASCII characters subset of the Uniform Resource Identifier (URI) protocol.

5.8 imsx_StatusInfo Class Description

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

UML diagram of the imsx_StatusInfo class.

Figure 5.8 - imsx_StatusInfo class definitions.

Table 5.8 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents Service parameter data-type used in the following operations:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.

5.8.1 "imsx_codeMajor" Attribute Description

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

Table 5.8.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | failure | processing | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary).

5.8.2 "imsx_severity" Attribute Description

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

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

5.8.3 "imsx_description" Attribute Description

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

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

5.8.4 "imsx_codeMinor" Attribute Description

The description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class is given in Table 5.8.4.

Table 5.8.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes.

toc | top

6. Data Model

6.1. Data Class Descriptions

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

6.1.1 Achievement Class Description

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

UML diagram of the Achievement class.

Figure 6.1.1 - Achievement class definitions.

Table 6.1.1 Description of the "Achievement" class.
Descriptor Definition
Class Name Achievement
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description An accomplishment such as completing a degree, mastering a competency, or course completion that may be asserted about one or more learners.

6.1.1.1 "id" Attribute Description

The description of the "id" attribute for the "Achievement" class is given in Table 6.1.1.1.

Table 6.1.1.1 Description of the "id" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Achievement.

6.1.1.2 "type" Attribute Description

The description of the "type" attribute for the "Achievement" class is given in Table 6.1.1.2.

Table 6.1.1.2 Description of the "type" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name type
Data Type AchievementType
Value Space Enumerated value set of: { Achievement | BadgeClass | CASECompetencyStatement | CTDLCredential | IMSAssessmentResult | PESCTranscript }
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. Normally 'Achievement'.

6.1.1.3 "alignments" Attribute Description

The description of the "alignments" attribute for the "Achievement" class is given in Table 6.1.1.3.

Table 6.1.1.3 Description of the "alignments" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name alignments
Data Type Alignment
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Alignment objects describe an alignment between this achievement and a node in an educational framework.

6.1.1.4 "creditsAvailable" Attribute Description

The description of the "creditsAvailable" attribute for the "Achievement" class is given in Table 6.1.1.4.

Table 6.1.1.4 Description of the "creditsAvailable" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name creditsAvailable
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Credit hours associated with this entity, or credit hours possible. For example '3.0'.

6.1.1.5 "description" Attribute Description

The description of the "description" attribute for the "Achievement" class is given in Table 6.1.1.5.

Table 6.1.1.5 Description of the "description" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A short description of the achievement. May be the same as name if no description is available.

6.1.1.6 "endorsements" Attribute Description

The description of the "endorsements" attribute for the "Achievement" class is given in Table 6.1.1.6.

Table 6.1.1.6 Description of the "endorsements" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name endorsements
Data Type EndorsementBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Allows endorsers to make specific claims about the Achievement.

6.1.1.7 "humanCode" Attribute Description

The description of the "humanCode" attribute for the "Achievement" class is given in Table 6.1.1.7.

Table 6.1.1.7 Description of the "humanCode" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name humanCode
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The code, generally human readable, associated with an achievement.

6.1.1.8 "name" Attribute Description

The description of the "name" attribute for the "Achievement" class is given in Table 6.1.1.8.

Table 6.1.1.8 Description of the "name" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the achievement.

6.1.1.9 "fieldOfStudy" Attribute Description

The description of the "fieldOfStudy" attribute for the "Achievement" class is given in Table 6.1.1.9.

Table 6.1.1.9 Description of the "fieldOfStudy" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name fieldOfStudy
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Category, subject, area of study, discipline, or general branch of knowledge. Examples include Business, Education, Psychology, and Technology.

6.1.1.10 "image" Attribute Description

The description of the "image" attribute for the "Achievement" class is given in Table 6.1.1.10.

Table 6.1.1.10 Description of the "image" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description IRI of an image representing the achievement. May be a Data URI or the URL where the image may be found.

6.1.1.11 "issuer" Attribute Description

The description of the "issuer" attribute for the "Achievement" class is given in Table 6.1.1.11.

Table 6.1.1.11 Description of the "issuer" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name issuer
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description A profile describing the individual or organization that issues assertions of this achievement.

6.1.1.12 "level" Attribute Description

The description of the "level" attribute for the "Achievement" class is given in Table 6.1.1.12.

Table 6.1.1.12 Description of the "level" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name level
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Text that describes the level of achievement apart from how the achievement was performed or demonstrated. Examples would include 'Level 1', 'Level 2', 'Level 3', or 'Bachelors', 'Masters', 'Doctoral'.

6.1.1.13 "requirement" Attribute Description

The description of the "requirement" attribute for the "Achievement" class is given in Table 6.1.1.13.

Table 6.1.1.13 Description of the "requirement" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name requirement
Data Type Criteria
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Criteria object describing how to earn the achievement.

6.1.1.14 "resultDescriptions" Attribute Description

The description of the "resultDescriptions" attribute for the "Achievement" class is given in Table 6.1.1.14.

Table 6.1.1.14 Description of the "resultDescriptions" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name resultDescriptions
Data Type ResultDescription
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The types of result that may be asserted with this achievement.

6.1.1.15 "specialization" Attribute Description

The description of the "specialization" attribute for the "Achievement" class is given in Table 6.1.1.15.

Table 6.1.1.15 Description of the "specialization" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name specialization
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Name given to the focus, concentration, or specific area of study defined in the achievement. Examples include Entrepreneurship, Technical Communication, and Finance.

6.1.1.16 "tags" Attribute Description

The description of the "tags" attribute for the "Achievement" class is given in Table 6.1.1.16.

Table 6.1.1.16 Description of the "tags" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name tags
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Tags that describe the type of achievement.

6.1.1.17 "typeLabel" Attribute Description

The description of the "typeLabel" attribute for the "Achievement" class is given in Table 6.1.1.17.

Table 6.1.1.17 Description of the "typeLabel" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name typeLabel
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The type of achievement matching one from an IMS recommended taxonomy of achievement types, or any text string.

6.1.1.18 "extensions" Attribute Description

The description of the "extensions" attribute for the "Achievement" class is given in Table 6.1.1.18.

Table 6.1.1.18 Description of the "extensions" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The Achievement object can be extended with additional properties.

6.1.2 Address Class Description

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

UML diagram of the Address class.

Figure 6.1.2 - Address class definitions.

Table 6.1.2 Description of the "Address" class.
Descriptor Definition
Class Name Address
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Based on schema.org Address object.

6.1.2.1 "id" Attribute Description

The description of the "id" attribute for the "Address" class is given in Table 6.1.2.1.

Table 6.1.2.1 Description of the "id" attribute for the "Address" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the Address.

6.1.2.2 "type" Attribute Description

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

Table 6.1.2.2 Description of the "type" attribute for the "Address" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'Address'.

6.1.2.3 "addressCountry" Attribute Description

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

Table 6.1.2.3 Description of the "addressCountry" attribute for the "Address" class.
Descriptor Definition
Attribute Name addressCountry
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code.

6.1.2.4 "addressLocality" Attribute Description

The description of the "addressLocality" attribute for the "Address" class is given in Table 6.1.2.4.

Table 6.1.2.4 Description of the "addressLocality" attribute for the "Address" class.
Descriptor Definition
Attribute Name addressLocality
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The locality. For example, Mountain View.

6.1.2.5 "addressRegion" Attribute Description

The description of the "addressRegion" attribute for the "Address" class is given in Table 6.1.2.5.

Table 6.1.2.5 Description of the "addressRegion" attribute for the "Address" class.
Descriptor Definition
Attribute Name addressRegion
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The region. For example, CA.

6.1.2.6 "postalCode" Attribute Description

The description of the "postalCode" attribute for the "Address" class is given in Table 6.1.2.6.

Table 6.1.2.6 Description of the "postalCode" attribute for the "Address" class.
Descriptor Definition
Attribute Name postalCode
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The postal code. For example, 94043.

6.1.2.7 "postOfficeBoxNumber" Attribute Description

The description of the "postOfficeBoxNumber" attribute for the "Address" class is given in Table 6.1.2.7.

Table 6.1.2.7 Description of the "postOfficeBoxNumber" attribute for the "Address" class.
Descriptor Definition
Attribute Name postOfficeBoxNumber
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The post office box number for PO box addresses.

6.1.2.8 "streetAddress" Attribute Description

The description of the "streetAddress" attribute for the "Address" class is given in Table 6.1.2.8.

Table 6.1.2.8 Description of the "streetAddress" attribute for the "Address" class.
Descriptor Definition
Attribute Name streetAddress
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The street address. For example, 1600 Amphitheatre Pkwy.

6.1.3 Alignment Class Description

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

UML diagram of the Alignment class.

Figure 6.1.3 - Alignment class definitions.

Table 6.1.3 Description of the "Alignment" class.
Descriptor Definition
Class Name Alignment
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Alignment is based on schema.org’s AlignmentObject and uses IRIs from that vocabulary.

6.1.3.1 "id" Attribute Description

The description of the "id" attribute for the "Alignment" class is given in Table 6.1.3.1.

Table 6.1.3.1 Description of the "id" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object.

6.1.3.2 "type" Attribute Description

The description of the "type" attribute for the "Alignment" class is given in Table 6.1.3.2.

Table 6.1.3.2 Description of the "type" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this entity. Normally 'Alignment'.

6.1.3.3 "educationalFramework" Attribute Description

The description of the "educationalFramework" attribute for the "Alignment" class is given in Table 6.1.3.3.

Table 6.1.3.3 Description of the "educationalFramework" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name educationalFramework
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The framework to which the resource being described is aligned.

6.1.3.4 "targetCode" Attribute Description

The description of the "targetCode" attribute for the "Alignment" class is given in Table 6.1.3.4.

Table 6.1.3.4 Description of the "targetCode" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetCode
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If applicable, a locally unique string identifier that identifies the alignment target within its framework.

6.1.3.5 "targetDescription" Attribute Description

The description of the "targetDescription" attribute for the "Alignment" class is given in Table 6.1.3.5.

Table 6.1.3.5 Description of the "targetDescription" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetDescription
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Short description of the alignment target.

6.1.3.6 "targetName" Attribute Description

The description of the "targetName" attribute for the "Alignment" class is given in Table 6.1.3.6.

Table 6.1.3.6 Description of the "targetName" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of a node in an established educational framework.

6.1.3.7 "targetUrl" Attribute Description

The description of the "targetUrl" attribute for the "Alignment" class is given in Table 6.1.3.7.

Table 6.1.3.7 Description of the "targetUrl" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The URL of a node in an established educational framework.

6.1.4 Artifact Class Description

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

UML diagram of the Artifact class.

Figure 6.1.4 - Artifact class definitions.

Table 6.1.4 Description of the "Artifact" class.
Descriptor Definition
Class Name Artifact
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description An artifact that is part of an evidence object.

6.1.4.1 "type" Attribute Description

The description of the "type" attribute for the "Artifact" class is given in Table 6.1.4.1.

Table 6.1.4.1 Description of the "type" attribute for the "Artifact" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of the object. Normally 'Artifact'.

6.1.4.2 "description" Attribute Description

The description of the "description" attribute for the "Artifact" class is given in Table 6.1.4.2.

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

6.1.4.3 "name" Attribute Description

The description of the "name" attribute for the "Artifact" class is given in Table 6.1.4.3.

Table 6.1.4.3 Description of the "name" attribute for the "Artifact" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the artifact.

6.1.4.4 "url" Attribute Description

The description of the "url" attribute for the "Artifact" class is given in Table 6.1.4.4.

Table 6.1.4.4 Description of the "url" attribute for the "Artifact" class.
Descriptor Definition
Attribute Name url
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description IRI of the artifact. May be a Data URI or the URL where the artifact may be found.

6.1.5 Assertion Class Description

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

UML diagram of the Assertion class.

Figure 6.1.5 - Assertion class definitions.

Table 6.1.5 Description of the "Assertion" class.
Descriptor Definition
Class Name Assertion
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Assertions are representations of an Achievement awarded to a Learner. It is used to share information about the Achievement Assertion, such as a result and verification method. Assertions are packaged for transmission as JSON objects with a set of mandatory and optional properties.

6.1.5.1 "id" Attribute Description

The description of the "id" attribute for the "Assertion" class is given in Table 6.1.5.1.

Table 6.1.5.1 Description of the "id" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Assertion.

6.1.5.2 "type" Attribute Description

The description of the "type" attribute for the "Assertion" class is given in Table 6.1.5.2.

Table 6.1.5.2 Description of the "type" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. Normally 'Assertion'.

6.1.5.3 "achievement" Attribute Description

The description of the "achievement" attribute for the "Assertion" class is given in Table 6.1.5.3.

Table 6.1.5.3 Description of the "achievement" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name achievement
Data Type Achievement
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The achievement being asserted.

6.1.5.4 "creditsEarned" Attribute Description

The description of the "creditsEarned" attribute for the "Assertion" class is given in Table 6.1.5.4.

Table 6.1.5.4 Description of the "creditsEarned" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name creditsEarned
Data Type Float (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The number of credits earned, generally in semester or quarter credit hours. This field correlates with the Achievement creditsAvailable field.

6.1.5.5 "endDate" Attribute Description

The description of the "endDate" attribute for the "Assertion" class is given in Table 6.1.5.5.

Table 6.1.5.5 Description of the "endDate" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name endDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If present, the assertion is not valid after this date.

6.1.5.6 "endorsements" Attribute Description

The description of the "endorsements" attribute for the "Assertion" class is given in Table 6.1.5.6.

Table 6.1.5.6 Description of the "endorsements" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name endorsements
Data Type EndorsementBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Allows endorsers to make specific claims about the assertion.

6.1.5.7 "evidence" Attribute Description

The description of the "evidence" attribute for the "Assertion" class is given in Table 6.1.5.7.

Table 6.1.5.7 Description of the "evidence" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name evidence
Data Type Evidence
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Evidence describing the work that the recipient did to earn the achievement. This can be a webpage that links out to other pages if linking directly to the work is infeasible.

6.1.5.8 "image" Attribute Description

The description of the "image" attribute for the "Assertion" class is given in Table 6.1.5.8.

Table 6.1.5.8 Description of the "image" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description IRI of an image representing the assertion. May be a Data URI or the URL where the image may be found. If the object is an Open Badges 2.0 assertion, the image is a 'Baked Image' as defined by the Open Badges 2.0 specification.

6.1.5.9 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "Assertion" class is given in Table 6.1.5.9.

Table 6.1.5.9 Description of the "issuedOn" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Timestamp of when the achievement was awarded. Required unless the assertion is revoked.

6.1.5.10 "licenseNumber" Attribute Description

The description of the "licenseNumber" attribute for the "Assertion" class is given in Table 6.1.5.10.

Table 6.1.5.10 Description of the "licenseNumber" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name licenseNumber
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The license number that was issued with this assertion.

6.1.5.11 "narrative" Attribute Description

The description of the "narrative" attribute for the "Assertion" class is given in Table 6.1.5.11.

Table 6.1.5.11 Description of the "narrative" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name narrative
Data Type Markdown
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A narrative that describes the connection between multiple pieces of evidence. Likely only present if evidence is a multi-value array. Markdown allowed.

6.1.5.12 "recipient" Attribute Description

The description of the "recipient" attribute for the "Assertion" class is given in Table 6.1.5.12.

Table 6.1.5.12 Description of the "recipient" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name recipient
Data Type Identity
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The recipient of the achievement. Required unless the assertion is revoked.

6.1.5.13 "results" Attribute Description

The description of the "results" attribute for the "Assertion" class is given in Table 6.1.5.13.

Table 6.1.5.13 Description of the "results" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name results
Data Type Result
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The results being asserted.

6.1.5.14 "revocationReason" Attribute Description

The description of the "revocationReason" attribute for the "Assertion" class is given in Table 6.1.5.14.

Table 6.1.5.14 Description of the "revocationReason" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name revocationReason
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Optional published reason for revocation, if revoked.

6.1.5.15 "revoked" Attribute Description

The description of the "revoked" attribute for the "Assertion" class is given in Table 6.1.5.15.

Table 6.1.5.15 Description of the "revoked" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name revoked
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Defaults to false if Assertion is not referenced from a revokedAssertions list and may be omitted. See RevocationList. If revoked is true, only revoked and id are required properties, and many issuers strip a hosted Assertion down to only those properties when revoked.

6.1.5.16 "role" Attribute Description

The description of the "role" attribute for the "Assertion" class is given in Table 6.1.5.16.

Table 6.1.5.16 Description of the "role" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name role
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Role, position, or title of the learner when demonstrating or performing the achievement or evidence of learning being asserted. Examples include 'Student President', 'Intern', 'Captain', etc.

6.1.5.17 "startDate" Attribute Description

The description of the "startDate" attribute for the "Assertion" class is given in Table 6.1.5.17.

Table 6.1.5.17 Description of the "startDate" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name startDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If present, the assertion is not valid before this date.

6.1.5.18 "term" Attribute Description

The description of the "term" attribute for the "Assertion" class is given in Table 6.1.5.18.

Table 6.1.5.18 Description of the "term" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name term
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The academic term in which this assertion was achieved.

6.1.5.19 "verification" Attribute Description

The description of the "verification" attribute for the "Assertion" class is given in Table 6.1.5.19.

Table 6.1.5.19 Description of the "verification" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Default = "Hosted".
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for third parties to verify this assertion. (Alias “verify” may be used in context.)

6.1.5.20 "extensions" Attribute Description

The description of the "extensions" attribute for the "Assertion" class is given in Table 6.1.5.20.

Table 6.1.5.20 Description of the "extensions" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The assertion object can be extended with additional properties.

6.1.6 AssertionBase Class Description

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

UML diagram of the AssertionBase class.

Figure 6.1.6 - AssertionBase class definitions.

Table 6.1.6 Description of the "AssertionBase" class.
Descriptor Definition
Class Name AssertionBase
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Base class for the two types of assertion objects: Assertion and SignedAssertion.

6.1.6.1 "id" Attribute Description

The description of the "id" attribute for the "AssertionBase" class is given in Table 6.1.6.1.

Table 6.1.6.1 Description of the "id" attribute for the "AssertionBase" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object. Required if the type is Assertion.

6.1.6.2 "type" Attribute Description

The description of the "type" attribute for the "AssertionBase" class is given in Table 6.1.6.2.

Table 6.1.6.2 Description of the "type" attribute for the "AssertionBase" class.
Descriptor Definition
Attribute Name type
Data Type AssertionType
Value Space Enumerated value set of: { Assertion | SignedAssertion | SignedBadge }
Scope Local ("-")
Multiplicity [1]
Description The type of the assertion object. Use the type to recast the object to the appropriate sub-class.

6.1.6.3 "extensions" Attribute Description

The description of the "extensions" attribute for the "AssertionBase" class is given in Table 6.1.6.3.

Table 6.1.6.3 Description of the "extensions" attribute for the "AssertionBase" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The assertion objects can be extended with additional properties.

6.1.7 Association Class Description

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

UML diagram of the Association class.

Figure 6.1.7 - Association class definitions.

Table 6.1.7 Description of the "Association" class.
Descriptor Definition
Class Name Association
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Association is based on the CASE CFAssociation object. An Association associates (relates) one Achievement with another Achievement.

6.1.7.1 "id" Attribute Description

The description of the "id" attribute for the "Association" class is given in Table 6.1.7.1.

Table 6.1.7.1 Description of the "id" attribute for the "Association" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the Association.

6.1.7.2 "type" Attribute Description

The description of the "type" attribute for the "Association" class is given in Table 6.1.7.2.

Table 6.1.7.2 Description of the "type" attribute for the "Association" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'Association'.

6.1.7.3 "associationType" Attribute Description

The description of the "associationType" attribute for the "Association" class is given in Table 6.1.7.3.

Table 6.1.7.3 Description of the "associationType" attribute for the "Association" class.
Descriptor Definition
Attribute Name associationType
Data Type AssociationType
Value Space Enumerated value set of: { exactMatchOf | exemplar | hasSkillLevel | isChildOf | isPartOf | isPeerOf | isRelatedTo | precedes | replacedBy }
Scope Local ("-")
Multiplicity [1]
Description The type of the relationship, used to define the alignment between two achievements.

6.1.7.4 "identifier" Attribute Description

The description of the "identifier" attribute for the "Association" class is given in Table 6.1.7.4.

Table 6.1.7.4 Description of the "identifier" attribute for the "Association" class.
Descriptor Definition
Attribute Name identifier
Data Type UUID
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description An unambiguous, synthetic, globally unique identifier for the Association. This is the primary way in which the exchange identification is achieved.

6.1.7.5 "lastChangeDateTime" Attribute Description

The description of the "lastChangeDateTime" attribute for the "Association" class is given in Table 6.1.7.5.

Table 6.1.7.5 Description of the "lastChangeDateTime" attribute for the "Association" class.
Descriptor Definition
Attribute Name lastChangeDateTime
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A system generated timestamp of the most recent change to this association.

6.1.7.6 "sequenceNumber" Attribute Description

The description of the "sequenceNumber" attribute for the "Association" class is given in Table 6.1.7.6.

Table 6.1.7.6 Description of the "sequenceNumber" attribute for the "Association" class.
Descriptor Definition
Attribute Name sequenceNumber
Data Type Integer (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used to order associated objects. Associations can be created through mapping rather than strict hierarchy. As such the presentation of the list cannot be ordered by the objects in the list. They may be different based on the parent being viewed.

6.1.7.7 "sourceId" Attribute Description

The description of the "sourceId" attribute for the "Association" class is given in Table 6.1.7.7.

Table 6.1.7.7 Description of the "sourceId" attribute for the "Association" class.
Descriptor Definition
Attribute Name sourceId
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The 'id' of an Achievement or source of the association.

6.1.7.8 "targetId" Attribute Description

The description of the "targetId" attribute for the "Association" class is given in Table 6.1.7.8.

Table 6.1.7.8 Description of the "targetId" attribute for the "Association" class.
Descriptor Definition
Attribute Name targetId
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The 'id' of another Achievement, or target of the association.

6.1.8 CLR Class Description

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

UML diagram of the CLR class.

Figure 6.1.8 - CLR class definitions.

Table 6.1.8 Description of the "CLR" class.
Descriptor Definition
Class Name CLR
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A collection of assertions for a single person reported by a single publisher.

6.1.8.1 "id" Attribute Description

The description of the "id" attribute for the "CLR" class is given in Table 6.1.8.1.

Table 6.1.8.1 Description of the "id" attribute for the "CLR" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the CLR.

6.1.8.2 "type" Attribute Description

The description of the "type" attribute for the "CLR" class is given in Table 6.1.8.2.

Table 6.1.8.2 Description of the "type" attribute for the "CLR" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CLR'.

6.1.8.3 "assertions" Attribute Description

The description of the "assertions" attribute for the "CLR" class is given in Table 6.1.8.3.

Table 6.1.8.3 Description of the "assertions" attribute for the "CLR" class.
Descriptor Definition
Attribute Name assertions
Data Type AssertionBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The learner's asserted achievements.

6.1.8.4 "associations" Attribute Description

The description of the "associations" attribute for the "CLR" class is given in Table 6.1.8.4.

Table 6.1.8.4 Description of the "associations" attribute for the "CLR" class.
Descriptor Definition
Attribute Name associations
Data Type Association
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of achievement associations in the CLR.

6.1.8.5 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "CLR" class is given in Table 6.1.8.5.

Table 6.1.8.5 Description of the "issuedOn" attribute for the "CLR" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Timestamp of when the CLR was published.

6.1.8.6 "learner" Attribute Description

The description of the "learner" attribute for the "CLR" class is given in Table 6.1.8.6.

Table 6.1.8.6 Description of the "learner" attribute for the "CLR" class.
Descriptor Definition
Attribute Name learner
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description A profile describing the recipient of the achievements.

6.1.8.7 "publisher" Attribute Description

The description of the "publisher" attribute for the "CLR" class is given in Table 6.1.8.7.

Table 6.1.8.7 Description of the "publisher" attribute for the "CLR" class.
Descriptor Definition
Attribute Name publisher
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description A profile describing the publisher of the CLR.

6.1.9 CLRSet Class Description

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

UML diagram of the CLRSet class.

Figure 6.1.9 - CLRSet class definitions.

Table 6.1.9 Description of the "CLRSet" class.
Descriptor Definition
Class Name CLRSet
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A set of CLRs.

6.1.9.1 "id" Attribute Description

The description of the "id" attribute for the "CLRSet" class is given in Table 6.1.9.1.

Table 6.1.9.1 Description of the "id" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the ClrSet.

6.1.9.2 "type" Attribute Description

The description of the "type" attribute for the "CLRSet" class is given in Table 6.1.9.2.

Table 6.1.9.2 Description of the "type" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CLRSet'.

6.1.9.3 "clrs" Attribute Description

The description of the "clrs" attribute for the "CLRSet" class is given in Table 6.1.9.3.

Table 6.1.9.3 Description of the "clrs" attribute for the "CLRSet" class.
Descriptor Definition
Attribute Name clrs
Data Type CLR
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description An unordered collection of comprehensive learner records.

6.1.10 Criteria Class Description

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

UML diagram of the Criteria class.

Figure 6.1.10 - Criteria class definitions.

Table 6.1.10 Description of the "Criteria" class.
Descriptor Definition
Class Name Criteria
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Descriptive metadata about the achievements necessary to be recognized with an Assertion of a particular AchievementType. This data is added to the AchievementType so that it may be rendered when that AchievementType is displayed, instead of simply a link to human-readable criteria external to the Achievement Assertion. Embedding criteria allows either enhancement of an external criteria page or increased portability and ease of use by allowing issuers to skip hosting the formerly-required external criteria page altogether.

6.1.10.1 "id" Attribute Description

The description of the "id" attribute for the "Criteria" class is given in Table 6.1.10.1.

Table 6.1.10.1 Description of the "id" attribute for the "Criteria" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The URI of a webpage that describes in a human-readable format the criteria for the Achievement.

6.1.10.2 "type" Attribute Description

The description of the "type" attribute for the "Criteria" class is given in Table 6.1.10.2.

Table 6.1.10.2 Description of the "type" attribute for the "Criteria" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'Criteria'.

6.1.10.3 "narrative" Attribute Description

The description of the "narrative" attribute for the "Criteria" class is given in Table 6.1.10.3.

Table 6.1.10.3 Description of the "narrative" attribute for the "Criteria" class.
Descriptor Definition
Attribute Name narrative
Data Type Markdown
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A narrative of what is needed to earn the achievement. Markdown allowed.

6.1.10.4 "extensions" Attribute Description

The description of the "extensions" attribute for the "Criteria" class is given in Table 6.1.10.4.

Table 6.1.10.4 Description of the "extensions" attribute for the "Criteria" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description Criteria can be extended with additional properties.

6.1.11 CryptographicKey Class Description

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

UML diagram of the CryptographicKey class.

Figure 6.1.11 - CryptographicKey class definitions.

Table 6.1.11 Description of the "CryptographicKey" class.
Descriptor Definition
Class Name CryptographicKey
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Based on the Key class from the W3C Web Payments Community Group Security Vocabulary. A CryptographicKey document identifies and describes a public key used to verify signed Assertions.

6.1.11.1 "id" Attribute Description

The description of the "id" attribute for the "CryptographicKey" class is given in Table 6.1.11.1.

Table 6.1.11.1 Description of the "id" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The URI of the CryptographicKey document. Used during signed verification.

6.1.11.2 "type" Attribute Description

The description of the "type" attribute for the "CryptographicKey" class is given in Table 6.1.11.2.

Table 6.1.11.2 Description of the "type" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'CryptographicKey'.

6.1.11.3 "owner" Attribute Description

The description of the "owner" attribute for the "CryptographicKey" class is given in Table 6.1.11.3.

Table 6.1.11.3 Description of the "owner" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name owner
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The identifier for the Profile that owns this key.

6.1.11.4 "publicKeyPem" Attribute Description

The description of the "publicKeyPem" attribute for the "CryptographicKey" class is given in Table 6.1.11.4.

Table 6.1.11.4 Description of the "publicKeyPem" attribute for the "CryptographicKey" class.
Descriptor Definition
Attribute Name publicKeyPem
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The PEM key encoding is a widely-used method to express public keys, compatible with almost every Secure Sockets Layer library implementation.

6.1.12 DiscoveryDocument Class Description

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

UML diagram of the DiscoveryDocument class.

Figure 6.1.12 - DiscoveryDocument class definitions.

Table 6.1.12 Description of the "DiscoveryDocument" class.
Descriptor Definition
Class Name DiscoveryDocument
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Configuration information about the provider implementation.

6.1.12.1 "authorizationUrl" Attribute Description

The description of the "authorizationUrl" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.1.

Table 6.1.12.1 Description of the "authorizationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name authorizationUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualifed URL to the provider's OAuth 2.0 Authorization endpoint.

6.1.12.2 "image" Attribute Description

The description of the "image" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.2.

Table 6.1.12.2 Description of the "image" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description An image representing the provider. May be a Data URI or the URL where the image may be found.

6.1.12.3 "name" Attribute Description

The description of the "name" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.3.

Table 6.1.12.3 Description of the "name" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The user-facing name of the platform providing CLR services.

6.1.12.4 "privacyPolicyUrl" Attribute Description

The description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.4.

Table 6.1.12.4 Description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name privacyPolicyUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's privacy policy.

6.1.12.5 "registrationUrl" Attribute Description

The description of the "registrationUrl" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.5.

Table 6.1.12.5 Description of the "registrationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name registrationUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Registration endpoint.

6.1.12.6 "scopesOffered" Attribute Description

The description of the "scopesOffered" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.6.

Table 6.1.12.6 Description of the "scopesOffered" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name scopesOffered
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1.. unbounded]
Description An array of OAuth 2.0 Scopes supported by the provider.

6.1.12.7 "termsOfServiceUrl" Attribute Description

The description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.7.

Table 6.1.12.7 Description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name termsOfServiceUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's terms of service.

6.1.12.8 "tokenUrl" Attribute Description

The description of the "tokenUrl" attribute for the "DiscoveryDocument" class is given in Table 6.1.12.8.

Table 6.1.12.8 Description of the "tokenUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name tokenUrl
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Token endpoint.

6.1.13 Endorsement Class Description

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

UML diagram of the Endorsement class.

Figure 6.1.13 - Endorsement class definitions.

Table 6.1.13 Description of the "Endorsement" class.
Descriptor Definition
Class Name Endorsement
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description An endorsement claim.

6.1.13.1 "id" Attribute Description

The description of the "id" attribute for the "Endorsement" class is given in Table 6.1.13.1.

Table 6.1.13.1 Description of the "id" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Endorsement.

6.1.13.2 "type" Attribute Description

The description of the "type" attribute for the "Endorsement" class is given in Table 6.1.13.2.

Table 6.1.13.2 Description of the "type" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this entity. Normally 'Endorsement'.

6.1.13.3 "claim" Attribute Description

The description of the "claim" attribute for the "Endorsement" class is given in Table 6.1.13.3.

Table 6.1.13.3 Description of the "claim" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name claim
Data Type EndorsementClaim
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description An entity, identified by an id and additional properties that the endorser would like to claim about that entity.

6.1.13.4 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "Endorsement" class is given in Table 6.1.13.4.

Table 6.1.13.4 Description of the "issuedOn" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name issuedOn
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Timestamp of when the endorsement was published.

6.1.13.5 "issuer" Attribute Description

The description of the "issuer" attribute for the "Endorsement" class is given in Table 6.1.13.5.

Table 6.1.13.5 Description of the "issuer" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name issuer
Data Type EndorsementProfile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description The issuer's Profile.

6.1.13.6 "verification" Attribute Description

The description of the "verification" attribute for the "Endorsement" class is given in Table 6.1.13.6.

Table 6.1.13.6 Description of the "verification" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for third parties to verify this assertion of endorsement.

6.1.14 EndorsementBase Class Description

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

UML diagram of the EndorsementBase class.

Figure 6.1.14 - EndorsementBase class definitions.

Table 6.1.14 Description of the "EndorsementBase" class.
Descriptor Definition
Class Name EndorsementBase
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Base class for the two types of endorsement objects: Endorsement and SignedEndorsement.

6.1.14.1 "id" Attribute Description

The description of the "id" attribute for the "EndorsementBase" class is given in Table 6.1.14.1.

Table 6.1.14.1 Description of the "id" attribute for the "EndorsementBase" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object.

6.1.14.2 "type" Attribute Description

The description of the "type" attribute for the "EndorsementBase" class is given in Table 6.1.14.2.

Table 6.1.14.2 Description of the "type" attribute for the "EndorsementBase" class.
Descriptor Definition
Attribute Name type
Data Type EndorsementType
Value Space Enumerated value set of: { Endorsement | SignedEndorsement }
Scope Local ("-")
Multiplicity [1]
Description The type of the endorsement object. Use the type to recast the object to the appropriate sub-class.

6.1.14.3 "extensions" Attribute Description

The description of the "extensions" attribute for the "EndorsementBase" class is given in Table 6.1.14.3.

Table 6.1.14.3 Description of the "extensions" attribute for the "EndorsementBase" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The endorsement objects can be extended with additional properties.

6.1.15 EndorsementClaim Class Description

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

UML diagram of the EndorsementClaim class.

Figure 6.1.15 - EndorsementClaim class definitions.

Table 6.1.15 Description of the "EndorsementClaim" class.
Descriptor Definition
Class Name EndorsementClaim
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description An entity, identified by an id and additional properties that the endorser would like to claim about that entity.

6.1.15.1 "id" Attribute Description

The description of the "id" attribute for the "EndorsementClaim" class is given in Table 6.1.15.1.

Table 6.1.15.1 Description of the "id" attribute for the "EndorsementClaim" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The 'id' of the Profile, Achievement, or Assertion being endorsed.

6.1.15.2 "type" Attribute Description

The description of the "type" attribute for the "EndorsementClaim" class is given in Table 6.1.15.2.

Table 6.1.15.2 Description of the "type" attribute for the "EndorsementClaim" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this entity. Normally 'EndorsementClaim'.

6.1.15.3 "endorsementComment" Attribute Description

The description of the "endorsementComment" attribute for the "EndorsementClaim" class is given in Table 6.1.15.3.

Table 6.1.15.3 Description of the "endorsementComment" attribute for the "EndorsementClaim" class.
Descriptor Definition
Attribute Name endorsementComment
Data Type Markdown
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description An endorer's comment about the quality or fitness of the endorsed entity. Markdown allowed.

6.1.15.4 "extensions" Attribute Description

The description of the "extensions" attribute for the "EndorsementClaim" class is given in Table 6.1.15.4.

Table 6.1.15.4 Description of the "extensions" attribute for the "EndorsementClaim" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The EndorsementClaim object can be extended with additional properties.

6.1.16 EndorsementProfile Class Description

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

UML diagram of the EndorsementProfile class.

Figure 6.1.16 - EndorsementProfile class definitions.

Table 6.1.16 Description of the "EndorsementProfile" class.
Descriptor Definition
Class Name EndorsementProfile
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A Profile is a collection of information that describes the person or organization using Comprehensive Learner Record (CLR). Publishers, learners, and issuers must be represented as profiles. Recipients, endorsers, or other entities may also be represented using this vocabulary. An EndorsementProfile cannot have endorsements.

6.1.16.1 "id" Attribute Description

The description of the "id" attribute for the "EndorsementProfile" class is given in Table 6.1.16.1.

Table 6.1.16.1 Description of the "id" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Profile.

6.1.16.2 "type" Attribute Description

The description of the "type" attribute for the "EndorsementProfile" class is given in Table 6.1.16.2.

Table 6.1.16.2 Description of the "type" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this entity. Normally 'Profile'.

6.1.16.3 "address" Attribute Description

The description of the "address" attribute for the "EndorsementProfile" class is given in Table 6.1.16.3.

Table 6.1.16.3 Description of the "address" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name address
Data Type Address
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description An address for the individual or organization.

6.1.16.4 "description" Attribute Description

The description of the "description" attribute for the "EndorsementProfile" class is given in Table 6.1.16.4.

Table 6.1.16.4 Description of the "description" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A short description of the individual or organization.

6.1.16.5 "email" Attribute Description

The description of the "email" attribute for the "EndorsementProfile" class is given in Table 6.1.16.5.

Table 6.1.16.5 Description of the "email" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name email
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A contact email address for the individual or organization.

6.1.16.6 "image" Attribute Description

The description of the "image" attribute for the "EndorsementProfile" class is given in Table 6.1.16.6.

Table 6.1.16.6 Description of the "image" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Image representing the individual or organization.

6.1.16.7 "name" Attribute Description

The description of the "name" attribute for the "EndorsementProfile" class is given in Table 6.1.16.7.

Table 6.1.16.7 Description of the "name" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the individual or organization.

6.1.16.8 "publicKey" Attribute Description

The description of the "publicKey" attribute for the "EndorsementProfile" class is given in Table 6.1.16.8.

Table 6.1.16.8 Description of the "publicKey" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name publicKey
Data Type CryptographicKey
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The URI for the public key used to verify signed Assertions. If present, the URI must resolve to a CryptographicKey document.

6.1.16.9 "revocationList" Attribute Description

The description of the "revocationList" attribute for the "EndorsementProfile" class is given in Table 6.1.16.9.

Table 6.1.16.9 Description of the "revocationList" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name revocationList
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The URI of the Revocation List used for marking revocation of signed Assertions.

6.1.16.10 "sourcedId" Attribute Description

The description of the "sourcedId" attribute for the "EndorsementProfile" class is given in Table 6.1.16.10.

Table 6.1.16.10 Description of the "sourcedId" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name sourcedId
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The individual's unique 'sourcedId' value, which is used for providing interoperability with IMS Learning Information Services (LIS).

6.1.16.11 "studentId" Attribute Description

The description of the "studentId" attribute for the "EndorsementProfile" class is given in Table 6.1.16.11.

Table 6.1.16.11 Description of the "studentId" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name studentId
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An institution's student identifier for the person. This is frequently issued through a Student Information System.

6.1.16.12 "telephone" Attribute Description

The description of the "telephone" attribute for the "EndorsementProfile" class is given in Table 6.1.16.12.

Table 6.1.16.12 Description of the "telephone" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name telephone
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Primary phone number for the individual or organization.

6.1.16.13 "url" Attribute Description

The description of the "url" attribute for the "EndorsementProfile" class is given in Table 6.1.16.13.

Table 6.1.16.13 Description of the "url" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Web resource that uniquely represents or belongs to the individual. This may be a resource about the individual, hosting provided by the instution to the individual, or an web resource independently controlled by the individual.

6.1.16.14 "verification" Attribute Description

The description of the "verification" attribute for the "EndorsementProfile" class is given in Table 6.1.16.14.

Table 6.1.16.14 Description of the "verification" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for how to verify Assertion issued by this Profile.

6.1.16.15 "extensions" Attribute Description

The description of the "extensions" attribute for the "EndorsementProfile" class is given in Table 6.1.16.15.

Table 6.1.16.15 Description of the "extensions" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description Profile can be extended with additional properties.

6.1.17 Evidence Class Description

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

UML diagram of the Evidence class.

Figure 6.1.17 - Evidence class definitions.

Table 6.1.17 Description of the "Evidence" class.
Descriptor Definition
Class Name Evidence
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description One or more artifacts that represent supporting evidence for the record. Examples include text, media, websites, etc.

6.1.17.1 "id" Attribute Description

The description of the "id" attribute for the "Evidence" class is given in Table 6.1.17.1.

Table 6.1.17.1 Description of the "id" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The URI of a webpage presenting evidence of achievement.

6.1.17.2 "type" Attribute Description

The description of the "type" attribute for the "Evidence" class is given in Table 6.1.17.2.

Table 6.1.17.2 Description of the "type" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this entity. Normally 'Evidence'.

6.1.17.3 "artifacts" Attribute Description

The description of the "artifacts" attribute for the "Evidence" class is given in Table 6.1.17.3.

Table 6.1.17.3 Description of the "artifacts" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name artifacts
Data Type Artifact
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Artifacts that are part of the evidence.

6.1.17.4 "audience" Attribute Description

The description of the "audience" attribute for the "Evidence" class is given in Table 6.1.17.4.

Table 6.1.17.4 Description of the "audience" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name audience
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A description of the intended audience for a piece of evidence.

6.1.17.5 "description" Attribute Description

The description of the "description" attribute for the "Evidence" class is given in Table 6.1.17.5.

Table 6.1.17.5 Description of the "description" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A longer description of the evidence.

6.1.17.6 "genre" Attribute Description

The description of the "genre" attribute for the "Evidence" class is given in Table 6.1.17.6.

Table 6.1.17.6 Description of the "genre" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name genre
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A string that describes the type of evidence. For example, Poetry, Prose, Film.

6.1.17.7 "name" Attribute Description

The description of the "name" attribute for the "Evidence" class is given in Table 6.1.17.7.

Table 6.1.17.7 Description of the "name" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the evidence.

6.1.17.8 "narrative" Attribute Description

The description of the "narrative" attribute for the "Evidence" class is given in Table 6.1.17.8.

Table 6.1.17.8 Description of the "narrative" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name narrative
Data Type Markdown
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A narrative that describes the evidence and process of achievement that led to an assertion. Markdown allowed.

6.1.18 Identity Class Description

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

UML diagram of the Identity class.

Figure 6.1.18 - Identity class definitions.

Table 6.1.18 Description of the "Identity" class.
Descriptor Definition
Class Name Identity
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A collection of information about the recipient of an achievement assertion.

6.1.18.1 "id" Attribute Description

The description of the "id" attribute for the "Identity" class is given in Table 6.1.18.1.

Table 6.1.18.1 Description of the "id" attribute for the "Identity" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the Identity.

6.1.18.2 "type" Attribute Description

The description of the "type" attribute for the "Identity" class is given in Table 6.1.18.2.

Table 6.1.18.2 Description of the "type" attribute for the "Identity" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this entity. The type should identify the property by which the recipient of an Assertion is identified. This value should be an IRI mapped in the present context. For example, email maps to 'clr:email' and indicates that the identity of the IdentityObject will represent a value of a Profile’s email property. Currently the only supported value for many platforms that implement CLR is email, but other properties are available.

6.1.18.3 "identity" Attribute Description

The description of the "identity" attribute for the "Identity" class is given in Table 6.1.18.3.

Table 6.1.18.3 Description of the "identity" attribute for the "Identity" class.
Descriptor Definition
Attribute Name identity
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Either the hash of the identity or the plaintext value. If it's possible that the plaintext transmission and storage of the identity value would leak personally identifiable information where there is an expectation of privacy, it is strongly recommended that an IdentityHash be used.

6.1.18.4 "hashed" Attribute Description

The description of the "hashed" attribute for the "Identity" class is given in Table 6.1.18.4.

Table 6.1.18.4 Description of the "hashed" attribute for the "Identity" class.
Descriptor Definition
Attribute Name hashed
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Whether or not the identity value is hashed.

6.1.18.5 "salt" Attribute Description

The description of the "salt" attribute for the "Identity" class is given in Table 6.1.18.5.

Table 6.1.18.5 Description of the "salt" attribute for the "Identity" class.
Descriptor Definition
Attribute Name salt
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If the recipient is hashed, this should contain the string used to salt the hash. If this value is not provided, it should be assumed that the hash was not salted.

6.1.19 Profile Class Description

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

UML diagram of the Profile class.

Figure 6.1.19 - Profile class definitions.

Table 6.1.19 Description of the "Profile" class.
Descriptor Definition
Class Name Profile
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A Profile is a collection of information that describes the person or organization using Comprehensive Learner Record (CLR). Publishers, learners, and issuers must be represented as profiles. Recipients, endorsers, or other entities may also be represented using this vocabulary.

6.1.19.1 "id" Attribute Description

The description of the "id" attribute for the "Profile" class is given in Table 6.1.19.1.

Table 6.1.19.1 Description of the "id" attribute for the "Profile" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the Profile.

6.1.19.2 "type" Attribute Description

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

Table 6.1.19.2 Description of the "type" attribute for the "Profile" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'Profile'.

6.1.19.3 "address" Attribute Description

The description of the "address" attribute for the "Profile" class is given in Table 6.1.19.3.

Table 6.1.19.3 Description of the "address" attribute for the "Profile" class.
Descriptor Definition
Attribute Name address
Data Type Address
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description An address for the individual or organization.

6.1.19.4 "description" Attribute Description

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

Table 6.1.19.4 Description of the "description" attribute for the "Profile" class.
Descriptor Definition
Attribute Name description
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A short description of the individual or organization.

6.1.19.5 "email" Attribute Description

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

Table 6.1.19.5 Description of the "email" attribute for the "Profile" class.
Descriptor Definition
Attribute Name email
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description A contact email address for the individual or organization.

6.1.19.6 "endorsements" Attribute Description

The description of the "endorsements" attribute for the "Profile" class is given in Table 6.1.19.6.

Table 6.1.19.6 Description of the "endorsements" attribute for the "Profile" class.
Descriptor Definition
Attribute Name endorsements
Data Type EndorsementBase
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Allows endorsers to make specific claims about the individual or organization represented by this profile.

6.1.19.7 "image" Attribute Description

The description of the "image" attribute for the "Profile" class is given in Table 6.1.19.7.

Table 6.1.19.7 Description of the "image" attribute for the "Profile" class.
Descriptor Definition
Attribute Name image
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description IRI of an image representing the individual or organization. May be a DATA URI or the URL where the image may be found.

6.1.19.8 "name" Attribute Description

The description of the "name" attribute for the "Profile" class is given in Table 6.1.19.8.

Table 6.1.19.8 Description of the "name" attribute for the "Profile" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The name of the individual or organization.

6.1.19.9 "publicKey" Attribute Description

The description of the "publicKey" attribute for the "Profile" class is given in Table 6.1.19.9.

Table 6.1.19.9 Description of the "publicKey" attribute for the "Profile" class.
Descriptor Definition
Attribute Name publicKey
Data Type CryptographicKey
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The CrytographicKey object used to verify signed assertions and signed endorsements.

6.1.19.10 "revocationList" Attribute Description

The description of the "revocationList" attribute for the "Profile" class is given in Table 6.1.19.10.

Table 6.1.19.10 Description of the "revocationList" attribute for the "Profile" class.
Descriptor Definition
Attribute Name revocationList
Data Type RevocationList
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The list of revoked assertions and endorsements issued by the individual or organization represented by this profile.

6.1.19.11 "sourcedId" Attribute Description

The description of the "sourcedId" attribute for the "Profile" class is given in Table 6.1.19.11.

Table 6.1.19.11 Description of the "sourcedId" attribute for the "Profile" class.
Descriptor Definition
Attribute Name sourcedId
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The individual's unique 'sourcedId' value, which is used for providing interoperability with IMS Learning Information Services (LIS).

6.1.19.12 "studentId" Attribute Description

The description of the "studentId" attribute for the "Profile" class is given in Table 6.1.19.12.

Table 6.1.19.12 Description of the "studentId" attribute for the "Profile" class.
Descriptor Definition
Attribute Name studentId
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An institution's student identifier for the person. This is frequently issued through a Student Information System.

6.1.19.13 "telephone" Attribute Description

The description of the "telephone" attribute for the "Profile" class is given in Table 6.1.19.13.

Table 6.1.19.13 Description of the "telephone" attribute for the "Profile" class.
Descriptor Definition
Attribute Name telephone
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Primary phone number for the individual or organization.

6.1.19.14 "url" Attribute Description

The description of the "url" attribute for the "Profile" class is given in Table 6.1.19.14.

Table 6.1.19.14 Description of the "url" attribute for the "Profile" class.
Descriptor Definition
Attribute Name url
Data Type URL
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Web resource that uniquely represents or belongs to the individual. This may be a resource about the individual, hosting provided by the instution to the individual, or an web resource independently controlled by the individual.

6.1.19.15 "verification" Attribute Description

The description of the "verification" attribute for the "Profile" class is given in Table 6.1.19.15.

Table 6.1.19.15 Description of the "verification" attribute for the "Profile" class.
Descriptor Definition
Attribute Name verification
Data Type Verification
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description Instructions for how to verify assertions and endorsements issued by the individual or organization represented by this profile.

6.1.19.16 "extensions" Attribute Description

The description of the "extensions" attribute for the "Profile" class is given in Table 6.1.19.16.

Table 6.1.19.16 Description of the "extensions" attribute for the "Profile" class.
Descriptor Definition
Attribute Name extensions
Data Type Namespace (Primitive-type)
Value Space See Appendix A3.3.
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The Profile object can be extended with additional properties.

6.1.20 Result Class Description

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

UML diagram of the Result class.

Figure 6.1.20 - Result class definitions.

Table 6.1.20 Description of the "Result" class.
Descriptor Definition
Class Name Result
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Describes a result of an achievement.

6.1.20.1 "id" Attribute Description

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

Table 6.1.20.1 Description of the "id" attribute for the "Result" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object.

6.1.20.2 "type" Attribute Description

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

Table 6.1.20.2 Description of the "type" attribute for the "Result" class.
Descriptor Definition
Attribute Name type
Data Type ResultType
Value Space Enumerated value set of: { GradePointAverage | LetterGrade | Percent | PerformanceLevel | PredictedScore | Result | RawScore | RubricScore | ScaledScore }
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. The strongly typed value identifies the type of result.

6.1.20.3 "name" Attribute Description

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

Table 6.1.20.3 Description of the "name" attribute for the "Result" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The name of the result.

6.1.20.4 "value" Attribute Description

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

Table 6.1.20.4 Description of the "value" attribute for the "Result" class.
Descriptor Definition
Attribute Name value
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A grade or value representing the result of the performance, or demonstration, of the achievement. For example, 'A' if the recipient received a grade of A in the class.

6.1.21 ResultDescription Class Description

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

UML diagram of the ResultDescription class.

Figure 6.1.21 - ResultDescription class definitions.

Table 6.1.21 Description of the "ResultDescription" class.
Descriptor Definition
Class Name ResultDescription
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Describes a possible achievement result.

6.1.21.1 "id" Attribute Description

The description of the "id" attribute for the "ResultDescription" class is given in Table 6.1.21.1.

Table 6.1.21.1 Description of the "id" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the ResultDescription.

6.1.21.2 "type" Attribute Description

The description of the "type" attribute for the "ResultDescription" class is given in Table 6.1.21.2.

Table 6.1.21.2 Description of the "type" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name type
Data Type ResultType
Value Space Enumerated value set of: { GradePointAverage | LetterGrade | Percent | PerformanceLevel | PredictedScore | Result | RawScore | RubricScore | ScaledScore }
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. The strongly typed value identifies the type of result.

6.1.21.3 "name" Attribute Description

The description of the "name" attribute for the "ResultDescription" class is given in Table 6.1.21.3.

Table 6.1.21.3 Description of the "name" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name name
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The name of the result.

6.1.21.4 "resultMin" Attribute Description

The description of the "resultMin" attribute for the "ResultDescription" class is given in Table 6.1.21.4.

Table 6.1.21.4 Description of the "resultMin" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name resultMin
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The minimum possible result that may be asserted.

6.1.21.5 "resultMax" Attribute Description

The description of the "resultMax" attribute for the "ResultDescription" class is given in Table 6.1.21.5.

Table 6.1.21.5 Description of the "resultMax" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name resultMax
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The maximum possible result that may be asserted.

6.1.22 RevocationList Class Description

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

UML diagram of the RevocationList class.

Figure 6.1.22 - RevocationList class definitions.

Table 6.1.22 Description of the "RevocationList" class.
Descriptor Definition
Class Name RevocationList
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The Revocation List is a document that describes Assertions an Issuer has revoked that used the signed verification method. If you find the Assertion in the revokedAssertions list, it has been revoked.

6.1.22.1 "id" Attribute Description

The description of the "id" attribute for the "RevocationList" class is given in Table 6.1.22.1.

Table 6.1.22.1 Description of the "id" attribute for the "RevocationList" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description Unique IRI for the RevocationList.

6.1.22.2 "type" Attribute Description

The description of the "type" attribute for the "RevocationList" class is given in Table 6.1.22.2.

Table 6.1.22.2 Description of the "type" attribute for the "RevocationList" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this entity. Normally 'RevocationList'.

6.1.22.3 "issuer" Attribute Description

The description of the "issuer" attribute for the "RevocationList" class is given in Table 6.1.22.3.

Table 6.1.22.3 Description of the "issuer" attribute for the "RevocationList" class.
Descriptor Definition
Attribute Name issuer
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The id of the Issuer.

6.1.22.4 "revokedAssertions" Attribute Description

The description of the "revokedAssertions" attribute for the "RevocationList" class is given in Table 6.1.22.4.

Table 6.1.22.4 Description of the "revokedAssertions" attribute for the "RevocationList" class.
Descriptor Definition
Attribute Name revokedAssertions
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The id of an assertion that has been revoked.

6.1.23 SignedAssertion Class Description

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

UML diagram of the SignedAssertion class.

Figure 6.1.23 - SignedAssertion class definitions.

Table 6.1.23 Description of the "SignedAssertion" class.
Descriptor Definition
Class Name SignedAssertion
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A signed assertion object.

6.1.23.1 "id" Attribute Description

The description of the "id" attribute for the "SignedAssertion" class is given in Table 6.1.23.1.

Table 6.1.23.1 Description of the "id" attribute for the "SignedAssertion" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object. For signed assertions, it is recommended to use a UUID in the urn:uuid namespace.

6.1.23.2 "type" Attribute Description

The description of the "type" attribute for the "SignedAssertion" class is given in Table 6.1.23.2.

Table 6.1.23.2 Description of the "type" attribute for the "SignedAssertion" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description JSON-LD type for the object. Normally 'SignedAssertion'.

6.1.23.3 "compactJws" Attribute Description

The description of the "compactJws" attribute for the "SignedAssertion" class is given in Table 6.1.23.3.

Table 6.1.23.3 Description of the "compactJws" attribute for the "SignedAssertion" class.
Descriptor Definition
Attribute Name compactJws
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description String in JWS format as defined in RFC 7515. The JWS payload is an Assertion object.

6.1.24 SignedEndorsement Class Description

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

UML diagram of the SignedEndorsement class.

Figure 6.1.24 - SignedEndorsement class definitions.

Table 6.1.24 Description of the "SignedEndorsement" class.
Descriptor Definition
Class Name SignedEndorsement
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A signed endorsement object.

6.1.24.1 "id" Attribute Description

The description of the "id" attribute for the "SignedEndorsement" class is given in Table 6.1.24.1.

Table 6.1.24.1 Description of the "id" attribute for the "SignedEndorsement" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the object. For signed endorsements, it is recommended to use a UUID in the urn:uuid namespace.

6.1.24.2 "type" Attribute Description

The description of the "type" attribute for the "SignedEndorsement" class is given in Table 6.1.24.2.

Table 6.1.24.2 Description of the "type" attribute for the "SignedEndorsement" class.
Descriptor Definition
Attribute Name type
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description JSON-LD type for the object. Normally 'SignedEndorsement'.

6.1.24.3 "compactJws" Attribute Description

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

Table 6.1.24.3 Description of the "compactJws" attribute for the "SignedEndorsement" class.
Descriptor Definition
Attribute Name compactJws
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description String in JWS format as defined in RFC 7515.

6.1.25 Verification Class Description

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

UML diagram of the Verification class.

Figure 6.1.25 - Verification class definitions.

Table 6.1.25 Description of the "Verification" class.
Descriptor Definition
Class Name Verification
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description A collection of information allowing an inspector to verify an Assertion.

6.1.25.1 "id" Attribute Description

The description of the "id" attribute for the "Verification" class is given in Table 6.1.25.1.

Table 6.1.25.1 Description of the "id" attribute for the "Verification" class.
Descriptor Definition
Attribute Name id
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Unique IRI for the Verification.

6.1.25.2 "type" Attribute Description

The description of the "type" attribute for the "Verification" class is given in Table 6.1.25.2.

Table 6.1.25.2 Description of the "type" attribute for the "Verification" class.
Descriptor Definition
Attribute Name type
Data Type VerificationType
Value Space Enumerated value set of: { Hosted | HostedAssertion | Signed | SignedAssertion | Verification }
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. The strongly typed value indicates the verification method.

6.1.25.3 "allowedOrigins" Attribute Description

The description of the "allowedOrigins" attribute for the "Verification" class is given in Table 6.1.25.3.

Table 6.1.25.3 Description of the "allowedOrigins" attribute for the "Verification" class.
Descriptor Definition
Attribute Name allowedOrigins
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The host registered name subcomponent of an allowed origin. Any given id URI will be considered valid.

6.1.25.4 "creator" Attribute Description

The description of the "creator" attribute for the "Verification" class is given in Table 6.1.25.4.

Table 6.1.25.4 Description of the "creator" attribute for the "Verification" class.
Descriptor Definition
Attribute Name creator
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The URI of the CryptographicKey with the public key used to verify the signed Assertion. If not present, verifiers will check publicKey property of the referenced issuer Profile. If present, the URI must match the CryptographicKey id in the issuer Profile as well.

6.1.25.5 "startsWith" Attribute Description

The description of the "startsWith" attribute for the "Verification" class is given in Table 6.1.25.5.

Table 6.1.25.5 Description of the "startsWith" attribute for the "Verification" class.
Descriptor Definition
Attribute Name startsWith
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The URI fragment that the verification property must start with. Valid Assertions must have an id within this scope. Multiple values allowed, and Assertions will be considered valid if their id starts with one of these values.

6.1.25.6 "verificationProperty" Attribute Description

The description of the "verificationProperty" attribute for the "Verification" class is given in Table 6.1.25.6.

Table 6.1.25.6 Description of the "verificationProperty" attribute for the "Verification" class.
Descriptor Definition
Attribute Name verificationProperty
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The property to be used for verification. Only 'id' is supported. Verifiers will consider 'id' the default value if verificationProperty is omitted or if an issuer Profile has no explicit verification instructions, so it may be safely omitted.

6.1.26 imsx_CodeMinor Class Description

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

UML diagram of the imsx_CodeMinor class.

Figure 6.1.26 - imsx_CodeMinor class definitions.

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

6.1.26.1 "imsx_codeMinorField" Attribute Description

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

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

6.1.27 imsx_CodeMinorField Class Description

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

UML diagram of the imsx_CodeMinorField class.

Figure 6.1.27 - imsx_CodeMinorField class definitions.

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

6.1.27.1 "imsx_codeMinorFieldName" Attribute Description

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

Table 6.1.27.1 Description of the "imsx_codeMinorFieldName" attribute for the "imsx_CodeMinorField" class.
Descriptor Definition
Attribute Name imsx_codeMinorFieldName
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Tiis should contain the identity of the system that has produced the code minor status code report.

6.1.27.2 "imsx_codeMinorFieldValue" Attribute Description

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

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

6.1.28 imsx_StatusInfo Class Description

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

UML diagram of the imsx_StatusInfo class.

Figure 6.1.28 - imsx_StatusInfo class definitions.

Table 6.1.28 Description of the "imsx_StatusInfo" class.
Descriptor Definition
Class Name imsx_StatusInfo
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.

6.1.28.1 "imsx_codeMajor" Attribute Description

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

Table 6.1.28.1 Description of the "imsx_codeMajor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMajor
Data Type imsx_CodeMajorEnum
Value Space Enumerated value set of: { success | failure | processing | unsupported }
Scope Local ("-")
Multiplicity [1]
Description The code major value (from the corresponding enumerated vocabulary).

6.1.28.2 "imsx_severity" Attribute Description

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

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

6.1.28.3 "imsx_description" Attribute Description

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

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

6.1.28.4 "imsx_codeMinor" Attribute Description

The description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class is given in Table 6.1.28.4.

Table 6.1.28.4 Description of the "imsx_codeMinor" attribute for the "imsx_StatusInfo" class.
Descriptor Definition
Attribute Name imsx_codeMinor
Data Type imsx_CodeMinor
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The set of reported code minor status codes.

6.2. Derived Class Descriptions

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

6.2.1 GUID Class Description

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

UML diagram of the GUID class.

Figure 6.2.1 - GUID class definitions.

Table 6.2.1 Description of the "GUID" class.
Descriptor Definition
Class Name GUID
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description Globally unique identifier.

6.2.2 IRI Class Description

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

UML diagram of the IRI class.

Figure 6.2.2 - IRI class definitions.

Table 6.2.2 Description of the "IRI" class.
Descriptor Definition
Class Name IRI
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The internationalized resource identifier (IRI) is an internet protocol standard which extends the ASCII characters subset of the Uniform Resource Identifier (URI) protocol.

6.2.3 Markdown Class Description

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

UML diagram of the Markdown class.

Figure 6.2.3 - Markdown class definitions.

Table 6.2.3 Description of the "Markdown" class.
Descriptor Definition
Class Name Markdown
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description Text that may contain formatting according to Markdown syntax. Due to uneven support in displayers, publishers are encouraged to limit usage to simple elements like links, emphasis, and lists. Displayers may choose a subset of Markdown formatting to support or how to render this field. Images and tables may or may not be supported.

6.2.4 URL Class Description

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

UML diagram of the URL class.

Figure 6.2.4 - URL class definitions.

Table 6.2.4 Description of the "URL" class.
Descriptor Definition
Class Name URL
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description A unifom resource locator (URL) is the address of a resource on the internet.

6.2.5 UUID Class Description

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

UML diagram of the UUID class.

Figure 6.2.5 - UUID class definitions.

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

6.2.5.1 "pattern" Attribute Description

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

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

6.3. Enumerated Vocabulary Descriptions

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

6.3.1 AchievementType Vocabulary Description

The type of Achievement.The data model for the "AchievementType" enumerated class is shown in Figure 6.3.1 and the accompanying vocabulary definition in Table 6.3.1.

UML diagram of the AchievementType class.

Figure 6.3.1 - AchievementType class definitions.

Table 6.3.1 Description of the "AchievementType" enumerated vocabulary terms.
Term Definition
Achievement Represents a generic achievement.
BadgeClass Represents an Open Badges 2.0 achievement.
CASECompetencyStatement Represents a competency defined by a Competencies and Academic Standards Exchange (CASE) framework.
CTDLCredential Represents a credential defined by the Credential Transparency Description Language (CTDL).
IMSAssessmentResult Represents an assessment result.
PESCTranscript Represents an achievement defined by Postsecondary Electronic Standards Council (PESC).

6.3.2 AssertionType Vocabulary Description

The JSON-LD type of assertion object.The data model for the "AssertionType" enumerated class is shown in Figure 6.3.2 and the accompanying vocabulary definition in Table 6.3.2.

UML diagram of the AssertionType class.

Figure 6.3.2 - AssertionType class definitions.

Table 6.3.2 Description of the "AssertionType" enumerated vocabulary terms.
Term Definition
Assertion The assertion type is 'Assertion'.
SignedAssertion The assertion type is 'SignedAssertion'.
SignedBadge The assertion type is 'SignedBadge' which is a signed Open Badges 2.0 badge.

6.3.3 AssociationType Vocabulary Description

The type of the relationship, used to define the alignment between two achievements. The data model for the "AssociationType" enumerated class is shown in Figure 6.3.3 and the accompanying vocabulary definition in Table 6.3.3.

UML diagram of the AssociationType class.

Figure 6.3.3 - AssociationType class definitions.

Table 6.3.3 Description of the "AssociationType" enumerated vocabulary terms.
Term Definition
exactMatchOf The target is derived from the source.
exemplar The target is an example of best practice for the definition of the source.
hasSkillLevel The target is understood to define a given skill level i.e. Reading Lexile 100, Depth Knowledge 2, or Cognitive Level (Blooms Taxonomy) etc.
isChildOf To represent the structural relationship in a taxonomy between parent and child. The source is a child of the target.
isPartOf The source of the association is included either physically or logically in the target. This classifies an Achievement as being logically or semantically contained as a subset of the target.
isPeerOf The source is a peer of the target. Where IsRelatedTo is intended to show relationships within a topic or domain, isPeerOf shows an approximation of relationships across topics or domains.
isRelatedTo The source of the association is related to the target in some way that is not better described by another association type.
precedes The source of the association comes before the target of the association in time or order.
replacedBy The source of the association has been supplanted by, displaced by, or superseded by the target of the association.

6.3.4 EndorsementType Vocabulary Description

The JSON-LD type of endorsement object.The data model for the "EndorsementType" enumerated class is shown in Figure 6.3.4 and the accompanying vocabulary definition in Table 6.3.4.

UML diagram of the EndorsementType class.

Figure 6.3.4 - EndorsementType class definitions.

Table 6.3.4 Description of the "EndorsementType" enumerated vocabulary terms.
Term Definition
Endorsement The endorsement type is 'Endorsement'.
SignedEndorsement The endorsement type is 'SignedEndorsement'.

6.3.5 ResultType Vocabulary Description

The type of result claimed in the Achievement.The data model for the "ResultType" enumerated class is shown in Figure 6.3.5 and the accompanying vocabulary definition in Table 6.3.5.

UML diagram of the ResultType class.

Figure 6.3.5 - ResultType class definitions.

Table 6.3.5 Description of the "ResultType" enumerated vocabulary terms.
Term Definition
GradePointAverage The result is a grade point average.
LetterGrade The result is a letter grade.
Percent The result is a percent score.
PerformanceLevel The result is a performance level.
PredictedScore The result is a predicted score.
RawScore The result is a raw score.
Result Represents a generic result.
RubricScore The result represents a rubric score with both a name and a numeric value.
ScaledScore The result is a scaled score.

6.3.6 VerificationType Vocabulary Description

The type of verification method. Supported values for single assertion verification are HostedAssertion and SignedAssertion. For instances of Verification used in Profiles, the type VerificationObject should be used.The data model for the "VerificationType" enumerated class is shown in Figure 6.3.6 and the accompanying vocabulary definition in Table 6.3.6.

UML diagram of the VerificationType class.

Figure 6.3.6 - VerificationType class definitions.

Table 6.3.6 Description of the "VerificationType" enumerated vocabulary terms.
Term Definition
Hosted The Assertion should be verified using the Assertion's verificationProperty. Hosted and HostedAssertion are synonyms.
HostedAssertion The Assertion should be verified using the Assertion's verificationProperty. Hosted and HostedAssertion are synonyms.
Signed The Assertion is cryptogrraphically signed. The signature should be verified using the key identified by the 'creator' property. Signed and SignedAssertion are synonyms.
SignedAssertion The Assertion is cryptogrraphically signed. The signature should be verified using the key identified by the 'creator' property. Signed and SignedAssertion are synonyms.
Verification No description supplied.

6.3.7 imsx_CodeMajorEnum Vocabulary Description

This is the set of primary status report values i.e. the major code assigned to the status block. This is used in conjunction with the 'Severity' structure in the status object.The data model for the "imsx_CodeMajorEnum" enumerated class is shown in Figure 6.3.7 and the accompanying vocabulary definition in Table 6.3.7.

UML diagram of the imsx_CodeMajorEnum class.

Figure 6.3.7 - imsx_CodeMajorEnum class definitions.

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

6.3.8 imsx_CodeMinorValueEnum Vocabulary Description

This is the set of codeMinor status codes that are used to provide further insight into the completion status of the end-to-end transaction i.e. this should be used to provide more information than would be supplied by an HTTP code.The data model for the "imsx_CodeMinorValueEnum" enumerated class is shown in Figure 6.3.8 and the accompanying vocabulary definition in Table 6.3.8.

UML diagram of the imsx_CodeMinorValueEnum class.

Figure 6.3.8 - imsx_CodeMinorValueEnum class definitions.

Table 6.3.8 Description of the "imsx_CodeMinorValueEnum" enumerated vocabulary terms.
Term Definition
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the service provider. For a REST binding this will have an HTTP code of '200' for a successful search request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'
invalid_data 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'.
invalid_query_parameter An invalid data query parameter field was supplied and the query could not be processed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorizedrequest 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'.

6.3.9 imsx_SeverityEnum Vocabulary Description

This is the context for the status report values. This is used in conjunction with the 'CodeMajor' structure in the status object.The data model for the "imsx_SeverityEnum" enumerated class is shown in Figure 6.3.9 and the accompanying vocabulary definition in Table 6.3.9.

UML diagram of the imsx_SeverityEnum class.

Figure 6.3.9 - imsx_SeverityEnum class definitions.

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

toc | top

7. Extending and Profiling the Service

7.1. Extending the Service

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.

7.1.1. Proprietary Operations

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

7.1.2. Proprietary Data Elements

Extensions to the data model are permitted, but must not collide with already defined data model names and/or semantics. It is strongly recommended to define extensions in collaboration with IMS Global, and only after communicating with the IMS Comprehensive Learner Record working group.

7.2. Profiling the Service

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

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

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

toc | top

References

[CLR, 19a] IMS Comprehensive Learner Record REST/JSON Binding Version 1.0, Jeff Bohrer (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., 26 August 2019, http://www.imsglobal.org/clr.
[CLR, 19b] IMS Comprehensive Learner Record Conformance and Certification Version 1.0, Jeff Bohrer (IMS Global), Dereck Haskins (IMS Global), Chris Houston (eLumen), Andy Miller (IMS Global), Greg Nadeau (PCG), IMS Global Learning Consortium, Inc., 26 August 2019, http://www.imsglobal.org/clr.
[CLR, 19c] IMS Comprehensive Learner Record Implemetation Guide Version 1.0, Jeff Bohrer (IMS Global), Chris Houston (eLumen), Greg Nadeau (PCG), IMS Global Learning Consortium, Inc., 26 August 2019, http://www.imsglobal.org/clr.
[CLR, 19d] IMS Comprehensive Learner Record Information Model Version 1.0, Jeff Bohrer (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., 26 August 2019, http://imsglobal.org/clr.
[I-BAT, 06] IMS Binding Auto-generation Toolkit (I-BAT), Colin Smythe, IMS Global, IMS Global Learning Consortium, Inc., July 2016.
[JSON-LD, 14a] JSON-LD 1.0, Manu Sporny, Digital Bazaar, Dave Longley, Digital Bazaar, Gregg Kellogg, Kellogg Associates, Markus Lanthaler, Graz University of Technology, Niklas Lindstrom, W3C, 16 January 2014, https://www.w3.org/TR/json-ld/.
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF, March 1997, https://tools.ietf.org/html/rfc2119.
[RFC2617] HTTP Authentication: Basic and Digest Access Authentication, J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart, IETF, June 1999, https://tools.ietf.org/html/rfc2617.
[RFC6749] The OAuth 2.0 Authorization Framework, D. Hardt, IETF, October 2012, https://tools.ietf.org/html/rfc6749.
[RFC6750] The OAuth 2.0 Authorization Framework: Bearer Token Usage, M. Jones, D. Hardt, IETF, October 2012, https://tools.ietf.org/html/rfc6750.
[RFC7591] OAuth 2.0 Dynamic Client Registration Protocol, M. Jones, J. Bradley, M. Machulak, P. Hunt, IETF, July 2015, https://tools.ietf.org/html/rfc7591.
[SECURITY FRAMEWORK, 19a] IMS Security Framework, Mark McKell, Nathan Mills, Colin Smythe, Claude Verboort, IMS Global, 15 May 2019, https://imsglobal.org/spec/security/v1p0/.

toc | top

Appendix A Modelling Concepts and Terms

A1 Behavior Descriptions Explanations

This section is NOT NORMATIVE.

A1.1 Service Model Diagrams

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

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

A1.2 Operation Descriptions

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

Table A1.2 The key to the operation description tables.
Descriptor Definition
Name The name given to the operation being described. In the case of an interface, by definition, every operation has the scope value of global denoted by the "+" symbol before the name.
Stereotype Before the name of the operation there may be a stereotype classifier. This is used to provide information about the nature of the behavior of the operation. The permitted set of stereotype values and their meaning are:
  • « create » - indicates that a request is being made to create a new object/resource where the requester provides the associated unique identifier;
  • « createbp » - indicates that a request is being made to create a new object/resource where the responder provides the associated unique identifier;
  • « read » - indicates that a request is being made to read an existing object/resource;
  • « update » - indicates that a request is being made to update an existing object/resource i.e. an additive write;
  • « delete » - indicates that a request is being made to delete an existing object/resource;
  • « replace » - indicates that a request is being made to replace an existing object/resource i.e. a destructive write;
  • « query » - indicates that a request is being made to search for objects/resources according to a defined set of search criteria.
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 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 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 Model.
Behavior A description of the behavior of the operation.
Notes Further information on the behavior particularly in the context of the use of other operations and the relationship to the behaviors of those operations.

A2 Interface Descriptions Explanations

This section is NOT NORMATIVE.

A2.1 Parameter Model Diagrams

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

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

A2.2 Class Descriptions

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

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

A2.3 Attribute Descriptions

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

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

A3 Data Model Descriptions Explanations

This section is NOT NORMATIVE.

A3.1 Data Model Diagrams

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

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

toc | top

A3.2 Class Descriptions

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

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

toc | top

A3.3 Attribute and Characteristic Descriptions

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

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

toc | top

A3.4 Enumerated Vocabulary Descriptions

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

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

toc | top

A3.5 External Vocabulary Descriptions

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

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

toc | top

A3.6 Import Class Descriptions

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

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

toc | top

Appendix B Service Status Codes

This Section is NORMATIVE

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

B1 Definition of the Status Codes

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

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

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

B1.1 Definition of the "CodeMajor" Values

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

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

B1.2 Definition of the "Severity" Values

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

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

B1.3 Definition of the "CodeMinor" Values

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

Table B1.4 Definition of the "CodeMinor" status code field values.
Status Code Description
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the service provider. For a REST binding this will have an HTTP code of '200' for a successful search request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'
invalid_data 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'.
invalid_query_parameter An invalid data query parameter field was supplied and the query could not be processed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorizedrequest 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'.

toc | top

About this Document

Title: IMS Comprehensive Learner Record Service Information Model v1.0
Editors: Andy Miller, IMS Global
Jeff Bohrer, IMS Global

Co-chairs: Chris Houston, eLumen
Greg Nadeau, Public Consulting Group

Version: 2.0
Version Date: 26 August 2019
Status: IMS Candidate Final
Summary: The IMS Comprehensive Learner Record service is used to organize and communicate learner achievement records in a standardized format. This standard defines an information model for institutional academic record issuers, learners' whose records are represented, and the learner records themselves. It also describes how this data can be requested as single documents or sets of documents using a set of service calls. This document contains the information model for the Comprehensive Learner Record service.

Revision Information: Second release of the Comprehensive Learner Record specification.
Purpose: For adoption and implementation of comprehensive learner records in a standardized, machine-readable format.
Document Location: http://www.imsglobal.org/clr

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Tamer Abuelsaad IBM
Jeff Bohrer IMS Global
Sherri Braxton University of Maryland, Baltimore County
Deb Everhart Cengage
Steve Gance Washington State Board for Community and Technical Colleges
Matthew Hailstone Brigham Young University
Chris Houston eLumen
Alex Hripak Credly
Mark Leuba IMS Global
Jeff McNeal State of Michigan Department of Education
Andy Miller IMS Global
Greg Nadeau Public Consulting Group
Nate Otto Concentric Sky
Ozgur Yogurtcu AEFIS

toc | top

Revision History

Version No. Release Date Comments
1.0 6 July 2018 First release of the Comprehensive Learner Record IMS Candidate Final specification.
2.0 26 August 2019 Second release of the Comprehensive Learner Record IMS Candidate Final specification.

toc | top

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

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

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

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

IMS Global would appreciate receiving your comments and suggestions.

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

Please refer to Document Name: IMS Comprehensive Learner Record Service Information Model v1.0

Date: 26 August 2019

toc | top