# cmi5 Profile

This specification describes interoperable runtime communication between Learning Management Systems (LMS) and Assignable Units (AU).

The runtime communication and behavior of all parts of the system are carefully described in the full specification, which can be found at https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md . This is a structured representation of cmi5 concepts, statement structure, and statement communications patterns that the additional rules in the full specification build upon and provide the definitive interpretation of.

## Profile Details

| Property | Value |
| --- | --- |
| **ID** | `https://w3id.org/xapi/cmi5` |
| **See Also** | https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md |
| **Status** | draft |
| **Version** | v1.0 |

## Author

**cmi5 Working Group**

## Concepts

### abandoned

**Type:** Verb

**ID:** `https://w3id.org/xapi/adl/verbs/abandoned`

Indicates that the AU session was abnormally terminated by a learner's action (or due to a system failure).

### satisfied

**Type:** Verb

**ID:** `https://w3id.org/xapi/adl/verbs/satisfied`

Indicates that the authority or activity provider determined the actor has fulfilled the criteria of the object or activity.

### waived

**Type:** Verb

**ID:** `https://w3id.org/xapi/adl/verbs/waived`

Indicates that the learning activity requirements were met by means other than completing the activity. A waived statement is used to indicate that the activity may be skipped by the actor.

### block

**Type:** ActivityType

**ID:** `https://w3id.org/xapi/cmi5/activities/block`

A block represents a number of Assignable Units of which progress (completion/success) is rolled up to.  In cmi5 it is every level above the AU and below the Course.

### course

**Type:** ActivityType

**ID:** `https://w3id.org/xapi/cmi5/activities/course`

A course represents an amount of content that is published and registered for with the purpose of gaining completion.  It is represented with a Course Structure Format in cmi5 as the highest level of content (above Block and AU).

### progress

**Type:** ResultExtension

**ID:** `https://w3id.org/xapi/cmi5/result/extensions/progress`

An integer value between 0 and 100 (inclusive) indicating the completion of the AU as a percentage.

The AU may set this value in statements to indicate level of completion. The AU SHOULD NOT set a progress value in a Completed statement or if it has previously issued a Completed statement for the AU in the current registration.

### reason

**Type:** ResultExtension

**ID:** `https://w3id.org/xapi/cmi5/result/extensions/reason`

Indicates the reason why an AU was 'waived' (marked complete by an alternative means)

### session ID

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/sessionid`

A unique identifier for a single AU launch session based on actor and course registration.

### mastery score

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/masteryscore`

'masteryScore' as provided in the LMS Launch Data for the AU plus registration used to determine the pass/fail result based on score

### launch mode

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/launchmode`

Indicates what launch mode an AU was launched with by the LMS

### launch URL

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/launchurl`

The URL used by the LMS to launch the AU

### launch parameters

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/launchparameters`

'launchParameters' as provided in the LMS Launch Data for the AU plus registration

### move on

**Type:** ContextExtension

**ID:** `https://w3id.org/xapi/cmi5/context/extensions/moveon`

'moveOn' as provided in the LMS Launch Data for the AU plus registration

## Statement Templates

### Restrictions for all cmi5-defined Statements

### Launched

**Verb:** http://adlnet.gov/expapi/verbs/launched

### Initialized

**Verb:** http://adlnet.gov/expapi/verbs/initialized

### Completed

**Verb:** http://adlnet.gov/expapi/verbs/completed

### Passed

**Verb:** http://adlnet.gov/expapi/verbs/passed

### Failed

**Verb:** http://adlnet.gov/expapi/verbs/failed

### Abandoned

**Verb:** https://w3id.org/xapi/adl/verbs/abandoned

### Waived

**Verb:** http://adlnet.gov/expapi/verbs/waived

### Terminated

**Verb:** http://adlnet.gov/expapi/verbs/terminated

### Satisfied

**Verb:** http://adlnet.gov/expapi/verbs/satisfied

## Patterns

### Satisfieds

### Waived Session

### No Result Session

### Completion No Success Session

### Completed And Maybe Failed

### Completed And Passed Session

### Failed Session

### Completion Maybe Failed Session

### Terminated Or Abandoned

### Completed And Passed

### Completed Then Passed

### Passed Then Completed

### Completed And Maybe Failed

### Maybe Completed Then Failed

### Failed Then Maybe Completed

### Maybe Completed

### Typical Session

### Typical Sessions

This pattern provides an option to use zero or more of the alernates for the Typical Session pattern.

### General Pattern

This pattern describes the sequence of statements sent over the an entire course registration.

---
*Generated from TLA Toolbox on 4/5/2026*