Skip to main content
U.S. flag

An official website of the United States government

cmi5 Specification

Publication cover page with the text cmi5 Best Practices Guide: From Conception to Conformance
cmi5 Best Practices Guide – A comprehensive guide to the why, what, and how for cmi5. This covers everything from the basics to acquisition tips.

The cmi5 specification enables the packaging and delivery of distributed learning resources, including both traditional courseware and content that sits outside of a web-browser (e.g., mobile apps, offline content). The cmi5 specification was created by the Aviation Industry Computer-Based Training Committee and the ADL Initiative in 2015 to provide an alternative to the Shareable Content Object Reference Model (SCORM®), which has served as the foundation for traditional learning management system (LMS)-centric courseware for two decades. The cmi5 specification replicates SCORM functionality, with the intent of replacing SCORM as the metadata format for computer-based training, and cmi5 also incorporates the Experience API (xAPI). That gives cmi5 the capacity for robust data collection.

Impact of cmi5 on the TLA

The cmi5 specification plays an important role in modernizing DoD’s education and training systems toward a distributed learning ecosystem that delivers diverse learning opportunities across a range of federated platforms. From a modernization perspective, the cmi5 specification and xAPI standard are among the many interdependent components of the Total Learning Architecture (TLA) needed to enable the future DoD-wide learning ecosystem. These specifications are used within the TLA to share data from multiple and disparate learning experiences in standardized formats, including across various LMSs, competency management systems, third-party certification authorities, or other learning and development systems.

cmi5 and xAPI

cmi5 is an instantiation of xAPI. If an application or piece of instructional content is cmi5-compliant, then it is also xAPI compliant. As a learner navigates through different learning activities, the cmi5 specification aligns the definition of their progress and achievements using distinct verbs that correspond to specific events. cmi5 uses xAPI as the communication and data layer, but unlike the base xAPI standard, cmi5 implements controlled vocabularies to make it easier to standardize interoperability between LMSs and other LMS-like systems. Said another way, the cmi5 specification contains a vocabulary model and xAPI statement patterns, which are encapsulated as an xAPI Profile.

cmi5 and SCORM

Beyond integrating xAPI, the cmi5 specification also defines interoperability rules for content launch, authentication, session management, reporting, and course structure definition—similar to SCORM. This additional functionality is necessary because while the xAPI specification defines communication between a learning experience and a Learning Record Store, it does not define how online courses are structured or the communication between the learning content and the system hosting that content. Nor does the xAPI specification alone include authentication protocols to connect the learner to the learning content. Also, while SCORM does provide standardization for many of these components, it does so in a legacy fashion. Therefore, cmi5 incorporates and extends the best capabilities of SCORM and natively integrates them with xAPI.

Open-Source cmi5 Player and Test Suite

Player: The cmi5 content player, available for widespread use, is a web service application for importing cmi5 course packages, launching assignable units (AU), proxying xAPI requests to an external Learner Record Store, performing registration and session management tasks, and various other tasks necessary to implement the features of the cmi5 specification. Stakeholders can use the player to, for example, build their own cmi5 players or test and demonstrate their own courses' cmi5 functionality. (Note, this player is not hardened sufficiently for immediate operational use. It’s intended as a reference implementation or initial software building block.) Download the open-source player from ADL Initiative’s cmi5 Player GitHub page, including a cmi5 Player User Guide with a high-level overview and tutorials.

Test Suite: The conformance test suite is a web application for content developers and testers to verify that their content conforms to the cmi5 specification. The test suite can also support the acquisition pipelines, helping purchasers to ensure conformance of delivered courses, and to determine if an LMS can correctly play cmi5 courses. The test suite provides an independent validation and serves as a predecessor to certification. Download the open-source conformance test suite from ADL Initiative’s cmi5 CTS GitHub page, including a cmi5 CTS User Guide with a high-level overview and tutorials.

Courseware Examples: This project also developed templates, which stakeholders can use as examples for cmi5 courseware creation. These are available from ADL Initiative’s cmi5 Course Examples GitHub page.

Working Group

Currently the ADL Initiative hosts weekly cmi5 working group meetings for cmi5 adoption. These meetings focus on identifying user challenges, including the approvals required by various DoD organizations for deploying the software on their networks and other secure environments. Visit the working group website at to access meeting information, meeting minutes, code examples, or a list of cmi5 adopters. The working group welcomes all stakeholders who are actively supporting DoD organizations. Meetings are every Friday from 10:30 – 11:30 AM Eastern Standard Time. Participants can register at

Working with IEEE

The ADL Initiative is working with the Institute of Electrical and Electronics Engineer (IEEE) Learning Technology Standards Committee to make cmi5 an international standard. This process will be executed once the ongoing standardization of xAPI is completed in 2022. The ADL Initiative is also currently participating in an xAPI Profile Working Group organized by IEEE, to establish a standard for all xAPI Profiles, including cmi5.


In 2021, the ADL Initiative (with support from the performer, Rustici Software) completed a cmi5 project called cmi5 Advanced Testing Application and Player Underpinning Learning Technologies (CATAPULT). Many of the latest cmi5 resources were delivered through it.


The ADL Initiative is spearheading the cmi5 Advanced Testing Application and Player Underpinning Learning Technologies (CATAPULT) project to facilitate the adoption of the cmi5 specification by making tools available to the DoD to test and validate cmi5 courses. The cmi5 Player serves as a reference implementation for DoD stakeholders. It will be designed as a minimum viable product for prototyping and will allow for effective testing and demonstrating cmi5 courses. The cmi5 Conformance Test Suite software will enable the testing of cmi5 content and software systems that implement the cmi5 data specification, and will provide for independent validation and serve as a predecessor to certification. This project will also support the transition of existing SCORM content to cmi5 content by creating courses to be used as an exemplar implementation. Best-practice documentation will accompany the software and content. The ADL Initiative will make available these free resources, sample courses, and best-practice documentation tailored to DoD adoption of cmi5 for individual use by both DoD components and contractors.


cmi5 Best Practices Guide: From Conception to Conformance
Miller, Brian; Rutherford, Tammy; Pack, Alicia; Vilches, George; Ingram, Jim



Understanding and Applying cmi5 in an xAPI Solution 1:31:02 – May 2021