IMS Final Release

IMS Global Logo

IMS Comprehensive Learner Record Standard Information Model Version 1.0

IMS Final Release
Version 1.0

Date Issued: January 14, 2021
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 © 2021 IMS Global Learning Consortium. All Rights Reserved.

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

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

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

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

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

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

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

Revision: January 14, 2021

toc | top

Abstract

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

The CLR Standard supports interoperability in that CLR Providers and Consumers can consistently send and receive records among conformant entities. The standard 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 Standard 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 Standard 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 "postClr" Operation

4.3.3 "deleteClr" Operation

4.3.4 "getClr" 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

4.7 "RevocationsManager" Interface Description

4.7.1 "getRevocationList" Operation

5. The Interface Model

5.1 "ClrSet" Class Description

5.1.1 "id" Attribute Description

5.1.2 "type" Attribute Description

5.1.3 "clrs" Attribute Description

5.1.4 "signedClrs" Attribute Description

5.2 "DiscoveryDocument" Class Description

5.2.1 "authorizationUrl" Attribute Description

5.2.2 "image" Attribute Description

5.2.3 "name" Attribute Description

5.2.4 "privacyPolicyUrl" Attribute Description

5.2.5 "registrationUrl" Attribute Description

5.2.6 "scopesOffered" Attribute Description

5.2.7 "termsOfServiceUrl" Attribute Description

5.2.8 "tokenUrl" Attribute Description

5.3 "GetAssertionPayload" Class Description

5.3.1 "@context" Attribute Description

5.4 "GetClrPayload" Class Description

5.4.1 "@context" Attribute Description

5.5 "GetCryptographicKeyPayload" Class Description

5.5.1 "@context" Attribute Description

5.6 "GetEndorsementPayload" Class Description

5.6.1 "@context" Attribute Description

5.7 "GetRevocationListPayload" Class Description

5.7.1 "@context" Attribute Description

5.8 "PostClrPayload" Class Description

5.8.1 "clr" Attribute Description

5.8.2 "signedClr" Attribute Description

5.9 "imsx_StatusInfo" Class Description

5.9.1 "imsx_codeMajor" Attribute Description

5.9.2 "imsx_severity" Attribute Description

5.9.3 "imsx_description" Attribute Description

5.9.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 "achievementType" Attribute Description

6.1.1.4 "alignments" Attribute Description

6.1.1.5 "associations" Attribute Description

6.1.1.6 "creditsAvailable" Attribute Description

6.1.1.7 "description" Attribute Description

6.1.1.8 "endorsements" Attribute Description

6.1.1.9 "humanCode" Attribute Description

6.1.1.10 "identifiers" Attribute Description

6.1.1.11 "name" Attribute Description

6.1.1.12 "fieldOfStudy" Attribute Description

6.1.1.13 "image" Attribute Description

6.1.1.14 "issuer" Attribute Description

6.1.1.15 "level" Attribute Description

6.1.1.16 "requirement" Attribute Description

6.1.1.17 "resultDescriptions" Attribute Description

6.1.1.18 "signedEndorsements" Attribute Description

6.1.1.19 "specialization" Attribute Description

6.1.1.20 "tags" Attribute Description

6.1.1.21 "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.2.9 "extensions" 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 "targetCode" Attribute Description

6.1.3.4 "targetDescription" Attribute Description

6.1.3.5 "targetName" Attribute Description

6.1.3.6 "targetFramework" Attribute Description

6.1.3.7 "targetType" Attribute Description

6.1.3.8 "targetUrl" Attribute Description

6.1.3.9 "extensions" 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.4.5 "extensions" 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 "activityEndDate" Attribute Description

6.1.5.5 "activityStartDate" Attribute Description

6.1.5.6 "creditsEarned" Attribute Description

6.1.5.7 "endorsements" Attribute Description

6.1.5.8 "evidence" Attribute Description

6.1.5.9 "expires" Attribute Description

6.1.5.10 "image" Attribute Description

6.1.5.11 "issuedOn" Attribute Description

6.1.5.12 "licenseNumber" Attribute Description

6.1.5.13 "narrative" Attribute Description

6.1.5.14 "recipient" Attribute Description

6.1.5.15 "results" Attribute Description

6.1.5.16 "revocationReason" Attribute Description

6.1.5.17 "revoked" Attribute Description

6.1.5.18 "role" Attribute Description

6.1.5.19 "signedEndorsements" Attribute Description

6.1.5.20 "source" Attribute Description

6.1.5.21 "term" Attribute Description

6.1.5.22 "verification" Attribute Description

6.1.5.23 "extensions" Attribute Description

6.1.6 "Association" Class Description

6.1.6.1 "associationType" Attribute Description

6.1.6.2 "targetId" Attribute Description

6.1.6.3 "title" Attribute Description

6.1.6.4 "extensions" Attribute Description

6.1.7 "Clr" Class Description

6.1.7.1 "id" Attribute Description

6.1.7.2 "type" Attribute Description

6.1.7.3 "achievements" Attribute Description

6.1.7.4 "assertions" Attribute Description

6.1.7.5 "endorsements" Attribute Description

6.1.7.6 "issuedOn" Attribute Description

6.1.7.7 "learner" Attribute Description

6.1.7.8 "name" Attribute Description

6.1.7.9 "partial" Attribute Description

6.1.7.10 "publisher" Attribute Description

6.1.7.11 "revocationReason" Attribute Description

6.1.7.12 "revoked" Attribute Description

6.1.7.13 "signedAssertions" Attribute Description

6.1.7.14 "signedEndorsements" Attribute Description

6.1.7.15 "verification" Attribute Description

6.1.7.16 "extensions" Attribute Description

6.1.8 "ClrSet" Class Description

6.1.8.1 "id" Attribute Description

6.1.8.2 "type" Attribute Description

6.1.8.3 "clrs" Attribute Description

6.1.8.4 "signedClrs" Attribute Description

6.1.9 "Criteria" Class Description

6.1.9.1 "id" Attribute Description

6.1.9.2 "type" Attribute Description

6.1.9.3 "narrative" Attribute Description

6.1.9.4 "extensions" Attribute Description

6.1.10 "CryptographicKey" Class Description

6.1.10.1 "id" Attribute Description

6.1.10.2 "type" Attribute Description

6.1.10.3 "owner" Attribute Description

6.1.10.4 "publicKeyPem" Attribute Description

6.1.10.5 "extensions" Attribute Description

6.1.11 "DiscoveryDocument" Class Description

6.1.11.1 "authorizationUrl" Attribute Description

6.1.11.2 "image" Attribute Description

6.1.11.3 "name" Attribute Description

6.1.11.4 "privacyPolicyUrl" Attribute Description

6.1.11.5 "registrationUrl" Attribute Description

6.1.11.6 "scopesOffered" Attribute Description

6.1.11.7 "termsOfServiceUrl" Attribute Description

6.1.11.8 "tokenUrl" Attribute Description

6.1.12 "Endorsement" Class Description

6.1.12.1 "id" Attribute Description

6.1.12.2 "type" Attribute Description

6.1.12.3 "claim" Attribute Description

6.1.12.4 "issuedOn" Attribute Description

6.1.12.5 "issuer" Attribute Description

6.1.12.6 "revocationReason" Attribute Description

6.1.12.7 "revoked" Attribute Description

6.1.12.8 "verification" Attribute Description

6.1.12.9 "extensions" Attribute Description

6.1.13 "EndorsementClaim" Class Description

6.1.13.1 "id" Attribute Description

6.1.13.2 "type" Attribute Description

6.1.13.3 "endorsementComment" Attribute Description

6.1.13.4 "extensions" Attribute Description

6.1.14 "EndorsementProfile" Class Description

6.1.14.1 "id" Attribute Description

6.1.14.2 "type" Attribute Description

6.1.14.3 "additionalName" Attribute Description

6.1.14.4 "address" Attribute Description

6.1.14.5 "description" Attribute Description

6.1.14.6 "email" Attribute Description

6.1.14.7 "familyName" Attribute Description

6.1.14.8 "givenName" Attribute Description

6.1.14.9 "identifiers" Attribute Description

6.1.14.10 "image" Attribute Description

6.1.14.11 "name" Attribute Description

6.1.14.12 "official" Attribute Description

6.1.14.13 "publicKey" Attribute Description

6.1.14.14 "revocationList" Attribute Description

6.1.14.15 "sourcedId" Attribute Description

6.1.14.16 "studentId" Attribute Description

6.1.14.17 "telephone" Attribute Description

6.1.14.18 "url" Attribute Description

6.1.14.19 "verification" Attribute Description

6.1.14.20 "extensions" Attribute Description

6.1.15 "Evidence" Class Description

6.1.15.1 "id" Attribute Description

6.1.15.2 "type" Attribute Description

6.1.15.3 "artifacts" Attribute Description

6.1.15.4 "audience" Attribute Description

6.1.15.5 "description" Attribute Description

6.1.15.6 "genre" Attribute Description

6.1.15.7 "name" Attribute Description

6.1.15.8 "narrative" Attribute Description

6.1.15.9 "extensions" Attribute Description

6.1.16 "GetAssertionPayload" Class Description

6.1.16.1 "@context" Attribute Description

6.1.17 "GetClrPayload" Class Description

6.1.17.1 "@context" Attribute Description

6.1.18 "GetCryptographicKeyPayload" Class Description

6.1.18.1 "@context" Attribute Description

6.1.19 "GetEndorsementPayload" Class Description

6.1.19.1 "@context" Attribute Description

6.1.20 "GetRevocationListPayload" Class Description

6.1.20.1 "@context" Attribute Description

6.1.21 "Identity" Class Description

6.1.21.1 "id" Attribute Description

6.1.21.2 "type" Attribute Description

6.1.21.3 "identity" Attribute Description

6.1.21.4 "hashed" Attribute Description

6.1.21.5 "salt" Attribute Description

6.1.21.6 "extensions" Attribute Description

6.1.22 "PostClrPayload" Class Description

6.1.22.1 "clr" Attribute Description

6.1.22.2 "signedClr" Attribute Description

6.1.23 "Profile" Class Description

6.1.23.1 "id" Attribute Description

6.1.23.2 "type" Attribute Description

6.1.23.3 "address" Attribute Description

6.1.23.4 "additionalName" Attribute Description

6.1.23.5 "birthDate" Attribute Description

6.1.23.6 "description" Attribute Description

6.1.23.7 "email" Attribute Description

6.1.23.8 "endorsements" Attribute Description

6.1.23.9 "familyName" Attribute Description

6.1.23.10 "givenName" Attribute Description

6.1.23.11 "identifiers" Attribute Description

6.1.23.12 "image" Attribute Description

6.1.23.13 "name" Attribute Description

6.1.23.14 "official" Attribute Description

6.1.23.15 "parentOrg" Attribute Description

6.1.23.16 "publicKey" Attribute Description

6.1.23.17 "revocationList" Attribute Description

6.1.23.18 "signedEndorsements" Attribute Description

6.1.23.19 "sourcedId" Attribute Description

6.1.23.20 "studentId" Attribute Description

6.1.23.21 "telephone" Attribute Description

6.1.23.22 "url" Attribute Description

6.1.23.23 "verification" Attribute Description

6.1.23.24 "extensions" Attribute Description

6.1.24 "Result" Class Description

6.1.24.1 "id" Attribute Description

6.1.24.2 "type" Attribute Description

6.1.24.3 "achievedLevel" Attribute Description

6.1.24.4 "alignments" Attribute Description

6.1.24.5 "resultDescription" Attribute Description

6.1.24.6 "status" Attribute Description

6.1.24.7 "value" Attribute Description

6.1.24.8 "extensions" Attribute Description

6.1.25 "ResultDescription" Class Description

6.1.25.1 "id" Attribute Description

6.1.25.2 "type" Attribute Description

6.1.25.3 "alignments" Attribute Description

6.1.25.4 "allowedValues" Attribute Description

6.1.25.5 "name" Attribute Description

6.1.25.6 "requiredLevel" Attribute Description

6.1.25.7 "requiredValue" Attribute Description

