Advanced Distributed Learning Initiative Logo

The Advanced Distributed Learning Initiative

How they differ, how they are similar, and how organizations may use them

Since the release of the cmi5 specification, questions have arisen regarding how it relates to the ADL Experience API (xAPI) Sharable Content Object Reference Model (SCORM) Profile.

On the surface they appear to be competing specs: both use the xAPI to encode e-learning data; both use the xAPI to announce the start and end of a piece of content; and both identify specific statements to indicate the status of the learner's activity in the content.

However, the intent of the two specs and the use cases they address are different. The following investigates these two specs, how they differ, how they are similar, and how organizations may use them.


cmi5 is the next version of the Aviation Industry Computer-Based Training Committee (AICC) Computer-Managed Instruction (CMI) specification.

It is an update to the requirements of both the Learning Management System (LMS) and content. cmi5 leverages the xAPI specification to modernize the communication of the content, Assignable Units (AUs), and the LMS. In addition to modernizing the communication model, cmi5 defines a new course structure for packaging and describing the contents of a course, and the process of launching and initializing the content.

In short, cmi5 is a complete revision to the CMI specification.

xAPI SCORM® Profile

The xAPI SCORM® Profile is a spec describing how to represent SCORM® runtime activity data and attempt behaviors using the xAPI.  Additionally, it can track non web-based content in a way that can be understood by SCORM® systems.

A Comparison of the Two

The following table compares the features defined in both specs.

cmi5 xAPI SCORM® Profile
Packaging yes no
Launch yes no (just recommends minimal configuration values)
Runtime no yes
SCORM® data yes yes
Import yes no

A note on launch

The previous table shows the xAPI SCORM® Profile as just recommending minimal values for launch. The xAPI SCORM® Profile focuses less on the learning architecture and more on identifying the likelihood that content will need to report xAPI Statements. This means that any launch mechanism, including cmi5, can be used.


Both cmi5 and the xAPI SCORM® Profile have requirements about reporting.  However, these requirements detail things like the AU or Sharable Content Object (SCO) status, the AU or SCO session, or attempts on the AU or SCO.  Because of this, there are a few conflicts in regards to additional reporting, such as SCORM® interactions or objectives, or non SCORM® learning experience data.

Reporting Process

Both cmi5 and the xAPI SCORM® Profile use verbs to indicate the start and end of a learning activity session, but there are some slight differences in the two approaches.


xAPI SCORM® Profile

When to use these


cmi5 is a complete specification for packaging, launching, and tracking interactions and the status of content. If your organization uses CMI, cmi5 is likely something you should investigate and consider implementing.

xAPI SCORM® Profile

The xAPI SCORM® Profile focuses mainly on representing SCORM® data consistently as xAPI statements to an LRS.

If your organization already uses SCORM®, the xAPI SCORM® Profile is a way to provide consistent access to SCORM® data through a specified data format and the xAPI storage and retrieval processes.

Additionally, organizations can use the xAPI SCORM® Profile to track non web-based content, such as simulations or mobile apps, in a manner that can be understood by SCORM® systems.


Use the xAPI SCORM® Profile Statements to report interactions not defined in cmi5

cmi5 identifies a small set of session verbs and status verbs. Aside from that small set, the cmi5 specification allows any statements using other verbs to be recorded and reported.

This means that an organization could use the xAPI SCORM® Profile's data mapping to xAPI statements as a way to report other learning experiences within the AU.

Use cmi5 and additionally report xAPI SCORM® Profile data to another LRS

The xAPI SCORM® Profile was designed with the expectation that many developers would use this in addition to traditional SCORM® tracking, see Dual Track for more information. This scenario could be used with cmi5 because the cmi5 content would report to the cmi5 LMS following the rules in the cmi5 spec while sending xAPI SCORM® Profile Statements to a predefined LRS.


The two specs are similar in their approach to leverage the xAPI for encoding learning experiences and communication from client to server.

However, their intents are what truly separate them. cmi5 is working on the progression and revision of the CMI specification, detailing rules about packaging, launching, and tracking content.

The xAPI SCORM® Profile focuses on representing SCORM® data as xAPI statements to ensure consistency when reporting SCORM® to an LRS.