# Completion Tracking

## Completion Propagation

The versatility of **ClearXP** means you can package your activities in a variety of different formats or hierarchy structures. This means a user may complete an activity *standalone* or as part of a greater *learning pathway*. Within the ClearXP system, it's important to understand that all completions are considered equal and the completion will propagate across the platform.

![When a learner completes Communication Skills, they won't need to complete it again](https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FPWrJbCQM3lI7B2l5HSay%2FRollup%201.png?alt=media\&token=0c2b888f-acd2-4e5e-a790-197d9e2ebc81)

## Hierarchy Completions

### Module Roll-Up

In the above chart, **Personal Improvement** is an example of a learning pathway that contains 3 activities. The learner won't receive a completion for Personal Improvement until all 3 child activities (Setting Goals & Objectives, Communication Skills, and Time Management) have been completed.

![Personal Improvement is marked as complete when all children are completed](https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FPw8sg57c4nYB2CY8lGpd%2FRollup%202.png?alt=media\&token=82b9f591-48d1-4d02-bb43-2d9fb10c286c)

This is an example of module roll-up using the **Complete All** rule, but ClearXP offers other roll-up rules that can be configured when creating the hierarchy:

| Roll Up Rule          | Description                                                                                        |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| **Complete All**      | The learner must complete all children for the module to be marked as completed.                   |
| **Complete Required** | The learner only needs to complete the required children for the module to be marked as completed. |
| **Complete Any**      | The learner needs to complete a specified number of any children to be marked as completed.        |

Hierarchies can be an arbitrary number of levels deep and roll-up will automatically flow from bottom-to-top through the layers until the highest parent is marked as complete.

{% hint style="warning" %}
Module roll-up will only take place if the learner is enrolled into the top-level pathway activity. We don't want to record completions or track progress for pathways that a learner isn't assigned because this introduces noise and confusion when reviewing reports and transcripts.
{% endhint %}

### Hierarchy Changes

Module hierarchies are very rarely carved in stone – new activities may be added or old activities removed. Many systems will prevent changing a hierarchical structure once created or force the resetting of all completions before changes can be made. **ClearXP** solves this problem by re-evaluating the entire module hierarchy under a fresh **registration** and leaves it up to the administrator to determine if they want to report on whether the module *has ever* been completed or if the hierarchy *is currently* complete.

{% hint style="info" %}
**ClearXP's** reporting capabilities are incredibly versatile, take a deep-dive into what's possible by reading the **Reporting User Guide**.
{% endhint %}

Although a hierarchy is re-evaluated from scratch when changed, this simply updates the data from a back-end reporting standpoint. If a learner had previously completed the full module hierarchy and is now no longer considered complete, their enrolment may still register a completion, to understand why, read the following section on [**Enrolment Completions**](#enrolment-completions).

## Enrolment Completions

### Point in Time Status

Conceptually an *activity* can only ever be in a single state – **complete** or **incomplete** – but when a learner is enrolled into something, once the terms of that enrolment have been met, it makes sense that their completion status should be retained. For example, if a student completes their *Bachelor of Science* in 2010, they shouldn't be required to go back and complete any extra requirements if the curriculum is changed today.

**ClearXP** embodies this concept by separating a learner's **Enrolment Completion** from their **Activity Completion** and it's possible to report on either of these statuses. Read the following section on [**Expiring Completions**](https://help.clearxp.com/clear-fundamentals/completion-tracking) if you'd like to manually override this behaviour.

### Expiring Completions

Contrary to the above example of retaining an enrolment's completion once met, there are still times when you may want to force your learner to re-complete some training:

* If the learner must re-complete after a set period of time (i.e. annual refresher training)
* If the completion requirements were initially setup incorrectly and you now wish to invalidate all prior completions

Both of these points are handled via assigning a **workflow** to an enrolment to *expire* an activity's completion status. When a completion is *expired* then the completion status for the Enrolment as well as the Activity is reset.

{% hint style="info" %}
Please read the **Workflow User Guide** to learn how to create and configure workflows to expire training on a specific date or after a certain period of time.
{% endhint %}