6.1.25.8 "resultType" Attribute Description

6.1.25.9 "rubricCriterionLevels" Attribute Description

6.1.25.10 "valueMax" Attribute Description

6.1.25.11 "valueMin" Attribute Description

6.1.25.12 "extensions" Attribute Description

6.1.26 "RevocationList" Class Description

6.1.26.1 "id" Attribute Description

6.1.26.2 "type" Attribute Description

6.1.26.3 "issuer" Attribute Description

6.1.26.4 "revokedAssertions" Attribute Description

6.1.27 "RubricCriterionLevel" Class Description

6.1.27.1 "id" Attribute Description

6.1.27.2 "type" Attribute Description

6.1.27.3 "alignments" Attribute Description

6.1.27.4 "description" Attribute Description

6.1.27.5 "level" Attribute Description

6.1.27.6 "name" Attribute Description

6.1.27.7 "points" Attribute Description

6.1.27.8 "extensions" Attribute Description

6.1.28 "SystemIdentifier" Class Description

6.1.28.1 "type" Attribute Description

6.1.28.2 "identifier" Attribute Description

6.1.28.3 "identifierType" Attribute Description

6.1.28.4 "extensions" Attribute Description

6.1.29 "Verification" Class Description

6.1.29.1 "id" Attribute Description

6.1.29.2 "type" Attribute Description

6.1.29.3 "allowedOrigins" Attribute Description

6.1.29.4 "creator" Attribute Description

6.1.29.5 "startsWith" Attribute Description

6.1.29.6 "verificationProperty" Attribute Description

6.1.29.7 "extensions" Attribute Description

6.1.30 "imsx_CodeMinor" Class Description

6.1.30.1 "imsx_codeMinorField" Attribute Description

6.1.31 "imsx_CodeMinorField" Class Description

6.1.31.1 "imsx_codeMinorFieldName" Attribute Description

6.1.31.2 "imsx_codeMinorFieldValue" Attribute Description

6.1.32 "imsx_StatusInfo" Class Description

6.1.32.1 "imsx_codeMajor" Attribute Description

6.1.32.2 "imsx_severity" Attribute Description

6.1.32.3 "imsx_description" Attribute Description

6.1.32.4 "imsx_codeMinor" Attribute Description

6.2 Derived Class Descriptions

6.2.1 "CompactJws" Class Description

6.2.1.1 "pattern" Attribute Description

6.2.2 "EnumExtString" Class Description

6.2.2.1 "pattern" Attribute Description

6.2.3 "IRI" Class Description

6.2.4 "Markdown" 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 "AlignmentTargetType" Vocabulary Description

6.3.3 "AssociationType" Vocabulary Description

6.3.4 "ResultStatusType" Vocabulary Description

6.3.5 "ResultType" Vocabulary Description

6.3.6 "SystemIdentifierType" Vocabulary Description

6.3.7 "VerificationType" Vocabulary Description

6.3.8 "imsx_CodeMajorEnum" Vocabulary Description

6.3.9 "imsx_CodeMinorValueEnum" Vocabulary Description

6.3.10 "imsx_SeverityEnum" Vocabulary Description

6.4 Union Class Descriptions

6.4.1 "ExtensibleAchievementType" Class Description

6.4.2 "ExtensibleAlignmentTargetType" Class Description

6.4.3 "ExtensibleResultType" Class Description

6.4.4 "ExtensibleSystemIdentifierType" Class Description

7. Extending and Profiling the Standard

7.1 Extending the Standard

7.1.1 Proprietary Operations

7.1.2 Proprietary Data Elements

7.2 Profiling the Standard

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

A3.7 Link Data 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 ClrSet class definitions

Figure 5.2 DiscoveryDocument class definitions

Figure 5.3 GetAssertionPayload class definitions

Figure 5.4 GetClrPayload class definitions

Figure 5.5 GetCryptographicKeyPayload class definitions

Figure 5.6 GetEndorsementPayload class definitions

Figure 5.7 GetRevocationListPayload class definitions

Figure 5.8 PostClrPayload class definitions

Figure 5.9 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 Association class definitions

Figure 6.1.7 Clr class definitions

Figure 6.1.8 ClrSet class definitions

Figure 6.1.9 Criteria class definitions

Figure 6.1.10 CryptographicKey class definitions

Figure 6.1.11 DiscoveryDocument class definitions

Figure 6.1.12 Endorsement class definitions

Figure 6.1.13 EndorsementClaim class definitions

Figure 6.1.14 EndorsementProfile class definitions

Figure 6.1.15 Evidence class definitions

Figure 6.1.16 GetAssertionPayload class definitions

Figure 6.1.17 GetClrPayload class definitions

Figure 6.1.18 GetCryptographicKeyPayload class definitions

Figure 6.1.19 GetEndorsementPayload class definitions

Figure 6.1.20 GetRevocationListPayload class definitions

Figure 6.1.21 Identity class definitions

Figure 6.1.22 PostClrPayload class definitions

Figure 6.1.23 Profile class definitions

Figure 6.1.24 Result class definitions

Figure 6.1.25 ResultDescription class definitions

Figure 6.1.26 RevocationList class definitions

Figure 6.1.27 RubricCriterionLevel class definitions

Figure 6.1.28 SystemIdentifier class definitions

Figure 6.1.29 Verification class definitions

Figure 6.1.30 imsx_CodeMinor class definitions

Figure 6.1.31 imsx_CodeMinorField class definitions

Figure 6.1.32 imsx_StatusInfo class definitions

Figure 6.2.1 CompactJws class definitions

Figure 6.2.2 EnumExtString class definitions

Figure 6.2.3 IRI class definitions

Figure 6.2.4 Markdown class definitions

Figure 6.2.5 UUID class definitions

Figure 6.3.1 AchievementType class definitions

Figure 6.3.2 AlignmentTargetType class definitions

Figure 6.3.3 AssociationType class definitions

Figure 6.3.4 ResultStatusType class definitions

Figure 6.3.5 ResultType class definitions

Figure 6.3.6 SystemIdentifierType class definitions

Figure 6.3.7 VerificationType class definitions

Figure 6.3.8 imsx_CodeMajorEnum class definitions

Figure 6.3.9 imsx_CodeMinorValueEnum class definitions

Figure 6.3.10 imsx_SeverityEnum class definitions

Figure 6.4.1 ExtensibleAchievementType class definitions

Figure 6.4.2 ExtensibleAlignmentTargetType class definitions

Figure 6.4.3 ExtensibleResultType class definitions

Figure 6.4.4 ExtensibleSystemIdentifierType 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 4.7 The set of operations for the "RevocationsManager" interface.

Table 5.1 "ClrSet" Class Description

Table 5.1.1 "id" Attribute Description

Table 5.1.2 "type" Attribute Description

Table 5.1.3 "clrs" Attribute Description

Table 5.1.4 "signedClrs" Attribute Description

Table 5.2 "DiscoveryDocument" Class Description

Table 5.2.1 "authorizationUrl" Attribute Description

Table 5.2.2 "image" Attribute Description

Table 5.2.3 "name" Attribute Description

Table 5.2.4 "privacyPolicyUrl" Attribute Description

Table 5.2.5 "registrationUrl" Attribute Description

Table 5.2.6 "scopesOffered" Attribute Description

Table 5.2.7 "termsOfServiceUrl" Attribute Description

Table 5.2.8 "tokenUrl" Attribute Description

Table 5.3 "GetAssertionPayload" Class Description

Table 5.3.1 "@context" Attribute Description

Table 5.4 "GetClrPayload" Class Description

Table 5.4.1 "@context" Attribute Description

Table 5.5 "GetCryptographicKeyPayload" Class Description

Table 5.5.1 "@context" Attribute Description

Table 5.6 "GetEndorsementPayload" Class Description

Table 5.6.1 "@context" Attribute Description

Table 5.7 "GetRevocationListPayload" Class Description

Table 5.7.1 "@context" Attribute Description

Table 5.8 "PostClrPayload" Class Description

Table 5.8.1 "clr" Attribute Description

Table 5.8.2 "signedClr" Attribute Description

Table 5.9 "imsx_StatusInfo" Class Description

Table 5.9.1 "imsx_codeMajor" Attribute Description

Table 5.9.2 "imsx_severity" Attribute Description

Table 5.9.3 "imsx_description" Attribute Description

Table 5.9.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 "achievementType" attribute for the "Achievement" class

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Table 6.1.1.21 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.2.9 Description of the "extensions" 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 "targetCode" attribute for the "Alignment" class

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

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

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

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

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

Table 6.1.3.9 Description of the "extensions" 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.4.5 Description of the "extensions" 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 "activityEndDate" attribute for the "Assertion" class

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Table 6.1.6 Association class definitions

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

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

Table 6.1.6.3 Description of the "title" attribute for the "Association" class

Table 6.1.6.4 Description of the "extensions" attribute for the "Association" class

Table 6.1.7 Clr class definitions

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

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

Table 6.1.7.3 Description of the "achievements" attribute for the "Clr" class

Table 6.1.7.4 Description of the "assertions" attribute for the "Clr" class

Table 6.1.7.5 Description of the "endorsements" attribute for the "Clr" class

Table 6.1.7.6 Description of the "issuedOn" attribute for the "Clr" class

Table 6.1.7.7 Description of the "learner" attribute for the "Clr" class

Table 6.1.7.8 Description of the "name" attribute for the "Clr" class

Table 6.1.7.9 Description of the "partial" attribute for the "Clr" class

Table 6.1.7.10 Description of the "publisher" attribute for the "Clr" class

Table 6.1.7.11 Description of the "revocationReason" attribute for the "Clr" class

Table 6.1.7.12 Description of the "revoked" attribute for the "Clr" class

Table 6.1.7.13 Description of the "signedAssertions" attribute for the "Clr" class

Table 6.1.7.14 Description of the "signedEndorsements" attribute for the "Clr" class

Table 6.1.7.15 Description of the "verification" attribute for the "Clr" class

Table 6.1.7.16 Description of the "extensions" attribute for the "Clr" class

Table 6.1.8 ClrSet class definitions

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

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

Table 6.1.8.3 Description of the "clrs" attribute for the "ClrSet" class

Table 6.1.8.4 Description of the "signedClrs" attribute for the "ClrSet" class

Table 6.1.9 Criteria class definitions

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

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

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

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

Table 6.1.10 CryptographicKey class definitions

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

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

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

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

Table 6.1.10.5 Description of the "extensions" attribute for the "CryptographicKey" class

Table 6.1.11 DiscoveryDocument class definitions

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

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

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

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

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

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

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

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

Table 6.1.12 Endorsement class definitions

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

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

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

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

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

Table 6.1.12.6 Description of the "revocationReason" attribute for the "Endorsement" class

Table 6.1.12.7 Description of the "revoked" attribute for the "Endorsement" class

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

Table 6.1.12.9 Description of the "extensions" attribute for the "Endorsement" class

Table 6.1.13 EndorsementClaim class definitions

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

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

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

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

Table 6.1.14 EndorsementProfile class definitions

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

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

Table 6.1.14.3 Description of the "additionalName" attribute for the "EndorsementProfile" class

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

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

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

Table 6.1.14.7 Description of the "familyName" attribute for the "EndorsementProfile" class

Table 6.1.14.8 Description of the "givenName" attribute for the "EndorsementProfile" class

Table 6.1.14.9 Description of the "identifiers" attribute for the "EndorsementProfile" class

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

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

Table 6.1.14.12 Description of the "official" attribute for the "EndorsementProfile" class

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

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

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

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

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

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

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

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

Table 6.1.15 Evidence class definitions

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

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

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

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

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

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

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

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

Table 6.1.15.9 Description of the "extensions" attribute for the "Evidence" class

Table 6.1.16 GetAssertionPayload class definitions

Table 6.1.16.1 Description of the "@context" attribute for the "GetAssertionPayload" class

Table 6.1.17 GetClrPayload class definitions

Table 6.1.17.1 Description of the "@context" attribute for the "GetClrPayload" class

Table 6.1.18 GetCryptographicKeyPayload class definitions

