# Configuring QualityOne Training Management

[QualityOne Vaults](/en/lr/55180/) provide an [automated Training Management](/en/lr/55176/); however, you still need to configure some aspects before automation can occur. To do this, you'll need to create the necessary object records and update their lifecycle states to [eligible][7].

After setup, Training Management begins issuing assignments based on users' defined Learner roles. While you are creating the records needed for your training, all records will stay in a non-eligible lifecycle state. Once you're finished creating a curriculum and its requirements, you can move the records into their lifecycle's eligible state.
At this point, Training Management will automatically begin issuing assignments based on users' Learner roles when [scheduled job runs](/en/lr/55176/).

## Configuration Overview {#overview}

Configuring your Vault to use Training Management involves the following steps:

1. [Create _Person_ record objects for users who will be Learners][2]
2. [Create learner roles and associate them with relevant Learners][4]
3. [Create curricula for the different areas Learners will receive training on][5]
4. [Create training requirements for completing curricula][6]
5. [Change lifecycle states for applicable objects so Vault can begin issuing training assignments][7]
6. [Create quizzes for any appropriate training requirements][1]
7. [Adjust the _Training Assignment Completion_ workflow to fit your needs][10]
8. [Configure Training Requirement Impact Assessments for training requirements][16]
9.  [Setting up the Learner Homepage and landing tab][14]
10. [Enable mobile interface support for _Training Assignment_ completion][11]
11. [Copying custom field values to _Training Assignments_][15]
12. [Configure Learner security profile permission sets][12]

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Depending on your Vault’s creation date and which features are currently enabled and configured, some of the steps described in this article may be unavailable or already complete in your Vault.</p>
    </div>
  </div>
</div>



## Persons {#persons}

Training Management uses the _Person_ object to associate Learners with Learner roles, curricula, and training requirements. Add new Learners by using the _Person_ object. See [About the User & Person Objects](/en/lr/46534/) for details on creating _Person_ objects.

Add the _Department_ field to the _Person_ object to have an additional field to filter on when managing training assignments on the [Training Dashboard.](/en/lr/55166/)

The _Person_ object has the following limitations:

* You cannot remove a _User_ reference from a _Person_ once the _Person_ is associated with _Learner Roles_
* You cannot reference the same _User_ in multiple _Person_ records
* You cannot change a _User_ reference to another _User_ record if the _Person_ has _Training Assignment_ records

### Manager Access {#manager_access}

Upon creation of a _Person_ record, Training Management assigns the user in the [_Manager_](/en/lr/3200/) role for a given Learner to the _Learner's Manager_ group on each of the Learner's training-related records: _Training Assignments_, _Assignment Details_, _TA Checklists_, _TA Responses_, _Class Schedules_, _Class Rosters_, _Sessions_, and _Session Rosters_. The _Learner's Manager_ group has access to all training-related records associated with the applicable Learner. You can configure Training Management workflows to assign tasks to this user.

### Facilitated Training {#facilitated-training}

For Learners who do not have user accounts for Vault, Training Administrators can use [Facilitated Training](/en/lr/71117/) to both ensure that those Learners receive the correct _Training Assignments_ via Training Management automation and to ensure their completion of the training is tracked accordingly. See [Configuring Facilitated Training](/en/lr/71118/) to enable this functionality.

## Learner Roles {#learner-roles}

After you have added some Learners, you need to create _Learner Roles_ based on what users must be trained on. The _Learner Roles_ object keeps track of the curricula needed to complete an entire training process. For example, you may create _Quality Manager_ as a _Learner Role_ that links to all of the curricula you create for that role.

Create _Learner Roles_ from **Business Admin > Objects** or a custom object tab. Click into the _Learner Role_ object record to add and view curricula and persons.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Each <em>Person</em> can only be associated with up to 30 <em>Learner Roles</em>.</p>
    </div>
  </div>
</div>



## Curricula {#curricula}

Once you have your desired _Learner Role_, it's time to create curricula that organize the requirements needed to complete a specific area of training. For example, you may create a _General GxP Documents_ curriculum as part of the _Quality Manager_ Learner role mentioned previously.

Create new _Curricula_ from **Business Admin > Objects** or a custom object tab. From the object record view, you can add and create training requirements and Learner roles.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Each <em>Learner Role</em> can only be associated with up to 40 curricula.</p>
    </div>
  </div>
