# 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](/files/aACeSaeJxqOBKBC9na8k)

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

<img src="/files/VgigEd7Mp2fGcziIvUXw" alt="Personal Improvement is marked as complete when all children are completed" width="563">

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**](/clear-fundamentals/completion-tracking.md#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**](/clear-fundamentals/completion-tracking.md) 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.clearxp.com/clear-fundamentals/completion-tracking.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