Table 6.1.18.1 Description of the "@context" attribute for the "GetCryptographicKeyPayload" class

Table 6.1.19 GetEndorsementPayload class definitions

Table 6.1.19.1 Description of the "@context" attribute for the "GetEndorsementPayload" class

Table 6.1.20 GetRevocationListPayload class definitions

Table 6.1.20.1 Description of the "@context" attribute for the "GetRevocationListPayload" class

Table 6.1.21 Identity class definitions

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

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

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

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

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

Table 6.1.21.6 Description of the "extensions" attribute for the "Identity" class

Table 6.1.22 PostClrPayload class definitions

Table 6.1.22.1 Description of the "clr" attribute for the "PostClrPayload" class

Table 6.1.22.2 Description of the "signedClr" attribute for the "PostClrPayload" class

Table 6.1.23 Profile class definitions

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

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

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

Table 6.1.23.4 Description of the "additionalName" attribute for the "Profile" class

Table 6.1.23.5 Description of the "birthDate" attribute for the "Profile" class

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

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

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

Table 6.1.23.9 Description of the "familyName" attribute for the "Profile" class

Table 6.1.23.10 Description of the "givenName" attribute for the "Profile" class

Table 6.1.23.11 Description of the "identifiers" attribute for the "Profile" class

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

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

Table 6.1.23.14 Description of the "official" attribute for the "Profile" class

Table 6.1.23.15 Description of the "parentOrg" attribute for the "Profile" class

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

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

Table 6.1.23.18 Description of the "signedEndorsements" attribute for the "Profile" class

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

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

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

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

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

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

Table 6.1.24 Result class definitions

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

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

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

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

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

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

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

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

Table 6.1.25 ResultDescription class definitions

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

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

Table 6.1.25.3 Description of the "alignments" attribute for the "ResultDescription" class

Table 6.1.25.4 Description of the "allowedValues" attribute for the "ResultDescription" class

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

Table 6.1.25.6 Description of the "requiredLevel" attribute for the "ResultDescription" class

Table 6.1.25.7 Description of the "requiredValue" attribute for the "ResultDescription" class

Table 6.1.25.8 Description of the "resultType" attribute for the "ResultDescription" class

Table 6.1.25.9 Description of the "rubricCriterionLevels" attribute for the "ResultDescription" class

Table 6.1.25.10 Description of the "valueMax" attribute for the "ResultDescription" class

Table 6.1.25.11 Description of the "valueMin" attribute for the "ResultDescription" class

Table 6.1.25.12 Description of the "extensions" attribute for the "ResultDescription" class

Table 6.1.26 RevocationList class definitions

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

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

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

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

Table 6.1.27 RubricCriterionLevel class definitions

Table 6.1.27.1 Description of the "id" attribute for the "RubricCriterionLevel" class

Table 6.1.27.2 Description of the "type" attribute for the "RubricCriterionLevel" class

Table 6.1.27.3 Description of the "alignments" attribute for the "RubricCriterionLevel" class

Table 6.1.27.4 Description of the "description" attribute for the "RubricCriterionLevel" class

Table 6.1.27.5 Description of the "level" attribute for the "RubricCriterionLevel" class

Table 6.1.27.6 Description of the "name" attribute for the "RubricCriterionLevel" class

Table 6.1.27.7 Description of the "points" attribute for the "RubricCriterionLevel" class

Table 6.1.27.8 Description of the "extensions" attribute for the "RubricCriterionLevel" class

Table 6.1.28 SystemIdentifier class definitions

Table 6.1.28.1 Description of the "type" attribute for the "SystemIdentifier" class

Table 6.1.28.2 Description of the "identifier" attribute for the "SystemIdentifier" class

Table 6.1.28.3 Description of the "identifierType" attribute for the "SystemIdentifier" class

Table 6.1.28.4 Description of the "extensions" attribute for the "SystemIdentifier" class

Table 6.1.29 Verification class definitions

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

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

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

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

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

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

Table 6.1.29.7 Description of the "extensions" attribute for the "Verification" class

Table 6.1.30 imsx_CodeMinor class definitions

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

Table 6.1.31 imsx_CodeMinorField class definitions

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

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

Table 6.1.32 imsx_StatusInfo class definitions

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

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

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

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

Table 6.2.1 CompactJws class definitions

Table 6.2.1.1 Description of the "pattern" attribute for the "CompactJws" class

Table 6.2.2 EnumExtString class definitions

Table 6.2.2.1 Description of the "pattern" attribute for the "EnumExtString" class

Table 6.2.3 IRI class definitions

Table 6.2.4 Markdown 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 AlignmentTargetType class definitions

Table 6.3.3 AssociationType class definitions

Table 6.3.4 ResultStatusType class definitions

Table 6.3.5 ResultType class definitions

Table 6.3.6 SystemIdentifierType class definitions

Table 6.3.7 VerificationType class definitions

Table 6.3.8 imsx_CodeMajorEnum class definitions

Table 6.3.9 imsx_CodeMinorValueEnum class definitions

Table 6.3.10 imsx_SeverityEnum class definitions

Table 6.4.1 ExtensibleAchievementType class description

Table 6.4.2 ExtensibleAlignmentTargetType class description

Table 6.4.3 ExtensibleResultType class description

Table 6.4.4 ExtensibleSystemIdentifierType class description

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 Standard 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 Standard 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 architecture 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 Standard An explanation of how the standard 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 Standard 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 Standard synchronous service.

Diagram of the action sequence for the CLR Standard 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 Standard

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

The data model for the CLR Standard 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 Standard.

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

The CLR Standard 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 Standard 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 for Hosted Verification.
ClrsManager The set of service operations that manage access to CLRs.
DiscoveryManager The set of service operations that manage access to the DiscoveryDocument for dynamic consumer registration.
EndorsementsManager The set of service operations that manage access to Endorsements for Hosted Verification.
KeysManager The set of service operations that manage access to CryptographicKeys for Signed Verification.
RevocationsManager The set of service operations that manage access to RevocationLists for Signed Verification.

4.2 AssertionsManager Interface Description

The set of service operations that manage access to Assertions for Hosted Verification.

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: : imsx_StatusInfo - returns the current version of the specified Assertion. This operation is used to verify a Hosted Assertion.
Supplied (in) Parameters: sourcedId : String - the unique identifier of the Assertion.
Returned (out) Parameters: assertion : GetAssertionPayload -
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.
postClr Create or replace a CLR.
deleteClr Delete a CLR.
getClr Returns the current version of the specified Clr. This operation is used to verify a Hosted 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 "postClr" Operation

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

4.3.3 "deleteClr" Operation

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

4.3.4 "getClr" Operation

Name: getClr ()
Return Function Parameter: : imsx_StatusInfo - returns the current version of the specified Clr. This operation is used to verify a Hosted Clr.
Supplied (in) Parameters: sourcedId : String - the unique identifier of the Clr.
Returned (out) Parameters: clr : GetClrPayload -
Behavior: Returns the current version of the specified Clr. This operation is used to verify a Hosted Clr.

4.4 DiscoveryManager Interface Description

The set of service operations that manage access to the DiscoveryDocument for dynamic consumer registration.

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 for Hosted Verification.

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

4.5.1 "getEndorsement" Operation

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

4.6 KeysManager Interface Description

The set of service operations that manage access to CryptographicKeys for Signed Verification.

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 verify a Signed Assertion, Clr, or Endorsement.

4.6.1 "getKey" Operation

Name: getKey ()
Return Function Parameter: : imsx_StatusInfo - returns the current version of the specified CryptographicKey. This operation is used to verify a Signed Assertion, Clr, or Endorsement.
Supplied (in) Parameters: sourcedId : String - the unique identifier of the CryptographicKey.
Returned (out) Parameters: key : GetCryptographicKeyPayload -
Behavior: Returns the current version of the specified CryptographicKey. This operation is used to verify a Signed Assertion, Clr, or Endorsement.

4.7 RevocationsManager Interface Description

The set of service operations that manage access to RevocationLists for Signed Verification.

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

Table 4.7 The set of operations for the "RevocationsManager" interface.
Operation Description
getRevocationList Returns the current version of the issuer's RevocationList. This operation is used to verify a Signed Assertion, Clr, or Endorsement.

4.7.1 "getRevocationList" Operation

Name: getRevocationList ()
Return Function Parameter: : imsx_StatusInfo - returns the current version of the issuer's RevocationList. This operation is used to verify a Signed Assertion, Clr, or Endorsement.
Supplied (in) Parameters: sourcedId : String - the unique identifier of the RevocationList.
Returned (out) Parameters: revocations : GetRevocationListPayload -
Behavior: Returns the current version of the issuer's RevocationList. This operation is used to verify a Signed Assertion, Clr, or Endorsement.

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 ClrSet Class Description

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

UML diagram of the ClrSet class.

Figure 5.1 - ClrSet class definitions.

Table 5.1 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.1.1 "id" Attribute Description

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

Table 5.1.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.1.2 "type" Attribute Description

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

Table 5.1.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.1.3 "clrs" Attribute Description

The description of the "clrs" attribute for the "ClrSet" class is given in Table 5.1.3.

Table 5.1.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 A set of Clrs

5.1.4 "signedClrs" Attribute Description

The description of the "signedClrs" attribute for the "ClrSet" class is given in Table 5.1.4.

Table 5.1.4 Description of the "signedClrs" attribute for the "ClrSet" class.
Descriptor Definition
Attribute Name signedClrs
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A set of Clrs in JWS Compact Serialization format.

5.2 DiscoveryDocument Class Description

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

UML diagram of the DiscoveryDocument class.

Figure 5.2 - DiscoveryDocument class definitions.

Table 5.2 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.2.1 "authorizationUrl" Attribute Description

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

Table 5.2.1 Description of the "authorizationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name authorizationUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualifed URL to the provider's OAuth 2.0 Authorization endpoint.

5.2.2 "image" Attribute Description

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

Table 5.2.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.2.3 "name" Attribute Description

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

Table 5.2.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.2.4 "privacyPolicyUrl" Attribute Description

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

Table 5.2.4 Description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name privacyPolicyUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's privacy policy.

5.2.5 "registrationUrl" Attribute Description

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

Table 5.2.5 Description of the "registrationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name registrationUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Registration endpoint.

5.2.6 "scopesOffered" Attribute Description

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

Table 5.2.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.2.7 "termsOfServiceUrl" Attribute Description

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

Table 5.2.7 Description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name termsOfServiceUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's terms of service.

5.2.8 "tokenUrl" Attribute Description

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

Table 5.2.8 Description of the "tokenUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name tokenUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Token endpoint.

5.3 GetAssertionPayload Class Description

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

UML diagram of the GetAssertionPayload class.

Figure 5.3 - GetAssertionPayload class definitions.

Table 5.3 Description of the "GetAssertionPayload" class.
Descriptor Definition
Class Name GetAssertionPayload
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: The set of directly inherited children attributes are:
Description Payload for the 'getAssertion' operation.

5.3.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetAssertionPayload" class is given in Table 5.3.1.

Table 5.3.1 Description of the "@context" attribute for the "GetAssertionPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

5.4 GetClrPayload Class Description

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

UML diagram of the GetClrPayload class.

Figure 5.4 - GetClrPayload class definitions.

Table 5.4 Description of the "GetClrPayload" class.
Descriptor Definition
Class Name GetClrPayload
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: The set of directly inherited children attributes are:
Description Payload for the 'getClr' operation.

5.4.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetClrPayload" class is given in Table 5.4.1.

Table 5.4.1 Description of the "@context" attribute for the "GetClrPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

5.5 GetCryptographicKeyPayload Class Description

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

UML diagram of the GetCryptographicKeyPayload class.

Figure 5.5 - GetCryptographicKeyPayload class definitions.

Table 5.5 Description of the "GetCryptographicKeyPayload" class.
Descriptor Definition
Class Name GetCryptographicKeyPayload
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: The set of directly inherited children attributes are:
Description Payload for the 'getKey' operation.

5.5.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetCryptographicKeyPayload" class is given in Table 5.5.1.