</div>



## Training Requirements {#training-req}

_Training Requirements_ are the criteria which Learners must satisfy to complete a curriculum. Continuing the example above, you might create _Document Management_ and _Employee Conduct Policies_ as training requirements for completing the _General GxP Documents_ curriculum. 

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: As of 21R2, the <code class="language-plaintext highlighter-rouge">document__v</code> field on the <em>Training Requirement</em> object is no longer used by the Training Management application. Instead of using this field, add training materials for each <em>Training Requirement</em> type as described in the linked articles below.</p>
    </div>
  </div>
</div>



### Training Requirement Types {#tr-types}

While some _Training Requirements_ may require a simple Read & Understood signature for completion, others may include additional paths for learning and certifying completion. Issued _Training Assignments_ may also include a combination of training types. For example, a Learner may need to attend an instructor-led training, read and understand supplementary material, and then complete a quiz to demonstrate knowledge. Once you create and save a _Training Requirement_, you cannot change its type.

There are three (3) different types of _Training Requirements_:

 * [**Vault Document**](/en/lr/71122/): The simplest type of training, users [complete Vault Document Training Assignments](/en/lr/55170/) by reviewing the assigned document and signing to verify they have done so.
 * [**Classroom Training**](/en/lr/65465/): A _Classroom Training_ component includes one (1) or more sessions of [scheduled training](/en/lr/55170/). Learners have access to class details, class materials, and information about each scheduled session. Instructors [use the Class Roster](/en/lr/65465/#about-class-rosters) to register Learners to classroom training.
 * [**External Training**](/en/lr/71124/): This training type allows Learners to [complete training](/en/lr/55170/) on content or topics that occurred outside of Vault. For example, an organization may require that Learners complete a third-party online course or receive an external certification.

### Substitute Training Requirements {#sub-tr}

Training Management can assign an alternative, or substitute, _Training Assignment_ to a Learner in place of a required, or primary, _Training Assignment_ using Training Admin-defined substitution rules. You can accomplish this by marking _Training Requirements_ as substitutes, and then defining sets of rules for when they should be substituted. See [Substitute Training Requirements](/en/lr/71120/) for more details.

#### Document State-Dependent Training Assignments {#doc-statedepend-ta}

By default, if a _Training Requirement_ references a document that is not in a _Steady_ state (for example, in the _Draft_ or _Approved_ state), Vault still issues _Training Assignment_ tasks.

You can configure certain document states for documents referenced by _Training Requirements_ as trainable. In this case, Vault only issues training assignments when the document is one (1) of those states. Vault uses the _Steady State_ and _Ready for Training_ state types, available for each document lifecycle, to determine whether _Training Assignment_ tasks should be issued.


<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: After a <em>Training Assignment</em> is assigned to a user, documents associated with the training requirement cannot be <a href="/en/lr/34126/">archived</a> while the assignment is active. Contact your Veeva Representative to enable this feature in your Vault.</p>
    </div>
  </div>
</div>



#### Training Requirement Recurrence {#tr-recurrence}

QualityOne Training provides two (2) options for scheduling recurring issuance of _Training Assignments_ using the _Recurrence Type_ field. If _Recurrence Type_ is left blank, the application defaults to the _Relative_ picklist value upon saving.

#### Relative Recurrence {#relative-recurrence}

A _Training Requirement_ using this recurrence option can be issued at different times for different Learners. Vault calculates a relative recurrence from when the Learner was assigned a Training.

For example, if a Learner was assigned training on August 1st, 2019, the _Recurrence_ is set to 1, and the _Recurrence Unit_ is set to Year, Vault will assign the next training for that Learner on August 1st, 2020.

#### Absolute Recurrence {#absolute-recurrence}

A _Training Requirement_ using this recurrence option is issued at the same time for all applicable Learners. At the _Next Training Date (Recurrence)_, Vault issues training records to Learners. Vault then automatically increments the _Next Training Date (Recurrence)_ value based on the _Recurrence_ and _Recurrence Unit_ field values.

## Eligible Lifecycle States {#eligible-states}

Eligible lifecycle states are states that training object records must be in for Vault to create and issue training assignments. They are defined as follows:

<table>
  <tr>
    <th><strong>Object</strong></th>
    <th><strong>Eligible Lifecycle State</strong></th>
    <th><strong>Retired Lifecycle State</strong></th>
  </tr>
  <tr>
    <td><em>Person</em></td>
    <td><code>active__v</code></td>
    <td><code>inactive__v</code></td>
  </tr>
  <tr>
    <td><em>Learner Role</em></td>
    <td><code>eligible_state__v</code></td>
    <td><code>retired_state__v</code>, <code>inactive_state__v</code></td>
  </tr>
  <tr>
    <td><em>Curriculum</em></td>
    <td><code>available_state__v</code></td>
    <td><code>retired_state__v</code>, <code>inactive_state__v</code></td>
  </tr>
  <tr>
    <td><em>Training Requirement</em></td>
    <td><code>available_state__v</code></td>
    <td><code>retired_state__v</code>, <code>inactive_state__v</code></td>
  </tr>
</table>

You will need to select **Change State to [Eligible State]** from the **Workflow Actions** menu on _Person_, _Learner Role_, _Curricula_, and _Training Requirement_ object records before Vault will begin automatically creating and issuing training assignments.

## Quizzes {#quizzes}

Quizzes are an optional component that you can [configure for Training Requirements](/en/lr/55173/) to get a more thorough assessment of a user's understanding of the training material.

## Training Assignments {#ta}

After you configure all of the above objects, give them eligible lifecycle states, and when the [scheduled job runs](/en/lr/55176/), Vault sends training assignments to the relevant Learners. Once Vault issues training assignments, users will see those assignments on their _My Tasks_ page.
From there, they can review and [complete their assignments](/en/lr/55170/). You can [import _Training Assignment_ object records](/en/lr/55157/) from other training systems into Vault using [Vault Loader](/en/lr/26607/) or the <a class="external-link " href="https://developer.veevavault.com/" target="_blank" rel="noopener">Vault API<i class="fa fa-external-link" aria-hidden="true"></i></a>.

While you can edit user actions on the _Training Assignment_ Lifecycle, this feature is only intended to support the _Download Formatted Output_ user action. Avoid configuring other actions to this lifecycle, such as the _Change State to_ or _Start Workflow_ user actions, as this may cause issues, such as duplicate _Training Assignments_ or preventing the completion of active _Training Assignments_.


<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: After a <em>Training Assignment</em> is assigned to a user, documents associated with the training assignment cannot be <a href="/en/lr/34126/">archived</a> while the assignment is active. Already-archived documents cannot be linked to a <em>Training Assignment</em>.</p>
    </div>
  </div>
</div>



### About the Training Assignment Completion Workflows {#about-ta-workflows}

Training Management comes with standard workflows for Learners to complete _Training Assignments_. These workflows start upon the [issuance](/en/lr/55176/) or [direct assignment](/en/lr/55163/) of a _Training Assignment_ object record. Though you do not need to alter the standard workflows to begin using Training Management, you can adjust the _Complete Training Assignment_ or _Complete External Training Assignment_ workflows to suit the needs of your organization's specific training implementation.

### About Training Assignment Details Records {#about-ta-details}

Training Management creates _Training Assignments Details_ records to track the relationship between the _Training Assignment_ and its associated _Curricula_ and _Learner Roles_. Learners may be issued the same _Training Assignment_ more than once, due to the _Training Requirement_ being part of multiple _Curricula_, _Learner Roles_, or other scenarios (such as Direct Assignment). When this happens, the _Training Assignment_ record details page lists each instance of that assignment as a _Training Assignment Details_ record.

Training Administrators can also leverage _Training Assignment Details_ in reports to provide Learners an easy way to see which of their _Training Assignments_ fall within a certain _Curriculum_ or _Learner Role_. For reporting purposes, Vault stores the lifecycle state of the parent _Training Assignment_ record in a _Lookup_ field on the _Training Assignment Details_ record.

## Configure Training Requirement Impact Assessments {#impact-assess}

To configure your Vault to assign and complete Training Requirement Impact Assessments, see [Training Impact Assessments](/en/lr/65458/) for more details.

## Setting Up the Learner Homepage {#learner-homepage-setup}

The [Learner Homepage](/en/lr/71126/) provides a one-stop tab to work with training assignments. Setting the Learner Homepage as the [landing tab](/en/lr/953/#Landing_Tabs) for Learners provides an intuitive interface for new or first-time Vault users.

### Enabling the Learner Homepage {#enable-homepage}

In **Admin > Users & Groups > Permission Sets**, enable _View_ [permission](/en/lr/22824/) for the _Training Management Learner Homepage: My Learning Page_. Then, enable _View_ permission for the _My Learning_ tab. You can relabel the _My Learning_ tab to suit your needs via the **Admin > Configuration > Tabs** page.

### Training Assignment Card Images {#ta-card-images}

When creating _Training Requirements_, you can customize card images displayed in the Learner Homepage card view by selecting a Vault document in the **Learner Homepage Card Image** field. If you do not select a document in this field, the card defaults to showing the first page of the first document in the _Training Assignment_. If there are no documents in the assignment, Vault displays a card image based on the [Training Requirement type][13]. Vault uses the document's [rendition](/en/lr/3815/) as the card image and scales it appropriately.

## Enabling Mobile Training Task Completion {#enable-mobile-task}

To enable a mobile interface for document Training Assignments when viewed in a mobile browser, navigate to **Admin > Settings > Application Settings** and select the **Enable Training Management Mobile Interface** checkbox.

Touch-enabled Microsoft Windows devices display the desktop interface.

## Copying Custom Field Values to Training Assignments {#custom-field-values}

By default, Vault copies the _Department_ and _Estimated Time_ field values from a _Training Requirement_ record to a _Training Assignment_ record upon creation. You can configure additional, custom field values to copy their values in the same way. This is useful for driving custom sharing or matching rules on a _Training Assignment_ record. This functionality supports other training types that require tasks to be assigned to certain users.

For example, a certain type of training requires the _Quality Manager_ to approve the training assignment types. The _Quality Manager_ can be specific on the _Training Requirement_. When the _Training Assignment_ is created, Vault copies the _Quality Manager_ to the _Training Assignment_ record and the approval workflow task can be assigned to the _Quality Manager_.

Fields must meet all of the following conditions to copy their values from the _Training Requirement_ record to _Training Assignment_ objects:

* The field names and types must match exactly.
* The field on the _Training Requirement_ must be associated with the appropriate _Training Assignment_ object types.
* If the field type is _Object_, both custom fields must have the same object reference.
* If the field type is _Picklist_, both custom fields can have the same picklist reference or have matching picklist value names.
* If the field type is _Number_, the minimum or maximum must match between the _Training Requirement_ and _Training Assignment_. If this condition is not met, the _Update Training Assignments_ job does not create the applicable _Training Assignment_, and logs this error in the QualityOne Training [job log.](/en/lr/55176/)
* If the field type is _Text_, the length must match between _Training Requirement_ and _Training Assignment_. If this condition is not met, the _Update Training Assignments_ job does not create the applicable _Training Assignment_, and logs this error in the QualityOne Training [job log.](/en/lr/55176/)

### Unsupported Field Types {#unsupport-types}

Vault does not support the following field types. These are ignored even if the fields obey the rest of the conditions:

* Formula
* Currency
* Lookup

## Configuring User Permissions {#user-perm}

You must ensure users have the appropriate read and create [permissions](/en/lr/22824/) to access the appropriate objects and object fields in addition to the permissions outlined below:

Ensure that Learner user permission sets have _View_ permission to the Learner Homepage tab, labeled _My Learning_ by default. Learner permission sets must also include _Read_ access for the _Training Assignment_ object and the following object fields to view and complete training assignment content from the [Learner Homepage](/en/lr/71126/):

* _Learner_
* _Due Date_
* _Training Content Set_
* _Direct Assignment Request_
* _Part of Class_

Some Training Management features, such as the Learner Homepage and mobile assignment have associated _Pages_. These components are listed in **Admin > Configuration > Pages**. Ensure that [permission sets](/en/lr/22824/) for Learner users have _View_ access for the following _Pages_:

* Training Management Learner Homepage: My Learning Page
* Training Management Mobile: Document Information Page
* Training Management Mobile: Interstitial
* Training Management Mobile: Learner Task Page
* Training Management Mobile: Success Page

[1]: #quizzes
[2]: #persons
[3]: #manager_access
[4]: #learner-roles
[5]: #curricula
[6]: #training-requirements
[7]: #eligible-states
[8]: #facilitated-training
[9]: #training-req
[10]: #ta
[11]: #enable-mobile-task
[12]: #user-perm
[13]: #tr-types
[14]: #learner-homepage-setup
[15]: #custom-field-values
[16]: #impact-assess