diff --git a/content/en/building/features/training/_index.md b/content/en/building/features/training/_index.md
deleted file mode 100644
index 2d62c2844..000000000
--- a/content/en/building/features/training/_index.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: Training
-weight: 9
-description: >
- Remotely train health workers
-keyword: training
-relatedContent: >
- building/training/training-cards
- building/training/training-cards-resources
- building/examples/training
- building/examples/learning-care/
-aliases:
- - /apps/features/training/
----
-
-*Training Cards* help health workers learn about changes to CHT apps remotely, directly in their app. Training content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. They are perfect for training on a very specific topic and are not meant to replace a comprehensive onboarding program.
-
-[Template training content]({{< relref "building/training/training-cards-resources" >}}) for new CHT features is made available from time to time. These templates can be customized to the local context.
-
-{{< figure src="training-deck.png" link="training-deck.png" class="col-12 col-lg-10" >}}
-
-
-## Accessing
-
-When health workers open or reload their app, configured training cards will automatically show on top of all other content in the app. If it is not a convenient time to complete the training, they can cancel out at any time and will be prompted again the next day they open their app (training will start from the beginning).
-
-{{% alert title="Note" %}} If there are multiple training sets configured to start on the same day, the CHT will determine the order alphabetically based on the form ID. Subsequent training sets will only be displayed once the previous ones are either completed or no longer valid the next day the app is opened. {{% /alert %}}
-
-## Completing
-
-Health workers read through each card one by one in a predefined sequence, tapping “Next” on each card. When they are finished reading all cards, they tap “Submit” on the last card. The training set is now considered complete and they can continue using their app. Completed training sets show up on the [main list]({{< relref "building/features/reports/#main-list" >}}) of the Reports tab and they won’t be asked to complete this set again. If there are additional training sets to complete, they will be shown the next day the app is opened.
-
-## Monitoring
-
-As mentioned above, completed training sets will show up on the [main list]({{< relref "building/features/reports/#main-list" >}}) of the Reports tab. These reports are available in [analytics]({{< relref "building/features/supervision/#supervisor-dashboards" >}}), [aggregate targets]({{< relref "building/features/supervision/#chw-aggregate-targets" >}}) , and can trigger supervision workflows and [tasks]({{< relref "building/features/supervision/#supervisor-tasks" >}}).
-
-## Configurability
-Training cards can be shown to any user associated to a contact. A “set” of training cards represents a collection of individual training cards, generally covering a single training topic. The list below highlights some of the key areas of customization:
-
-- Number of sets
-- Number of cards in a set
-- Content of each individual card (text, images, etc…)
-- When health workers will start seeing a set (specific start date)
-- How long the set will be available (# of days, relative to the start date)
-- Which users will see the set (based on user roles)
diff --git a/content/en/building/training/onboarding/_index.md b/content/en/building/training/onboarding/_index.md
index 91e52ef0c..331766876 100644
--- a/content/en/building/training/onboarding/_index.md
+++ b/content/en/building/training/onboarding/_index.md
@@ -1,7 +1,7 @@
---
title: "Onboarding Using a Training App"
linkTitle: "Onboarding"
-weight: 15
+weight: 1
description: >
Best practices when using a Training App to keep training and production data apart
relatedContent: >
diff --git a/content/en/building/training/training-cards-resources/_index.md b/content/en/building/training/training-cards-resources/_index.md
index ee477dc73..3979c548f 100644
--- a/content/en/building/training/training-cards-resources/_index.md
+++ b/content/en/building/training/training-cards-resources/_index.md
@@ -1,12 +1,11 @@
---
title: "Training Cards Resources"
linkTitle: "Training Cards Resources"
-weight: 15
+weight: 3
description: >
Training cards for CHT
keyword: training
relatedContent: >
- building/features/training
building/training/training-cards
aliases:
- /building/guides/training/training-cards-resources/
@@ -15,7 +14,7 @@ aliases:
## Best practices
-If you are deploying new [trainings cards]({{< relref "building/features/training" >}}), here are some best practices to follow:
+If you are deploying new [trainings cards]({{< relref "building/training/training-cards" >}}), here are some best practices to follow:
- When deploying training cards for the first time, provide guidance in advance as to what users should expect from the cards and how to use them
- Test training card content with a small set of users to ensure learnability and understanding before deploying to your live instance
diff --git a/content/en/building/training/training-cards/_index.md b/content/en/building/training/training-cards/_index.md
index fc6b346bf..5190d2953 100644
--- a/content/en/building/training/training-cards/_index.md
+++ b/content/en/building/training/training-cards/_index.md
@@ -1,141 +1,47 @@
---
title: "Training Cards"
-linkTitle: "Training Cards"
-weight: 15
+weight: 2
description: >
- Deploy in-app training cards for remote training.
+ Remotely train health workers
keyword: training
relatedContent: >
- building/features/training
- building/training/training-cards-resources/
+ building/training/training-cards-resources
building/examples/training
building/examples/learning-care/
aliases:
- - /building/guides/training/training-cards/
- - /apps/guides/training/training-cards/
+ - /building/features/training/
+ - /apps/features/training/
---
-_Introduced in 4.2.0_
-
-[Training Cards]({{< relref "building/features/training" >}}) enable remote training from within the CHT by showing a sequence of "cards" containing content provided by App Developers. The content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. Enketo forms are used to display the content, and App Developers can specify a start date, duration, and to which [user roles]({{< relref "building/reference/app-settings/user-roles" >}}) the cards should be shown. Like [app forms]({{< relref "building/reference/forms/app" >}}), forms used by training cards will automatically be downloaded to the user’s devices.
-
-{{% alert title="Note" %}} Example training forms are available [here]({{< relref "building/training/training-cards-resources" >}}) and provide a good starting point. {{% /alert %}}
-
-# Step 1: Create the training form
-
-Create an [XLS Form]({{< relref "building/reference/forms/app#xlsform" >}}). In the following example, the training form is called `my_new_feature`, it has some text in the `label::en` column, and some images in the column `media::images` to illustrate the feature.
-
-{{< figure src="step-1-xls-form.png" link="step-1-xls-form.png" class="left col-10" >}}
-
-
-
-# Step 2: Add the form’s ID
-
-Important, define the `form_id` located in the `settings` sheet with the prefix `training:` and add the form name, otherwise the training card won't display. In our example, the `form_id` should be `training:my_new_feature`.
-
-{{< figure src="step-2-xls-form-id.png" link="step-2-xls-form-id.png" class="left col-10" >}}
-
-
-
-# Step 3: Configure the training form
-
-Create a [properties file]({{< relref "building/tutorials/form-properties#3-define-the-forms-context" >}}) to define the starting date of the training, the number of days it will be active, and the user roles that can access the training. In our example, the file name is `my_new_feature.properties.json` and contains the following properties:
-
-```
-{
- "title": "",
- "context": {
- "start_date": "2023-07-13",
- "duration": 60,
- "user_roles": [ "nurse" ]
- }
-}
-```
-In the example above, the training cards could be shown to any user with the "nurse" role between July 13, 2023 and September 11, 2023 (inclusive). See more information about these configuration settings below:
-| Property | Description |
-|---|----|
-| "title" | Optional. Enketo’s form title that is displayed under the modal’s header section. Leave this property empty if you don’t need to display a title. |
-| "start_date" | Optional. Define the training start day using `yyyy-mm-dd` format. If not defined then the training will start immediately. |
-| "duration" | Optional. Number of days this training should be active. If not defined then the training will never expire. |
-| "user_roles" | Optional. List of user roles that can access this training. If not defined then all users can access the training. |
-
-{{% alert title="Note" %}} Users with an admin role can access training cards but they need to have a contact associated in the `org.couchdb.user:[user-name]` document from CouchDB. {{% /alert %}}
-
-# Step 4: Add multimedia to the training form
-
-If your training form has images, create a folder with the same name as the form and add `-media` suffix. In our example, the form name is `my_new_feature`, then the folder name should be `my_new_feature-media`.
-
-Inside that new folder, make another one called images and put inside all the `images` that your form needs. See more about [multimedia in forms]({{< relref "building/guides/forms/multimedia" >}}).
-
-# Step 5: Put everything in the right place
-
-In your project configuration folder, place the XLS form, the properties file, and the media folder inside `/forms/training/`. The file structure should look like this:
-
-{{< figure src="step-5-file-structure.png" link="step-5-file-structure.png" class="left col-10" >}}
-
-
-
-# Step 6: Convert and upload the training form
-
-Open the terminal and use the latest version of the `cht` command line tool to convert and upload the training form:
-
-Convert the form by running this command:
-
-```
-cht --url=[instance_url] convert-training-forms -- [form_name]
-```
-
-Example:
+_Introduced in 4.2.0_
-```
-cht --url=http://admin-user:secretpass@my-xyz-project.org convert-training-forms -- my_new_feature
-```
+*Training Cards* help health workers learn about changes to CHT apps remotely, directly in their app. Training content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. They are perfect for training on a very specific topic and are not meant to replace a comprehensive onboarding program.
-Upload the form by running this command:
+[Template training content]({{< relref "building/training/training-cards-resources" >}}) for new CHT features is made available from time to time. These templates can be customized to the local context.
-```
-cht --url=[instance_url] upload-training-forms -- [form_name]
-```
+{{< figure src="training-deck.png" link="training-deck.png" class="col-12 col-lg-10" >}}
+
-Example:
-```
-cht --url=http://admin-user:secretpass@my-xyz-project.org upload-training-forms -- my_new_feature
-```
+## Accessing
-# Step 7: Verify and monitor
+When health workers open or reload their app, configured training cards will automatically show on top of all other content in the app. If it is not a convenient time to complete the training, they can cancel out at any time and will be prompted again the next day they open their app (training will start from the beginning).
-At this point the training cards are ready to use. You can verify by logging in with a user that has a valid role assigned for the training card, on the day that the training starts. Remember, to sync the app to see the results (the uncompleted training will display once a day).
+{{% alert title="Note" %}} If there are multiple training sets configured to start on the same day, the CHT will determine the order alphabetically based on the form ID. Subsequent training sets will only be displayed once the previous ones are either completed or no longer valid the next day the app is opened. {{% /alert %}}
-Using [telemetry]({{< relref "building/guides/performance/telemetry" >}}) you can monitor user interaction with each training card "set". Some key metrics you can view include:
+## Completing
-1. Number of times each user was presented with training cards
-2. The date(s) each user was presented with training cards
-3. Number of times each user completed a training card set*
-4. The min/max amount of time each user spent viewing the training cards
-5. The device_id of any device from which the user saw the training cards
+Health workers read through each card one by one in a predefined sequence, tapping “Next” on each card. When they are finished reading all cards, they tap “Submit” on the last card. The training set is now considered complete and they can continue using their app. Completed training sets show up on the [main list]({{< relref "building/features/reports/#main-list" >}}) of the Reports tab and they won’t be asked to complete this set again. If there are additional training sets to complete, they will be shown the next day the app is opened.
-_* Training Cards are designed to only be viewed once so this should normally only ever be 0 or 1. It is possible that a user deletes the training "report", in which case they would be presented with training cards again._
+## Monitoring
-Example SQL:
+As mentioned above, completed training sets will show up on the [main list]({{< relref "building/features/reports/#main-list" >}}) of the Reports tab. These reports are available in [analytics]({{< relref "building/features/supervision/#supervisor-dashboards" >}}), [aggregate targets]({{< relref "building/features/supervision/#chw-aggregate-targets" >}}) , and can trigger supervision workflows and [tasks]({{< relref "building/features/supervision/#supervisor-tasks" >}}).
-```
-SELECT
- doc#>>'{metadata,user}' AS cht_user,
- doc#>>'{metadata,deviceId}' AS device_id,
- concat(doc#>>'{metadata,year}', '-', doc#>>'{metadata,month}', '-',doc#>>'{metadata,day}')::date AS telemetry_date,
- COALESCE(doc#>>'{metrics,enketo:training::add:render,count}','0')::int AS count_render_training,
- COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,count}','0')::int AS count_submit_training,
- COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,max}','0')::int/1000 AS max_seconds_on_form,
- COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,min}','0')::int/1000 AS min_seconds_on_form
-
-FROM
- couchdb_users_meta
-
-WHERE
- doc->>'type'='telemetry'
- AND doc#>'{metadata}' ? 'day'
- AND doc#>'{metrics}' ? 'enketo:training::add:render'
+## Configurability
+Training cards can be shown to any user associated to a contact. A “set” of training cards represents a collection of individual training cards, generally covering a single training topic. The list below highlights some of the key areas of customization:
-ORDER BY
- telemetry_date DESC
-```
+- Number of sets
+- Number of cards in a set
+- Content of each individual card (text, images, etc…)
+- When health workers will start seeing a set (specific start date)
+- How long the set will be available (# of days, relative to the start date)
+- Which users will see the set (based on user roles)
diff --git a/content/en/building/training/training-cards/training-cards-configuration.md b/content/en/building/training/training-cards/training-cards-configuration.md
new file mode 100644
index 000000000..907b5d911
--- /dev/null
+++ b/content/en/building/training/training-cards/training-cards-configuration.md
@@ -0,0 +1,140 @@
+---
+title: "Training Cards Configuration"
+linkTitle: "Training Cards Configuration"
+weight: 15
+description: >
+ Deploy in-app training cards for remote training.
+keyword: training
+relatedContent: >
+ building/training/training-cards
+ building/training/training-cards-resources/
+ building/examples/training
+ building/examples/learning-care/
+aliases:
+ - /building/guides/training/training-cards/
+ - /apps/guides/training/training-cards/
+---
+
+[Training Cards]({{< relref "building/training/training-cards" >}}) enable remote training from within the CHT by showing a sequence of "cards" containing content provided by App Developers. The content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. Enketo forms are used to display the content, and App Developers can specify a start date, duration, and to which [user roles]({{< relref "building/reference/app-settings/user-roles" >}}) the cards should be shown. Like [app forms]({{< relref "building/reference/forms/app" >}}), forms used by training cards will automatically be downloaded to the user’s devices.
+
+{{% alert title="Note" %}} Example training forms are available [here]({{< relref "building/training/training-cards-resources" >}}) and provide a good starting point. {{% /alert %}}
+
+# Step 1: Create the training form
+
+Create an [XLS Form]({{< relref "building/reference/forms/app#xlsform" >}}). In the following example, the training form is called `my_new_feature`, it has some text in the `label::en` column, and some images in the column `media::images` to illustrate the feature.
+
+{{< figure src="step-1-xls-form.png" link="step-1-xls-form.png" class="left col-10" >}}
+
+
+
+# Step 2: Add the form’s ID
+
+Important, define the `form_id` located in the `settings` sheet with the prefix `training:` and add the form name, otherwise the training card won't display. In our example, the `form_id` should be `training:my_new_feature`.
+
+{{< figure src="step-2-xls-form-id.png" link="step-2-xls-form-id.png" class="left col-10" >}}
+
+
+
+# Step 3: Configure the training form
+
+Create a [properties file]({{< relref "building/tutorials/form-properties#3-define-the-forms-context" >}}) to define the starting date of the training, the number of days it will be active, and the user roles that can access the training. In our example, the file name is `my_new_feature.properties.json` and contains the following properties:
+
+```
+{
+ "title": "",
+ "context": {
+ "start_date": "2023-07-13",
+ "duration": 60,
+ "user_roles": [ "nurse" ]
+ }
+}
+```
+
+In the example above, the training cards could be shown to any user with the "nurse" role between July 13, 2023 and September 11, 2023 (inclusive). See more information about these configuration settings below:
+| Property | Description |
+|---|----|
+| "title" | Optional. Enketo’s form title that is displayed under the modal’s header section. Leave this property empty if you don’t need to display a title. |
+| "start_date" | Optional. Define the training start day using `yyyy-mm-dd` format. If not defined then the training will start immediately. |
+| "duration" | Optional. Number of days this training should be active. If not defined then the training will never expire. |
+| "user_roles" | Optional. List of user roles that can access this training. If not defined then all users can access the training. |
+
+{{% alert title="Note" %}} Users with an admin role can access training cards but they need to have a contact associated in the `org.couchdb.user:[user-name]` document from CouchDB. {{% /alert %}}
+
+# Step 4: Add multimedia to the training form
+
+If your training form has images, create a folder with the same name as the form and add `-media` suffix. In our example, the form name is `my_new_feature`, then the folder name should be `my_new_feature-media`.
+
+Inside that new folder, make another one called images and put inside all the `images` that your form needs. See more about [multimedia in forms]({{< relref "building/guides/forms/multimedia" >}}).
+
+# Step 5: Put everything in the right place
+
+In your project configuration folder, place the XLS form, the properties file, and the media folder inside `/forms/training/`. The file structure should look like this:
+
+{{< figure src="step-5-file-structure.png" link="step-5-file-structure.png" class="left col-10" >}}
+
+
+
+# Step 6: Convert and upload the training form
+
+Open the terminal and use the latest version of the `cht` command line tool to convert and upload the training form:
+
+Convert the form by running this command:
+
+```
+cht --url=[instance_url] convert-training-forms -- [form_name]
+```
+
+Example:
+
+```
+cht --url=http://admin-user:secretpass@my-xyz-project.org convert-training-forms -- my_new_feature
+```
+
+Upload the form by running this command:
+
+```
+cht --url=[instance_url] upload-training-forms -- [form_name]
+```
+
+Example:
+```
+cht --url=http://admin-user:secretpass@my-xyz-project.org upload-training-forms -- my_new_feature
+```
+
+# Step 7: Verify and monitor
+
+At this point the training cards are ready to use. You can verify by logging in with a user that has a valid role assigned for the training card, on the day that the training starts. Remember, to sync the app to see the results (the uncompleted training will display once a day).
+
+Using [telemetry]({{< relref "building/guides/performance/telemetry" >}}) you can monitor user interaction with each training card "set". Some key metrics you can view include:
+
+1. Number of times each user was presented with training cards
+2. The date(s) each user was presented with training cards
+3. Number of times each user completed a training card set*
+4. The min/max amount of time each user spent viewing the training cards
+5. The device_id of any device from which the user saw the training cards
+
+_* Training Cards are designed to only be viewed once so this should normally only ever be 0 or 1. It is possible that a user deletes the training "report", in which case they would be presented with training cards again._
+
+Example SQL:
+
+```
+SELECT
+ doc#>>'{metadata,user}' AS cht_user,
+ doc#>>'{metadata,deviceId}' AS device_id,
+ concat(doc#>>'{metadata,year}', '-', doc#>>'{metadata,month}', '-',doc#>>'{metadata,day}')::date AS telemetry_date,
+ COALESCE(doc#>>'{metrics,enketo:training::add:render,count}','0')::int AS count_render_training,
+ COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,count}','0')::int AS count_submit_training,
+ COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,max}','0')::int/1000 AS max_seconds_on_form,
+ COALESCE(doc#>>'{metrics,enketo:training::add:user_edit_time,min}','0')::int/1000 AS min_seconds_on_form
+
+FROM
+ couchdb_users_meta
+
+WHERE
+ doc->>'type'='telemetry'
+ AND doc#>'{metadata}' ? 'day'
+ AND doc#>'{metrics}' ? 'enketo:training::add:render'
+
+ORDER BY
+ telemetry_date DESC
+```
diff --git a/content/en/building/training/training-cards/step-1-xls-form.png b/content/en/building/training/training-cards/training-cards-configuration/step-1-xls-form.png
similarity index 100%
rename from content/en/building/training/training-cards/step-1-xls-form.png
rename to content/en/building/training/training-cards/training-cards-configuration/step-1-xls-form.png
diff --git a/content/en/building/training/training-cards/step-2-xls-form-id.png b/content/en/building/training/training-cards/training-cards-configuration/step-2-xls-form-id.png
similarity index 100%
rename from content/en/building/training/training-cards/step-2-xls-form-id.png
rename to content/en/building/training/training-cards/training-cards-configuration/step-2-xls-form-id.png
diff --git a/content/en/building/training/training-cards/step-5-file-structure.png b/content/en/building/training/training-cards/training-cards-configuration/step-5-file-structure.png
similarity index 100%
rename from content/en/building/training/training-cards/step-5-file-structure.png
rename to content/en/building/training/training-cards/training-cards-configuration/step-5-file-structure.png
diff --git a/content/en/building/features/training/training-deck.png b/content/en/building/training/training-cards/training-deck.png
similarity index 100%
rename from content/en/building/features/training/training-deck.png
rename to content/en/building/training/training-cards/training-deck.png
diff --git a/content/en/core/releases/4.2.0.md b/content/en/core/releases/4.2.0.md
index 50ed90821..f085ab3e4 100644
--- a/content/en/core/releases/4.2.0.md
+++ b/content/en/core/releases/4.2.0.md
@@ -52,7 +52,7 @@ NOTE: The bottom action bar can be temporarily re-enabled for specific users by
### Training Cards
-A new feature was added to help health workers learn about changes to their CHT app remotely, directly in their app. Training Card content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. You can read more about it in the [Training Cards documentation]({{< relref "building/features/training" >}}) and find some template content in the [resources]({{< relref "building/training/training-cards-resources" >}}) section on the documentation site to help you get started with Training Cards.
+A new feature was added to help health workers learn about changes to their CHT app remotely, directly in their app. Training Card content might include information about a newly deployed feature, changes to a [care guide]({{< relref "building/concepts/care-guides" >}}), or simply a reminder about an underused feature or workflow. You can read more about it in the [Training Cards documentation]({{< relref "building/training/training-cards" >}}) and find some template content in the [resources]({{< relref "building/training/training-cards-resources" >}}) section on the documentation site to help you get started with Training Cards.
{{< figure src="../images/4.2.0-6598-training-deck.png" class="col-12 col-lg-10" >}}
diff --git a/content/en/running-programs/training.md b/content/en/running-programs/training.md
index 015512504..cfd61ea55 100644
--- a/content/en/running-programs/training.md
+++ b/content/en/running-programs/training.md
@@ -23,7 +23,7 @@ The CHT training process comprises a series of steps highlighted below that need
* Define the training objectives - In this step, the training outcomes are defined, these are things end users should be able to do as a result of the training.
* Develop a training plan or checklist - The checklist lists the tasks, activities and resources needed to train the end users
* Create the training materials and resources
-* Conduct the training - Different training approaches can be adopted. Training can be done in person or virtually. It includes direct training of end users, training of trainers (ToT) model which involves training program champions to cascade the training, use of [CHT training cards]({{< relref "building/features/training" >}}) in which users are able to access training resources in-app, remote online training and self learning through a learning management system.
+* Conduct the training - Different training approaches can be adopted. Training can be done in person or virtually. It includes direct training of end users, training of trainers (ToT) model which involves training program champions to cascade the training, use of [CHT training cards]({{< relref "building/training/training-cards" >}}) in which users are able to access training resources in-app, remote online training and self learning through a learning management system.
* Evaluate the training - In this stage, the training outcomes are assessed to determine if the training has achieved the expected outcomes. The learning objectives will help to determine the evaluation process that would be most appropriate.
## Pre training preparation