Table 5.5.1 Description of the "@context" attribute for the "GetCryptographicKeyPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

5.6 GetEndorsementPayload Class Description

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

UML diagram of the GetEndorsementPayload class.

Figure 5.6 - GetEndorsementPayload class definitions.

Table 5.6 Description of the "GetEndorsementPayload" class.
Descriptor Definition
Class Name GetEndorsementPayload
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: The set of directly inherited children attributes are:
Description Payload for the 'getEndorsement' operation.

5.6.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetEndorsementPayload" class is given in Table 5.6.1.

Table 5.6.1 Description of the "@context" attribute for the "GetEndorsementPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

5.7 GetRevocationListPayload Class Description

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

UML diagram of the GetRevocationListPayload class.

Figure 5.7 - GetRevocationListPayload class definitions.

Table 5.7 Description of the "GetRevocationListPayload" class.
Descriptor Definition
Class Name GetRevocationListPayload
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: The set of directly inherited children attributes are:
Description Payload for the 'getRevocationList' operation.

5.7.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetRevocationListPayload" class is given in Table 5.7.1.

Table 5.7.1 Description of the "@context" attribute for the "GetRevocationListPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

5.8 PostClrPayload Class Description

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

UML diagram of the PostClrPayload class.

Figure 5.8 - PostClrPayload class definitions.

Table 5.8 Description of the "PostClrPayload" class.
Descriptor Definition
Class Name PostClrPayload
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 Payload for the 'postClr' operation. Only one format (signed or unsigned) is allowed.

5.8.1 "clr" Attribute Description

The description of the "clr" attribute for the "PostClrPayload" class is given in Table 5.8.1.

Table 5.8.1 Description of the "clr" attribute for the "PostClrPayload" class.
Descriptor Definition
Attribute Name clr
Data Type Clr
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The Clr if not signed.

5.8.2 "signedClr" Attribute Description

The description of the "signedClr" attribute for the "PostClrPayload" class is given in Table 5.8.2.

Table 5.8.2 Description of the "signedClr" attribute for the "PostClrPayload" class.
Descriptor Definition
Attribute Name signedClr
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The signed Clr in JWS Compact Serialization format.

5.9 imsx_StatusInfo Class Description

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

UML diagram of the imsx_StatusInfo class.

Figure 5.9 - imsx_StatusInfo class definitions.

Table 5.9 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.9.1 "imsx_codeMajor" Attribute Description

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

Table 5.9.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.9.2 "imsx_severity" Attribute Description

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

Table 5.9.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.9.3 "imsx_description" Attribute Description

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

Table 5.9.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.9.4 "imsx_codeMinor" Attribute Description

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

Table 5.9.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

This Section is NORMATIVE.

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

6.1.1 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 Globally unique IRI for the Achievement. If the IRI is a URL it must resolve to an Achievement resource.

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 IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'Achievement'.

6.1.1.3 "achievementType" Attribute Description

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

Table 6.1.1.3 Description of the "achievementType" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name achievementType
Data Type ExtensibleAchievementType
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [0..1]
Description A CLR Achievement can represent many different types of achievement from an assessment result to membership. Use 'Achievement' to indicate an achievement not in the list of allowed values.

6.1.1.4 "alignments" Attribute Description

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

Table 6.1.1.4 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.5 "associations" Attribute Description

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

Table 6.1.1.5 Description of the "associations" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name associations
Data Type Association
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Associations between this achievement and other achievements.

6.1.1.6 "creditsAvailable" Attribute Description

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

Table 6.1.1.6 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.7 "description" Attribute Description

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

Table 6.1.1.7 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.8 "endorsements" Attribute Description

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

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

6.1.1.9 "humanCode" Attribute Description

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

Table 6.1.1.9 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.10 "identifiers" Attribute Description

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

Table 6.1.1.10 Description of the "identifiers" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name identifiers
Data Type SystemIdentifier
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A set of System Identifiers that represent other identifiers for this Achievement.

6.1.1.11 "name" Attribute Description

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

Table 6.1.1.11 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.12 "fieldOfStudy" Attribute Description

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

Table 6.1.1.12 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.13 "image" Attribute Description

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

Table 6.1.1.13 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.14 "issuer" Attribute Description

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

Table 6.1.1.14 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.15 "level" Attribute Description

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

Table 6.1.1.15 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.16 "requirement" Attribute Description

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

Table 6.1.1.16 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.17 "resultDescriptions" Attribute Description

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

Table 6.1.1.17 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 set of result descriptions that may be asserted as results with this achievement.

6.1.1.18 "signedEndorsements" Attribute Description

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

Table 6.1.1.18 Description of the "signedEndorsements" attribute for the "Achievement" class.
Descriptor Definition
Attribute Name signedEndorsements
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Signed endorsements in JWS Compact Serialization format.

6.1.1.19 "specialization" Attribute Description

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

Table 6.1.1.19 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.20 "tags" Attribute Description

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

Table 6.1.1.20 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.21 "extensions" Attribute Description

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

Table 6.1.1.21 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.2.9 "extensions" Attribute Description

The description of the "extensions" attribute for the "Address" class is given in Table 6.1.2.9.

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

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 the schema.org AlignmentObject.

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 "targetCode" Attribute Description

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

Table 6.1.3.3 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.4 "targetDescription" Attribute Description

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

Table 6.1.3.4 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 The description of a node in an established educational framework.

6.1.3.5 "targetName" Attribute Description

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

Table 6.1.3.5 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.6 "targetFramework" Attribute Description

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

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

6.1.3.7 "targetType" Attribute Description

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

Table 6.1.3.7 Description of the "targetType" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetType
Data Type ExtensibleAlignmentTargetType
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [0..1]
Description The type of the alignment target node. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

6.1.3.8 "targetUrl" Attribute Description

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

Table 6.1.3.8 Description of the "targetUrl" attribute for the "Alignment" class.
Descriptor Definition
Attribute Name targetUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The URL of a node in an established educational framework. When the alignment is to a CASE framework and the CASE Service support the CASE JSON-LD binding, the URL should be the 'uri' of the node document, otherwise the URL should be the CASE Service endpoint URL that returns the node JSON.

6.1.3.9 "extensions" Attribute Description

