**Source URL:** https://general.veevavault.dev/quality/migrations/guides/quality-migrations/vault-training.md

# Migrating Data to Veeva Vault Training



This guide provide best practices for migrating quality data to Vaults with the Veeva Vault Training application. The [general best practices](/migrations/references/migration-best-practices) and [data transformation considerations](/migrations/references/data-transformation) for Vault migrations apply to all application families.

## Use Case {#use-case}

The primary use case for a Vault Training migration is a [legacy migration](/migrations/overview). A Vault Training migration usually involves migrating *Training Matrices* and *Training Assignments*.

## Considerations {#considerations}

### Automation {#automation}

Vault Training has many standard automated processes which cannot be customized. These automated processes should not affect most migration projects from legacy systems but should be considered when evaluating expected outcomes after the migration.

### Update Training Assignment Job {#update-training-assignment-job}

For the duration of the migration, inactivate the `update_training_assignment__v` job definition to prevent Vault from issuing incorrect assignments. When the migration is complete, you should reactivate the job. Observe what happens on the first job run following the migration to confirm that Vault is issuing *Training Assignments* as expected.

### Training Matrix {#training-matrix}

When migrating a training matrix from a legacy system, you should not attempt to adopt it as is. Before migration, you should conduct a mapping exercise to convert the legacy matrix to the [Vault Training matrix model](https://quality.veevavault.help/en/gr/50953/#vault-training-objects), which consists of *Learner Roles*, *Curricula*, and *Training Requirements*.

A thorough understanding of the *Training Matrix* is necessary, especially when preparing *Training Requirements* for migration since the *Training Matrix* drives the automation that creates *Training Assignments*.

If any part of the legacy training matrix migration is incorrect, we recommend deleting the part that is incorrect and migrating it from the beginning. Attempting to remediate bad data after migration to Vault can create unintended complications.

### Training Requirements {#training-requirements}

We recommend migrating one document per training requirement. This provides a simpler configuration, with one signature per training requirement. If a training requirement requires sequencing or prerequisites, implement [Curriculum Sequencing and Prerequisites](https://quality.veevavault.help/en/gr/589032). If additional documents must be associated with a training requirement, most use cases are covered using [Supplemental Materials](https://quality.veevavault.help/en/gr/627041).

*Training Requirements* have a set of metadata and related objects that tell Vault how to treat *Recurrence*, *Initial Assignment Date*, *Prerequisites*, and other fields. While these fields may be optional, you should consider setting their values during the migration process to save time for Training Administrators after the records have been created.

### Document Dependency {#document-dependency}

Most Vault Training migrations also include document migration into QualityDocs. Ensure all the documents are present in the system before migrating *Vault Document Training Requirements* and their related *Content Sets*. These *Content Sets* are also used when migrating *Training Assignments*.

### Training Assignments {#training-assignments}

We recommend only migrating the latest version of completed *Training Assignments*. We don’t recommend migrating previous versions of completed assignments; however, you should prepare a report of this data from the legacy system and save it externally for compliance reasons. We do not recommend migrating open *Training Assignments* since Vault assigns them when the *Training Matrix* goes live.

When importing completed *Training Assignments*, ensure that Vault does not assign them again to users. You can achieve this by mapping *Training Assignments* to the correct *Training Requirements*. Additionally, you should map *Vault Document Training Assignments* to the correct *Content Sets*.

Vault uses a combination of field values on related objects associated with the *Training Assignments* to determine whether a new training must be assigned:

* The *Training Requirement*: *[Do Not Re-train](https://quality.veevavault.help/en/gr/50967/#versioning-documents-in-vault-training)* and *[Keep Open Training Assignments](https://quality.veevavault.help/en/gr/50967/#versioning-documents-in-vault-training)* fields as well as any [Recurrence-related](https://quality.veevavault.help/en/gr/4788081) fields help determine whether a new *Training Assignment* will be created.

* If the *Content Set* of the *Training Assignment* matches the current user's *Content Set* on the *Training Requirement*, a new training assignment will not be created.



---

**Previous:** [Migrating Data to Veeva QMS](/quality/migrations/guides/quality-migrations/qms)  
**Next:** [References](/quality/migrations/references)