The description of the "extensions" attribute for the "Alignment" class is given in Table 6.1.3.9.

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

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 [0..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 IRI
Value Space Container [ DerivedType ]
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.4.5 "extensions" Attribute Description

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

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

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 The set of parent classes are:
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description 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 Globally unique IRI for the Assertion. If the IRI is a URL it must resolve to an Assertion resource. If the Assertion is verified using Hosted verification, the IRI must be a URL.

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 [0..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 Required unless the assertion is an Open Badge.

6.1.5.4 "activityEndDate" Attribute Description

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

Table 6.1.5.4 Description of the "activityEndDate" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name activityEndDate
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If present, end date for the activity.

6.1.5.5 "activityStartDate" Attribute Description

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

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

6.1.5.6 "creditsEarned" Attribute Description

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

Table 6.1.5.6 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.7 "endorsements" Attribute Description

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

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

6.1.5.8 "evidence" Attribute Description

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

Table 6.1.5.8 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.9 "expires" Attribute Description

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

Table 6.1.5.9 Description of the "expires" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name expires
Data Type DateTime (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If the achievement has some notion of expiry, this indicates a timestamp when an assertion should no longer be considered valid. After this time, the assertion should be considered expired.

6.1.5.10 "image" Attribute Description

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

Table 6.1.5.10 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.

6.1.5.11 "issuedOn" Attribute Description

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

Table 6.1.5.11 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.12 "licenseNumber" Attribute Description

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

Table 6.1.5.12 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.13 "narrative" Attribute Description

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

Table 6.1.5.13 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.14 "recipient" Attribute Description

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

Table 6.1.5.14 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.15 "results" Attribute Description

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

Table 6.1.5.15 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 set of results being asserted.

6.1.5.16 "revocationReason" Attribute Description

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

Table 6.1.5.16 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.17 "revoked" Attribute Description

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

Table 6.1.5.17 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 this assertion is not referenced in a 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.18 "role" Attribute Description

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

Table 6.1.5.18 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.19 "signedEndorsements" Attribute Description

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

Table 6.1.5.19 Description of the "signedEndorsements" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name signedEndorsements
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Signed endorsements in JWS Compact Serialization format.

6.1.5.20 "source" Attribute Description

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

Table 6.1.5.20 Description of the "source" attribute for the "Assertion" class.
Descriptor Definition
Attribute Name source
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The person, organization, or system that assessed the achievement. The Achievement issuer is responsible for supporting verification.

6.1.5.21 "term" Attribute Description

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

Table 6.1.5.21 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.22 "verification" Attribute Description

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

Table 6.1.5.22 Description of the "verification" attribute for the "Assertion" 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.

6.1.5.23 "extensions" Attribute Description

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

Table 6.1.5.23 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 Association Class Description

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

UML diagram of the Association class.

Figure 6.1.6 - Association class definitions.

Table 6.1.6 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 AssociationLink object. An Association associates (relates) one Achievement with another Achievement.

6.1.6.1 "associationType" Attribute Description

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

Table 6.1.6.1 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 | isParentOf | isPartOf | isPeerOf | isRelatedTo | precedes | replacedBy }
Scope Local ("-")
Multiplicity [1]
Description The type of association. This uses an enumerated vocabulary.

6.1.6.2 "targetId" Attribute Description

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

Table 6.1.6.2 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.6.3 "title" Attribute Description

The description of the "title" attribute for the "Association" class is given in Table 6.1.6.3.

Table 6.1.6.3 Description of the "title" attribute for the "Association" class.
Descriptor Definition
Attribute Name title
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A human readable title for the associated achievement.

6.1.6.4 "extensions" Attribute Description

The description of the "extensions" attribute for the "Association" class is given in Table 6.1.6.4.

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

6.1.7 Clr Class Description

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

UML diagram of the Clr class.

Figure 6.1.7 - Clr class definitions.

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

6.1.7.1 "id" Attribute Description

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

Table 6.1.7.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 Globally unique IRI for the CLR. If the IRI is a URL is must resolve to a CLR resource and conform to the getClr endpoint format. If the CLR is verified using Hosted verification, the IRI must be a URL.

6.1.7.2 "type" Attribute Description

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

Table 6.1.7.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.7.3 "achievements" Attribute Description

The description of the "achievements" attribute for the "Clr" class is given in Table 6.1.7.3.

Table 6.1.7.3 Description of the "achievements" attribute for the "Clr" class.
Descriptor Definition
Attribute Name achievements
Data Type Achievement
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Array of achievements that are related directly or indirectly through associations with the asserted achievements in the CLR. Primarily used to represent hierarchical pathways. Asserted achievements may appear in both this array and in the achievement assertion. If asserted achievements do appear in both places, they MUST match exactly.

6.1.7.4 "assertions" Attribute Description

The description of the "assertions" attribute for the "Clr" class is given in Table 6.1.7.4.

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

6.1.7.5 "endorsements" Attribute Description

The description of the "endorsements" attribute for the "Clr" class is given in Table 6.1.7.5.

Table 6.1.7.5 Description of the "endorsements" attribute for the "Clr" class.
Descriptor Definition
Attribute Name endorsements
Data Type Endorsement
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Allows endorsers to make specific claims about the CLR, or any assertion, achievement, or profile referenced in the CLR.

6.1.7.6 "issuedOn" Attribute Description

The description of the "issuedOn" attribute for the "Clr" class is given in Table 6.1.7.6.

Table 6.1.7.6 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.7.7 "learner" Attribute Description

The description of the "learner" attribute for the "Clr" class is given in Table 6.1.7.7.

Table 6.1.7.7 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 The profile describing the recipient of the achievement assertions.

6.1.7.8 "name" Attribute Description

The description of the "name" attribute for the "Clr" class is given in Table 6.1.7.8.

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

6.1.7.9 "partial" Attribute Description

The description of the "partial" attribute for the "Clr" class is given in Table 6.1.7.9.

Table 6.1.7.9 Description of the "partial" attribute for the "Clr" class.
Descriptor Definition
Attribute Name partial
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description True if CLR does not contain all the assertions known by the publisher for the learner at the time the CLR is issued. Useful if you are sending a small set of achievements in real time when they are achieved. If False or omitted, the CLR SHOULD be interpreted as containing all the assertions for the learner known by the publisher at the time of issue.

6.1.7.10 "publisher" Attribute Description

The description of the "publisher" attribute for the "Clr" class is given in Table 6.1.7.10.

Table 6.1.7.10 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.7.11 "revocationReason" Attribute Description

The description of the "revocationReason" attribute for the "Clr" class is given in Table 6.1.7.11.

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

6.1.7.12 "revoked" Attribute Description

The description of the "revoked" attribute for the "Clr" class is given in Table 6.1.7.12.

Table 6.1.7.12 Description of the "revoked" attribute for the "Clr" class.
Descriptor Definition
Attribute Name revoked
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If True the CLR is revoked.

6.1.7.13 "signedAssertions" Attribute Description

The description of the "signedAssertions" attribute for the "Clr" class is given in Table 6.1.7.13.

Table 6.1.7.13 Description of the "signedAssertions" attribute for the "Clr" class.
Descriptor Definition
Attribute Name signedAssertions
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Signed assertions in JWS Compact Serialization format.

6.1.7.14 "signedEndorsements" Attribute Description

The description of the "signedEndorsements" attribute for the "Clr" class is given in Table 6.1.7.14.

Table 6.1.7.14 Description of the "signedEndorsements" attribute for the "Clr" class.
Descriptor Definition
Attribute Name signedEndorsements
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Signed endorsements of the CLR or any Achievement, Assertion, or Profile in the CLR; in JWS Compact Serialization format.

6.1.7.15 "verification" Attribute Description

The description of the "verification" attribute for the "Clr" class is given in Table 6.1.7.15.

Table 6.1.7.15 Description of the "verification" attribute for the "Clr" 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 CLR.

6.1.7.16 "extensions" Attribute Description

The description of the "extensions" attribute for the "Clr" class is given in Table 6.1.7.16.

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

6.1.8 ClrSet Class Description

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

UML diagram of the ClrSet class.

Figure 6.1.8 - ClrSet class definitions.

Table 6.1.8 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.8.1 "id" Attribute Description

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

Table 6.1.8.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.8.2 "type" Attribute Description

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

Table 6.1.8.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.8.3 "clrs" Attribute Description

The description of the "clrs" attribute for the "ClrSet" class is given in Table 6.1.8.3.

Table 6.1.8.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 A set of Clrs

6.1.8.4 "signedClrs" Attribute Description

The description of the "signedClrs" attribute for the "ClrSet" class is given in Table 6.1.8.4.

Table 6.1.8.4 Description of the "signedClrs" attribute for the "ClrSet" class.
Descriptor Definition
Attribute Name signedClrs
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A set of Clrs in JWS Compact Serialization format.

6.1.9 Criteria Class Description

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

UML diagram of the Criteria class.

Figure 6.1.9 - Criteria class definitions.

Table 6.1.9 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.9.1 "id" Attribute Description

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

Table 6.1.9.1 Description of the "id" attribute for the "Criteria" class.
Descriptor Definition
Attribute Name id
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The URI of a webpage that describes the criteria for the Achievement in a human-readable format.

6.1.9.2 "type" Attribute Description

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

Table 6.1.9.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.9.3 "narrative" Attribute Description

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

Table 6.1.9.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.9.4 "extensions" Attribute Description

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

Table 6.1.9.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 The Criteria object can be extended with additional properties.

6.1.10 CryptographicKey Class Description

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

UML diagram of the CryptographicKey class.

Figure 6.1.10 - CryptographicKey class definitions.

Table 6.1.10 Description of the "CryptographicKey" class.
Descriptor Definition
Class Name CryptographicKey
Class Type Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description 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.10.1 "id" Attribute Description

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

Table 6.1.10.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.10.2 "type" Attribute Description

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

Table 6.1.10.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.10.3 "owner" Attribute Description

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

Table 6.1.10.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 [1]
Description The identifier for the Profile that owns this PUBLIC KEY and the PRIVATE KEY used to sign the assertion or endorsement.

6.1.10.4 "publicKeyPem" Attribute Description

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

Table 6.1.10.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 [1]
Description The PUBLIC KEY in PEM format corresponding to the PRIVATE KEY used by the owner to sign the assertion or endorsement. The PEM key encoding is a widely-used method to express public keys, compatible with almost every Secure Sockets Layer library implementation.

6.1.10.5 "extensions" Attribute Description

The description of the "extensions" attribute for the "CryptographicKey" class is given in Table 6.1.10.5.

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

6.1.11 DiscoveryDocument Class Description

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

UML diagram of the DiscoveryDocument class.

Figure 6.1.11 - DiscoveryDocument class definitions.

Table 6.1.11 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.11.1 "authorizationUrl" Attribute Description

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

Table 6.1.11.1 Description of the "authorizationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name authorizationUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualifed URL to the provider's OAuth 2.0 Authorization endpoint.

6.1.11.2 "image" Attribute Description

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

Table 6.1.11.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.11.3 "name" Attribute Description

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

Table 6.1.11.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.11.4 "privacyPolicyUrl" Attribute Description

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

Table 6.1.11.4 Description of the "privacyPolicyUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name privacyPolicyUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's privacy policy.

6.1.11.5 "registrationUrl" Attribute Description

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

Table 6.1.11.5 Description of the "registrationUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name registrationUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Registration endpoint.

6.1.11.6 "scopesOffered" Attribute Description

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

Table 6.1.11.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.11.7 "termsOfServiceUrl" Attribute Description

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

Table 6.1.11.7 Description of the "termsOfServiceUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name termsOfServiceUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's terms of service.

6.1.11.8 "tokenUrl" Attribute Description

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

Table 6.1.11.8 Description of the "tokenUrl" attribute for the "DiscoveryDocument" class.
Descriptor Definition
Attribute Name tokenUrl
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description A fully qualified URL to the provider's OAuth 2.0 Token endpoint.

6.1.12 Endorsement Class Description

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

UML diagram of the Endorsement class.

Figure 6.1.12 - Endorsement class definitions.

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

6.1.12.1 "id" Attribute Description

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

Table 6.1.12.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 Globally unique IRI for the Endorsement. If this Endorsement will be verified using Hosted verification, the value should be the URL of the hosted version of the Endorsement.

6.1.12.2 "type" Attribute Description

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

Table 6.1.12.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 [0..1]
Description The JSON-LD type of this entity. Normally 'Endorsement'.

6.1.12.3 "claim" Attribute Description

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

Table 6.1.12.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 [1]
Description An entity, identified by an id and additional properties that the endorser would like to claim about that entity.

6.1.12.4 "issuedOn" Attribute Description

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

Table 6.1.12.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.12.5 "issuer" Attribute Description

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

Table 6.1.12.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.12.6 "revocationReason" Attribute Description

The description of the "revocationReason" attribute for the "Endorsement" class is given in Table 6.1.12.6.

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

6.1.12.7 "revoked" Attribute Description

The description of the "revoked" attribute for the "Endorsement" class is given in Table 6.1.12.7.

Table 6.1.12.7 Description of the "revoked" attribute for the "Endorsement" class.
Descriptor Definition
Attribute Name revoked
Data Type Boolean (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description If True the endorsement is revoked.

6.1.12.8 "verification" Attribute Description

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

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

6.1.12.9 "extensions" Attribute Description

The description of the "extensions" attribute for the "Endorsement" class is given in Table 6.1.12.9.

Table 6.1.12.9 Description of the "extensions" attribute for the "Endorsement" 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 object can be extended with additional properties.

6.1.13 EndorsementClaim Class Description

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

UML diagram of the EndorsementClaim class.

Figure 6.1.13 - EndorsementClaim class definitions.

Table 6.1.13 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.13.1 "id" Attribute Description

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

Table 6.1.13.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, Assertion, or CLR being endorsed.

6.1.13.2 "type" Attribute Description

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

Table 6.1.13.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.13.3 "endorsementComment" Attribute Description

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

Table 6.1.13.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 endorser's comment about the quality or fitness of the endorsed entity. Markdown allowed.

6.1.13.4 "extensions" Attribute Description

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

Table 6.1.13.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.14 EndorsementProfile Class Description

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

UML diagram of the EndorsementProfile class.

Figure 6.1.14 - EndorsementProfile class definitions.

Table 6.1.14 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.14.1 "id" Attribute Description

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

Table 6.1.14.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 Globally unique IRI for the Profile.

6.1.14.2 "type" Attribute Description

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

Table 6.1.14.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 [0..1]
Description The JSON-LD type of this entity. Normally 'Profile'. Unlike the Profile object, the EndorsementProfile object does not have an 'endorsements' property.

6.1.14.3 "additionalName" Attribute Description

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

Table 6.1.14.3 Description of the "additionalName" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name additionalName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An additional name for a person, can be used for a middle name.

6.1.14.4 "address" Attribute Description

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

Table 6.1.14.4 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.14.5 "description" Attribute Description

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

Table 6.1.14.5 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.14.6 "email" Attribute Description

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

Table 6.1.14.6 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.14.7 "familyName" Attribute Description

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

Table 6.1.14.7 Description of the "familyName" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name familyName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Family name of a person. In the U.S., the last name of a person.

6.1.14.8 "givenName" Attribute Description

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

Table 6.1.14.8 Description of the "givenName" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name givenName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Given name of a person. In the U.S., the first name of a person.

6.1.14.9 "identifiers" Attribute Description

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

Table 6.1.14.9 Description of the "identifiers" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name identifiers
Data Type SystemIdentifier
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A set of System Identifiers that represent other identifiers for this Profile.

6.1.14.10 "image" Attribute Description

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

Table 6.1.14.10 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.14.11 "name" Attribute Description

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

Table 6.1.14.11 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 [0..1]
Description The full name of the individual or organization.

6.1.14.12 "official" Attribute Description

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

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

6.1.14.13 "publicKey" Attribute Description

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

Table 6.1.14.13 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 CryptographicKey object used to verify signed Assertions, Clrs, and Endorsements.

6.1.14.14 "revocationList" Attribute Description

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

Table 6.1.14.14 Description of the "revocationList" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name revocationList
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The URL of the Revocation List document used for marking revocation of signed Assertions, CLRs, and Endorsements. Required for issuer profiles.

6.1.14.15 "sourcedId" Attribute Description

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

Table 6.1.14.15 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.14.16 "studentId" Attribute Description

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

Table 6.1.14.16 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.14.17 "telephone" Attribute Description

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

Table 6.1.14.17 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.14.18 "url" Attribute Description

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

Table 6.1.14.18 Description of the "url" attribute for the "EndorsementProfile" class.
Descriptor Definition
Attribute Name url
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
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 institution to the individual, or an web resource independently controlled by the individual.

6.1.14.19 "verification" Attribute Description

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

Table 6.1.14.19 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.14.20 "extensions" Attribute Description

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

Table 6.1.14.20 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 The EndorsementProfile object can be extended with additional properties.

6.1.15 Evidence Class Description

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

UML diagram of the Evidence class.

Figure 6.1.15 - Evidence class definitions.

Table 6.1.15 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.15.1 "id" Attribute Description

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

Table 6.1.15.1 Description of the "id" attribute for the "Evidence" class.
Descriptor Definition
Attribute Name id
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The URI of a webpage presenting evidence of achievement.

6.1.15.2 "type" Attribute Description

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

Table 6.1.15.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.15.3 "artifacts" Attribute Description

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

Table 6.1.15.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.15.4 "audience" Attribute Description

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

Table 6.1.15.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.15.5 "description" Attribute Description

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

Table 6.1.15.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.15.6 "genre" Attribute Description

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

Table 6.1.15.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.15.7 "name" Attribute Description

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

Table 6.1.15.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.15.8 "narrative" Attribute Description

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

Table 6.1.15.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.15.9 "extensions" Attribute Description

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

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

6.1.16 GetAssertionPayload Class Description

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

UML diagram of the GetAssertionPayload class.

Figure 6.1.16 - GetAssertionPayload class definitions.

Table 6.1.16 Description of the "GetAssertionPayload" class.
Descriptor Definition
Class Name GetAssertionPayload
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description Payload for the 'getAssertion' operation.

6.1.16.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetAssertionPayload" class is given in Table 6.1.16.1.

Table 6.1.16.1 Description of the "@context" attribute for the "GetAssertionPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

6.1.17 GetClrPayload Class Description

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

UML diagram of the GetClrPayload class.

Figure 6.1.17 - GetClrPayload class definitions.

Table 6.1.17 Description of the "GetClrPayload" class.
Descriptor Definition
Class Name GetClrPayload
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description Payload for the 'getClr' operation.

6.1.17.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetClrPayload" class is given in Table 6.1.17.1.

Table 6.1.17.1 Description of the "@context" attribute for the "GetClrPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

6.1.18 GetCryptographicKeyPayload Class Description

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

UML diagram of the GetCryptographicKeyPayload class.

Figure 6.1.18 - GetCryptographicKeyPayload class definitions.

Table 6.1.18 Description of the "GetCryptographicKeyPayload" class.
Descriptor Definition
Class Name GetCryptographicKeyPayload
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description Payload for the 'getKey' operation.

6.1.18.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetCryptographicKeyPayload" class is given in Table 6.1.18.1.

Table 6.1.18.1 Description of the "@context" attribute for the "GetCryptographicKeyPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

6.1.19 GetEndorsementPayload Class Description

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

UML diagram of the GetEndorsementPayload class.

Figure 6.1.19 - GetEndorsementPayload class definitions.

Table 6.1.19 Description of the "GetEndorsementPayload" class.
Descriptor Definition
Class Name GetEndorsementPayload
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description Payload for the 'getEndorsement' operation.

6.1.19.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetEndorsementPayload" class is given in Table 6.1.19.1.

Table 6.1.19.1 Description of the "@context" attribute for the "GetEndorsementPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

6.1.20 GetRevocationListPayload Class Description

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

UML diagram of the GetRevocationListPayload class.

Figure 6.1.20 - GetRevocationListPayload class definitions.

Table 6.1.20 Description of the "GetRevocationListPayload" class.
Descriptor Definition
Class Name GetRevocationListPayload
Class Type Container [ Unordered ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are: The set of directly inherited children attributes are:
Description Payload for the 'getRevocationList' operation.

6.1.20.1 "@context" Attribute Description

The description of the "@context" attribute for the "GetRevocationListPayload" class is given in Table 6.1.20.1.

Table 6.1.20.1 Description of the "@context" attribute for the "GetRevocationListPayload" class.
Descriptor Definition
Attribute Name @context
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD @context.

6.1.21 Identity Class Description

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

UML diagram of the Identity class.

Figure 6.1.21 - Identity class definitions.

Table 6.1.21 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.21.1 "id" Attribute Description

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

Table 6.1.21.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.21.2 "type" Attribute Description

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

Table 6.1.21.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 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, 'id' indicates that the identity property value is the id of the recipient's profile.

6.1.21.3 "identity" Attribute Description

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

Table 6.1.21.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.21.4 "hashed" Attribute Description

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

Table 6.1.21.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.21.5 "salt" Attribute Description

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

Table 6.1.21.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.21.6 "extensions" Attribute Description

The description of the "extensions" attribute for the "Identity" class is given in Table 6.1.21.6.

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

6.1.22 PostClrPayload Class Description

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

UML diagram of the PostClrPayload class.

Figure 6.1.22 - PostClrPayload class definitions.

Table 6.1.22 Description of the "PostClrPayload" class.
Descriptor Definition
Class Name PostClrPayload
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 Payload for the 'postClr' operation. Only one format (signed or unsigned) is allowed.

6.1.22.1 "clr" Attribute Description

The description of the "clr" attribute for the "PostClrPayload" class is given in Table 6.1.22.1.

Table 6.1.22.1 Description of the "clr" attribute for the "PostClrPayload" class.
Descriptor Definition
Attribute Name clr
Data Type Clr
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The Clr if not signed.

6.1.22.2 "signedClr" Attribute Description

The description of the "signedClr" attribute for the "PostClrPayload" class is given in Table 6.1.22.2.

Table 6.1.22.2 Description of the "signedClr" attribute for the "PostClrPayload" class.
Descriptor Definition
Attribute Name signedClr
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The signed Clr in JWS Compact Serialization format.

6.1.23 Profile Class Description

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

UML diagram of the Profile class.

Figure 6.1.23 - Profile class definitions.

Table 6.1.23 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.23.1 "id" Attribute Description

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

Table 6.1.23.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 Globally unique IRI for the Learner, Publisher, and Issuer Profile. If the IRI is a URL it must resolve to a Profile resource. The Assertion Recipient is identified by reference to the Learner's Profile via the id, email, url, telephone, sourcedId, or studentId property.

6.1.23.2 "type" Attribute Description

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

Table 6.1.23.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.23.3 "address" Attribute Description

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

Table 6.1.23.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.23.4 "additionalName" Attribute Description

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

Table 6.1.23.4 Description of the "additionalName" attribute for the "Profile" class.
Descriptor Definition
Attribute Name additionalName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description An additional name for a person, can be used for a middle name.

6.1.23.5 "birthDate" Attribute Description

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

Table 6.1.23.5 Description of the "birthDate" attribute for the "Profile" class.
Descriptor Definition
Attribute Name birthDate
Data Type Date (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Birthdate of the person.

6.1.23.6 "description" Attribute Description

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

Table 6.1.23.6 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.23.7 "email" Attribute Description

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

Table 6.1.23.7 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.23.8 "endorsements" Attribute Description

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

Table 6.1.23.8 Description of the "endorsements" attribute for the "Profile" class.
Descriptor Definition
Attribute Name endorsements
Data Type Endorsement
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.23.9 "familyName" Attribute Description

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

Table 6.1.23.9 Description of the "familyName" attribute for the "Profile" class.
Descriptor Definition
Attribute Name familyName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Family name of a person. In the U.S., the last name of a person.

6.1.23.10 "givenName" Attribute Description

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

Table 6.1.23.10 Description of the "givenName" attribute for the "Profile" class.
Descriptor Definition
Attribute Name givenName
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description Given name of a person. In the U.S., the first name of a person.

6.1.23.11 "identifiers" Attribute Description

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

Table 6.1.23.11 Description of the "identifiers" attribute for the "Profile" class.
Descriptor Definition
Attribute Name identifiers
Data Type SystemIdentifier
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description A set of System Identifiers that represent other identifiers for this Profile.

6.1.23.12 "image" Attribute Description

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

Table 6.1.23.12 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.23.13 "name" Attribute Description

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

Table 6.1.23.13 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 [0..1]
Description The full name of the individual or organization.

6.1.23.14 "official" Attribute Description

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

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

6.1.23.15 "parentOrg" Attribute Description

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

Table 6.1.23.15 Description of the "parentOrg" attribute for the "Profile" class.
Descriptor Definition
Attribute Name parentOrg
Data Type Profile
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0..1]
Description The parent organization of the person or organization represented by this organization.

6.1.23.16 "publicKey" Attribute Description

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

Table 6.1.23.16 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 CryptographicKey object used to verify signed Assertions, Clrs, and Endorsements.

6.1.23.17 "revocationList" Attribute Description

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

Table 6.1.23.17 Description of the "revocationList" attribute for the "Profile" class.
Descriptor Definition
Attribute Name revocationList
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The URL of the Revocation List document used for marking revocation of signed Assertions, CLRs, and Endorsements. Required for issuer profiles.

6.1.23.18 "signedEndorsements" Attribute Description

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

Table 6.1.23.18 Description of the "signedEndorsements" attribute for the "Profile" class.
Descriptor Definition
Attribute Name signedEndorsements
Data Type CompactJws
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Signed endorsements in JWS Compact Serialization format.

6.1.23.19 "sourcedId" Attribute Description

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

Table 6.1.23.19 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 or organization's unique 'sourcedId' value, which is used for providing interoperability with other identity systems.

6.1.23.20 "studentId" Attribute Description

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

Table 6.1.23.20 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.23.21 "telephone" Attribute Description

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

Table 6.1.23.21 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.23.22 "url" Attribute Description

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

Table 6.1.23.22 Description of the "url" attribute for the "Profile" class.
Descriptor Definition
Attribute Name url
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
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 institution to the individual, or an web resource independently controlled by the individual.

6.1.23.23 "verification" Attribute Description

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

Table 6.1.23.23 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 Issuer and publisher profiles should have a verification property with a type of 'Verification'. Instructions for how to verify assertions and endorsements issued by the individual or organization represented by this profile.

6.1.23.24 "extensions" Attribute Description

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

Table 6.1.23.24 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.24 Result Class Description

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

UML diagram of the Result class.

Figure 6.1.24 - Result class definitions.

Table 6.1.24 Description of the "Result" class.
Descriptor Definition
Class Name Result
Class Type Container [ 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.24.1 "id" Attribute Description

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

Table 6.1.24.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.24.2 "type" Attribute Description

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

Table 6.1.24.2 Description of the "type" attribute for the "Result" 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 'Result'.

6.1.24.3 "achievedLevel" Attribute Description

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

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

6.1.24.4 "alignments" Attribute Description

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

Table 6.1.24.4 Description of the "alignments" attribute for the "Result" class.
Descriptor Definition
Attribute Name alignments
Data Type Alignment
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The alignments between this result and nodes in external frameworks. This set of alignments are in addition to the set of alignments defined in the corresponding ResultDescription object.

6.1.24.5 "resultDescription" Attribute Description

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

Table 6.1.24.5 Description of the "resultDescription" attribute for the "Result" class.
Descriptor Definition
Attribute Name resultDescription
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The id of the ResultDescription describing this result.

6.1.24.6 "status" Attribute Description

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

Table 6.1.24.6 Description of the "status" attribute for the "Result" class.
Descriptor Definition
Attribute Name status
Data Type ResultStatusType
Value Space Enumerated value set of: { Completed | Enrolled | Failed | InProgress | OnHold | Withdrew }
Scope Local ("-")
Multiplicity [0..1]
Description The status of the achievement. Required if 'ResultType' is 'Status'.

6.1.24.7 "value" Attribute Description

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

Table 6.1.24.7 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 [0..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.24.8 "extensions" Attribute Description

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

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

6.1.25 ResultDescription Class Description

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

UML diagram of the ResultDescription class.

Figure 6.1.25 - ResultDescription class definitions.

Table 6.1.25 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.25.1 "id" Attribute Description

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

Table 6.1.25.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 [1]
Description Unique IRI for the ResultDescription.

6.1.25.2 "type" Attribute Description

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

Table 6.1.25.2 Description of the "type" attribute for the "ResultDescription" 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 'ResultDescription'.

6.1.25.3 "alignments" Attribute Description

The description of the "alignments" attribute for the "ResultDescription" class is given in Table 6.1.25.3.

Table 6.1.25.3 Description of the "alignments" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name alignments
Data Type Alignment
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The alignments between this result description and nodes in external frameworks.

6.1.25.4 "allowedValues" Attribute Description

The description of the "allowedValues" attribute for the "ResultDescription" class is given in Table 6.1.25.4.

Table 6.1.25.4 Description of the "allowedValues" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name allowedValues
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The ordered from 'low' to 'high' set of allowed values.

6.1.25.5 "name" Attribute Description

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

Table 6.1.25.5 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 [1]
Description The name of the result.

6.1.25.6 "requiredLevel" Attribute Description

The description of the "requiredLevel" attribute for the "ResultDescription" class is given in Table 6.1.25.6.

Table 6.1.25.6 Description of the "requiredLevel" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name requiredLevel
Data Type IRI
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The id of the RubricCriterionLevel required to 'pass'.

6.1.25.7 "requiredValue" Attribute Description

The description of the "requiredValue" attribute for the "ResultDescription" class is given in Table 6.1.25.7.

Table 6.1.25.7 Description of the "requiredValue" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name requiredValue
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The value from allowedValues or within the range of valueMin to valueMax required to 'pass'.

6.1.25.8 "resultType" Attribute Description

The description of the "resultType" attribute for the "ResultDescription" class is given in Table 6.1.25.8.

Table 6.1.25.8 Description of the "resultType" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name resultType
Data Type ExtensibleResultType
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The type of result. This is an extensible enumerated vocabulary.

6.1.25.9 "rubricCriterionLevels" Attribute Description

The description of the "rubricCriterionLevels" attribute for the "ResultDescription" class is given in Table 6.1.25.9.

Table 6.1.25.9 Description of the "rubricCriterionLevels" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name rubricCriterionLevels
Data Type RubricCriterionLevel
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The ordered from 'low' to 'high' set of rubric criterion levels that may be asserted.

6.1.25.10 "valueMax" Attribute Description

The description of the "valueMax" attribute for the "ResultDescription" class is given in Table 6.1.25.10.

Table 6.1.25.10 Description of the "valueMax" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name valueMax
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.25.11 "valueMin" Attribute Description

The description of the "valueMin" attribute for the "ResultDescription" class is given in Table 6.1.25.11.

Table 6.1.25.11 Description of the "valueMin" attribute for the "ResultDescription" class.
Descriptor Definition
Attribute Name valueMin
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.25.12 "extensions" Attribute Description

The description of the "extensions" attribute for the "ResultDescription" class is given in Table 6.1.25.12.

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

6.1.26 RevocationList Class Description

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

UML diagram of the RevocationList class.

Figure 6.1.26 - RevocationList class definitions.

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

6.1.26.1 "id" Attribute Description

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

Table 6.1.26.1 Description of the "id" attribute for the "RevocationList" class.
Descriptor Definition
Attribute Name id
Data Type AnyURI (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description The URI of the RevocationList document. Used during Signed verification.

6.1.26.2 "type" Attribute Description

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

Table 6.1.26.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.26.3 "issuer" Attribute Description

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

Table 6.1.26.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 [1]
Description The id of the Issuer.

6.1.26.4 "revokedAssertions" Attribute Description

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

Table 6.1.26.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 ids of revoked Assertions, Clrs, and Endorsements.

6.1.27 RubricCriterionLevel Class Description

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

UML diagram of the RubricCriterionLevel class.

Figure 6.1.27 - RubricCriterionLevel class definitions.

Table 6.1.27 Description of the "RubricCriterionLevel" class.
Descriptor Definition
Class Name RubricCriterionLevel
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 rubric criterion level.

6.1.27.1 "id" Attribute Description

The description of the "id" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.1.

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

6.1.27.2 "type" Attribute Description

The description of the "type" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.2.

Table 6.1.27.2 Description of the "type" attribute for the "RubricCriterionLevel" class.
Descriptor Definition
Attribute Name type
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The JSON-LD type of this object. Normally 'RubricCriterionLevel'.

6.1.27.3 "alignments" Attribute Description

The description of the "alignments" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.3.

Table 6.1.27.3 Description of the "alignments" attribute for the "RubricCriterionLevel" class.
Descriptor Definition
Attribute Name alignments
Data Type Alignment
Value Space Container [ Unordered ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The alignments between this rubric criterion level and nodes in external frameworks.

6.1.27.4 "description" Attribute Description

The description of the "description" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.4.

Table 6.1.27.4 Description of the "description" attribute for the "RubricCriterionLevel" 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 rubric criterion level.

6.1.27.5 "level" Attribute Description

The description of the "level" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.5.

Table 6.1.27.5 Description of the "level" attribute for the "RubricCriterionLevel" class.
Descriptor Definition
Attribute Name level
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The rubric performance level in terms of success.

6.1.27.6 "name" Attribute Description

The description of the "name" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.6.

Table 6.1.27.6 Description of the "name" attribute for the "RubricCriterionLevel" 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 RubricCriterionLevel.

6.1.27.7 "points" Attribute Description

The description of the "points" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.7.

Table 6.1.27.7 Description of the "points" attribute for the "RubricCriterionLevel" class.
Descriptor Definition
Attribute Name points
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [0..1]
Description The number of grade points corresponding to a specific rubric level.

6.1.27.8 "extensions" Attribute Description

The description of the "extensions" attribute for the "RubricCriterionLevel" class is given in Table 6.1.27.8.

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

6.1.28 SystemIdentifier Class Description

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

UML diagram of the SystemIdentifier class.

Figure 6.1.28 - SystemIdentifier class definitions.

Table 6.1.28 Description of the "SystemIdentifier" class.
Descriptor Definition
Class Name SystemIdentifier
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 SystemIdentifier represents a single, system-local identifier for an Achievement.

6.1.28.1 "type" Attribute Description

The description of the "type" attribute for the "SystemIdentifier" class is given in Table 6.1.28.1.

Table 6.1.28.1 Description of the "type" attribute for the "SystemIdentifier" 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 'SystemIdentifier'.

6.1.28.2 "identifier" Attribute Description

The description of the "identifier" attribute for the "SystemIdentifier" class is given in Table 6.1.28.2.

Table 6.1.28.2 Description of the "identifier" attribute for the "SystemIdentifier" class.
Descriptor Definition
Attribute Name identifier
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Scope Local ("-")
Multiplicity [1]
Description Opaque string representing the system identifier value.

6.1.28.3 "identifierType" Attribute Description

The description of the "identifierType" attribute for the "SystemIdentifier" class is given in Table 6.1.28.3.

Table 6.1.28.3 Description of the "identifierType" attribute for the "SystemIdentifier" class.
Descriptor Definition
Attribute Name identifierType
Data Type ExtensibleSystemIdentifierType
Value Space Container [ Union ]
Scope Local ("-")
Multiplicity [1]
Description The identifier type. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. For example, the NCES School ID might be 'ext:NcesSchoolId'. Extended vocabulary terms must start with 'ext:' followed by any valid JSON string value. Please see the latest version of the CLR Implementation Guide for suggested values.

6.1.28.4 "extensions" Attribute Description

The description of the "extensions" attribute for the "SystemIdentifier" class is given in Table 6.1.28.4.

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

6.1.29 Verification Class Description

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

UML diagram of the Verification class.

Figure 6.1.29 - Verification class definitions.

Table 6.1.29 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 Information a reviewer can use to verify an Assertion, Clr, or Endorsement.

6.1.29.1 "id" Attribute Description

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

Table 6.1.29.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.29.2 "type" Attribute Description

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

Table 6.1.29.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 | Signed | Verification }
Scope Local ("-")
Multiplicity [1]
Description The JSON-LD type of this object. The strongly typed value indicates the verification method.

6.1.29.3 "allowedOrigins" Attribute Description

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

Table 6.1.29.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.29.4 "creator" Attribute Description

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

Table 6.1.29.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 (HTTP) id of the key used to sign the Assertion, CLR, or Endorsement. If not present, verifiers will check the public key declared in the referenced issuer Profile. If a key is declared here, it must be authorized in the issuer Profile as well. creator is expected to be the dereferencable URI of a document that describes a CryptographicKey.

6.1.29.5 "startsWith" Attribute Description

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

Table 6.1.29.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, Clrs, and Endorsements must have an id within this scope. Multiple values allowed, and Assertions, Clrs, and Endorsements will be considered valid if their id starts with one of these values.

6.1.29.6 "verificationProperty" Attribute Description

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

Table 6.1.29.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.29.7 "extensions" Attribute Description

The description of the "extensions" attribute for the "Verification" class is given in Table 6.1.29.7.

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

6.1.30 imsx_CodeMinor Class Description

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

UML diagram of the imsx_CodeMinor class.

Figure 6.1.30 - imsx_CodeMinor class definitions.

Table 6.1.30 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.30.1 "imsx_codeMinorField" Attribute Description

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

Table 6.1.30.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.31 imsx_CodeMinorField Class Description

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

UML diagram of the imsx_CodeMinorField class.

Figure 6.1.31 - imsx_CodeMinorField class definitions.

Table 6.1.31 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.31.1 "imsx_codeMinorFieldName" Attribute Description

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

Table 6.1.31.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 This should contain the identity of the system that has produced the code minor status code report.

6.1.31.2 "imsx_codeMinorFieldValue" Attribute Description

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

Table 6.1.31.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 | misdirected_request | not_acceptable | not_allowed | not_modified | server_busy | unauthorizedrequest | unknown }
Scope Local ("-")
Multiplicity [1]
Description The code minor status code (this is a value from the corresponding enumerated vocabulary).

6.1.32 imsx_StatusInfo Class Description

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

UML diagram of the imsx_StatusInfo class.

Figure 6.1.32 - imsx_StatusInfo class definitions.

Table 6.1.32 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.32.1 "imsx_codeMajor" Attribute Description

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

Table 6.1.32.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.32.2 "imsx_severity" Attribute Description

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

Table 6.1.32.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.32.3 "imsx_description" Attribute Description

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

Table 6.1.32.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.32.4 "imsx_codeMinor" Attribute Description

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

Table 6.1.32.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 CompactJws Class Description

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

UML diagram of the CompactJws class.

Figure 6.2.1 - CompactJws class definitions.

Table 6.2.1 Description of the "CompactJws" class.
Descriptor Definition
Class Name CompactJws
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 a JSON Web Signature (JWS) in Compact format.

6.2.1.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "CompactJws" class is given in Table 6.2.1.

Table 6.2.1 Description of the "pattern" attribute for the "CompactJws" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A3.3.
Default = "^([A-Za-z0-9-_]{4,})\.([-A-Za-z0-9-_]{4,})\.([A-Za-z0-9-_]{4,})$".
Scope Local ("-")
Multiplicity [1]
Description The regular expression for a Compact JWS. The regular expression for a Compact JWS.

6.2.2 EnumExtString Class Description

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

UML diagram of the EnumExtString class.

Figure 6.2.2 - EnumExtString class definitions.

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

6.2.2.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "EnumExtString" class is given in Table 6.2.2.

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

6.2.3 IRI Class Description

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

UML diagram of the IRI class.

Figure 6.2.3 - IRI class definitions.

Table 6.2.3 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.4 Markdown Class Description

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

UML diagram of the Markdown class.

Figure 6.2.4 - Markdown class definitions.

Table 6.2.4 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.5 UUID Class Description

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

UML diagram of the UUID class.

Figure 6.2.5 - UUID class definitions.

Table 6.2.5 Description of the "UUID" class.
Descriptor Definition
Class Name UUID
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The data-type for establishing a 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 [1]
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.
Assessment Represents the result of a skill, competency, or outcome-based summative assessment.
Assignment Represents the result of a curricular, or co-curricular assignment or exam.
Award Represents an award.
Badge Represents a generic badge. Set the type to 'BadgeClass' and reference the IMS Open Badges @context file if the achievement is an IMS Open Badges achievement.
Certificate Represents a credit bearing certificate such as an undergraduate certificate in autism.
Certification Represents a non-credit certification such as a CompTIA certification in IT.
Co-Curricular Represents a co-curricular activity.
CommunityService Represents community service.
Competency Represents a competency.
Course Represents a course completion.
Degree Represents a degree.
Diploma Represents a diploma such as a high school diploma in the United States.
Fieldwork Represents practical activities that are done away school, college, or place of work. Includes internships and practicums.
License Represents a license.
Membership Represents membership.

6.3.2 AlignmentTargetType Vocabulary Description

The type of the alignment target node.The data model for the "AlignmentTargetType" enumerated class is shown in Figure 6.3.2 and the accompanying vocabulary definition in Table 6.3.2.

UML diagram of the AlignmentTargetType class.

Figure 6.3.2 - AlignmentTargetType class definitions.

Table 6.3.2 Description of the "AlignmentTargetType" enumerated vocabulary terms.
Term Definition
CFItem An alignment to a CASE Framework Item.
CFRubric An alignment to a CASE Framework Rubric.
CFRubricCriterion An alignment to a CASE Framework Rubric Criterion.
CFRubricCriterionLevel An alignment to a CASE Framework Rubric Criterion Level.
CTDL An alignment to a Credential Engine Item.

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.
isParentOf To represent the structural relationship in a taxonomy between parent and child. The source is a parent 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 ResultStatusType Vocabulary Description

Defined vocabulary to convey the status of an achievement.The data model for the "ResultStatusType" enumerated class is shown in Figure 6.3.4 and the accompanying vocabulary definition in Table 6.3.4.

UML diagram of the ResultStatusType class.

Figure 6.3.4 - ResultStatusType class definitions.

Table 6.3.4 Description of the "ResultStatusType" enumerated vocabulary terms.
Term Definition
Completed The learner has successfully completed the achievement. This is the default status if no status result is included.
Enrolled The learner is enrolled in the activity described by the achievement.
Failed The learner has unsuccessfully completed the achievement.
InProgress The learner has started progress in the activity described by the achievement.
OnHold The learner has completed the activity described by the achievement, but successful completion has not been awarded, typically for administrative reasons.
Withdrew The learner withdrew from the activity described by the achievement before completion.

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.
RubricCriterion The result is from a rubric criterion.
RubricCriterionLevel The result is a rubric criterion level.
RubricScore The result represents a rubric score with both a name and a numeric value.
ScaledScore The result is a scaled score.
Status The result conveys the status of the achievement.

6.3.6 SystemIdentifierType Vocabulary Description

The type of the 'identifier' property of SystemIdentifier.The data model for the "SystemIdentifierType" enumerated class is shown in Figure 6.3.6 and the accompanying vocabulary definition in Table 6.3.6.

UML diagram of the SystemIdentifierType class.

Figure 6.3.6 - SystemIdentifierType class definitions.

Table 6.3.6 Description of the "SystemIdentifierType" enumerated vocabulary terms.
Term Definition
LisSourcedId The IMS LIS sourcedId for the achievement represented by the Achievement instance or the IMS LIS sourcedId for the person or organization represented by the Profile instance.
OneRosterSourcedId The IMS OneRoster sourcedId for the achievement represented by the Achievement instance or the IMS OneRoster sourcedId for the person or organization represented by the Profile instance.

6.3.7 VerificationType Vocabulary Description

The type of verification method. Hosted is synonomous with HostedAssertion. Signed is synonomous with SignedAssertion.The data model for the "VerificationType" enumerated class is shown in Figure 6.3.7 and the accompanying vocabulary definition in Table 6.3.7.

UML diagram of the VerificationType class.

Figure 6.3.7 - VerificationType class definitions.

Table 6.3.7 Description of the "VerificationType" enumerated vocabulary terms.
Term Definition
Hosted The Assertion or Endorsement should be verified using the object's property identified by the Verification's 'verificationProperty'.
Signed The Assertion or Endorsement is cryptographically signed. The signature should be verified using the key identified by the Verification's 'creator' property.
Verification Issuer and publisher profiles should have a verification property with a type of 'Verification'.

6.3.8 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.8 and the accompanying vocabulary definition in Table 6.3.8.

UML diagram of the imsx_CodeMajorEnum class.

Figure 6.3.8 - imsx_CodeMajorEnum class definitions.

Table 6.3.8 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.9 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.9 and the accompanying vocabulary definition in Table 6.3.9.

UML diagram of the imsx_CodeMinorValueEnum class.

Figure 6.3.9 - imsx_CodeMinorValueEnum class definitions.

Table 6.3.9 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'.
misdirected_request This is used to indicate that the request was made with a protocol that is not supported by the server. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '421'.
not_acceptable This is used to indicate that the server cannot provide a response with a Content-Type that matches any of the content types in the request Accept header. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '406'.
not_allowed This is used to indicate that the server does not allow the HTTP method. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '405'.
not_modified This is used to indicate that the server did not modify the resource. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '304'.
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'.
unknown Any other error occurred. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code corresponding to the error.

6.3.10 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.10 and the accompanying vocabulary definition in Table 6.3.10.

UML diagram of the imsx_SeverityEnum class.

Figure 6.3.10 - imsx_SeverityEnum class definitions.

Table 6.3.10 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.

6.4. Union Class Descriptions

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

6.4.1 ExtensibleAchievementType Class Description

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

UML diagram of the ExtensibleAchievementType class.

Figure 6.4.1 - ExtensibleAchievementType class definitions.

Table 6.4.1 Description of the "ExtensibleAchievementType" class.
Descriptor Definition
Class Name ExtensibleAchievementType
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description The type of achievement. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

6.4.2 ExtensibleAlignmentTargetType Class Description

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

UML diagram of the ExtensibleAlignmentTargetType class.

Figure 6.4.2 - ExtensibleAlignmentTargetType class definitions.

Table 6.4.2 Description of the "ExtensibleAlignmentTargetType" class.
Descriptor Definition
Class Name ExtensibleAlignmentTargetType
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description The type of the alignment target node. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

6.4.3 ExtensibleResultType Class Description

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

UML diagram of the ExtensibleResultType class.

Figure 6.4.3 - ExtensibleResultType class definitions.

Table 6.4.3 Description of the "ExtensibleResultType" class.
Descriptor Definition
Class Name ExtensibleResultType
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description The type of result. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

6.4.4 ExtensibleSystemIdentifierType Class Description

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

UML diagram of the ExtensibleSystemIdentifierType class.

Figure 6.4.4 - ExtensibleSystemIdentifierType class definitions.

Table 6.4.4 Description of the "ExtensibleSystemIdentifierType" class.
Descriptor Definition
Class Name ExtensibleSystemIdentifierType
Class Type Container [ Union ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of directly inherited children attributes are:
Description The type of the 'identifier' property of SystemIdentifier. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. For example, the NCES School ID might be 'ext:NcesSchoolId'. Extended vocabulary terms must start with 'ext:' followed by any valid JSON string value. Please see the latest version of the CLR Implementation Guide for suggested values.

toc | top

7. Extending and Profiling the Standard

7.1. Extending the Standard

Proprietary extensions of the standard 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 Standard

This standard 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 Standard REST/JSON Binding Version 1.0, Jeff Bohrer (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., January 14, 2021, https://www.imsglobal.org/spec/clr/v1p0/RESTBinding/clr_RESTBind.html.
[CLR, 19b] IMS Comprehensive Learner Record Standard v1.0: Conformance and Certification Guide, Jeff Bohrer (IMS Global), Dereck Haskins (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., February 5, 2021, https://www.imsglobal.org/spec/clr/v1p0/cert/.
[CLR, 19c] IMS Comprehensive Learner Record Standard v1.0: Implementation Guide, Jeff Bohrer (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., January 14, 2021, https://www.imsglobal.org/spec/clr/v1p0/impl/.
[CLR, 19d] IMS Comprehensive Learner Record Standard Information Model Version 1.0, Jeff Bohrer (IMS Global), Andy Miller (IMS Global), IMS Global Learning Consortium, Inc., January 14, 2021, https://www.imsglobal.org/spec/clr/v1p0/InfoModel/clr_InfoModel.html.
[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 synchronous or asynchronous service model description is enclosed in a UML Package that has the stereotype of « serviceModel » under which is the name of the service being described. A service must have at least one Interface (the breakdown of the service into the component transactions is a design decision).
Interface Class Each interface description is enclosed in a UML Package that has the stereotype of « Interface » under which is the name of the interface being described. An interface is a collection of operations that support a common set of transaction objectives. An interface must have at least one operation. An Interface class has no attributes.
Operation Description The behaviors provided by an interface are defined by the set of operations. Each operation must have a unique name and is accompanied by the set of parameters that are sent to the service (in) and those returned by the service (out). An operation can also have a formal return parameter whose form and usage depends upon the actual binding realisation. The description may also include a stereotype for the identification of the nature operation e.g. read, create, etc.

A1.2 Operation Descriptions

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

Table A1.2 The key to the operation description tables.
Descriptor Definition
Name The name given to the operation being described. In the case of an interface, by definition, every operation has the scope value of global denoted by the "+" symbol before the name.
Stereotype Before the name of the operation there may be a stereotype classifier. This is used to provide information about the nature of the behavior of the operation. The permitted set of stereotype values and their meaning are:
  • « create » - indicates that a request is being made to create a new object/resource where the requester provides the associated unique identifier;
  • « createbp » - indicates that a request is being made to create a new object/resource where the responder provides the associated unique identifier;
  • « read » - indicates that a request is being made to read an existing object/resource;
  • « update » - indicates that a request is being made to update an existing object/resource i.e. an additive write;
  • « delete » - indicates that a request is being made to delete an existing object/resource;
  • « replace » - indicates that a request is being made to replace an existing object/resource i.e. a destructive write;
  • « query » - indicates that a request is being made to search for objects/resources according to a defined set of search criteria;
  • « publish » - indicates that a request is being made by a publisher in a publish and subscribe binding;
  • « subscribe » - indicates that a request is being made by a subscriber in a publish and subscribe binding.
Return Function Parameter The formal return parameter for the operation/method returned for the transaction request (the form in which this information is provided depends on the realisation of the binding). The description includes the name of the parameter and the data-type in the form "name:data-type" pair. The name/data-type provides a link to the associated interface data-type description in The Interface 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.
Link Data Lists the set of attributes for this class that are used to provide links to other data objects in the data model. Many types of link references are available. This row is ONLY shown when the class contains at least one link data definition.
Description Contains descriptions relating to the class and its properties and relationships.

toc | top

A3.3 Attribute and Characteristic Descriptions

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

Table A3.3 The key to the descriptions of the data attribute/characteristic tables.
Category Definition
Attribute Name or Characteristic Name The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic.
Data Type This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition elsewhere in this document);
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension and the form of that extension is dependent on the type of binding);
    • AnyURI - the AnyURI data-type (absolute or relative URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the [ISO 8601] format);
    • DateTime - the date/time data-type (using the [ISO 8601] format);
    • Decimal - the decimal data-type (a variable precision number that is either positive or negative);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Duration - the duration data-type (using the [ISO 8601] format)
    • Empty - the associated instance must be empty i.e. no child attributes;
    • Float - the float data-type (single precision floating point number - 32bit);
    • ID - the unique identifier data-type (the scope is constrained to the instance file);
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type with a 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.
Link Data Contains the description of the link data definition. A link to the corresponding detailed link data description is supplied. This row is ONLY shown when the attribute/characteristice is a link data definition.

toc | top

A3.4 Enumerated Vocabulary Descriptions

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

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

toc | top

A3.5 External Vocabulary Descriptions

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

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

toc | top

A3.6 Import Class Descriptions

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

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

A3.7 Link Data Descriptions

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

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

toc | top

Appendix B Service Status Codes

This Section is NORMATIVE

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

B1 Definition of the Status Codes

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

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

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

B1.1 Definition of the "CodeMajor" Values

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

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

B1.2 Definition of the "Severity" Values

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

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

B1.3 Definition of the "CodeMinor" Values

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

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

toc | top

About this Document

Title: IMS Comprehensive Learner Record Standard Information Model v1.0
Editors: Andy Miller, IMS Global
Jeff Bohrer, IMS Global

Co-chairs: Chris Houston, Capella University and eLumen
Greg Nadeau, Public Consulting Group
Ozgur Yogurtcu, AEFIS

Version: 1.0
Version Date: January 14, 2021
Status: IMS Final Release
Summary: The IMS Comprehensive Learner Record Standard 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 Standard.

Revision Information: Final release of the Comprehensive Learner Record Standard v1.0.
Purpose: For adoption and implementation of comprehensive learner records in a standardized, machine-readable format.
Document Location: https://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 Learning Objects
Steve Gance Washington State Board for Community and Technical Colleges
Matthew Hailstone Brigham Young University
Chris Houston Capella University and eLumen
Alex Hripak Credly
Tracy Korsmo North Dakota Information Technology
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
David Ward Public Consulting Group
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.
1.0 May 21, 2020 Second release of the Comprehensive Learner Record IMS Candidate Final specification.
1.0 January 14, 2021 Final release of Comprehensive Learner Record Standard v1.0.

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 Standard Information Model v1.0

Date: January 14, 2021

toc | top