Vault Training uses a system-managed job called Update Training Assignments to automate the creation and distribution of assignments and tasks. Vault creates training assignments when learner role, curriculum, and training requirement object records are all in eligible lifecycle states. Conversely, Vault does not create training assignments for object records in retired or inactive lifecycle states.
You can determine when and how often the job runs to best suit your requirements. Otherwise, Vault defaults the job to run at midnight UTC.
Note: The Update Training Assignments job is necessary to the functionality of Vault Training, and therefore cannot be removed or edited beyond setting when the job occurs.
About Child Training Jobs
The Update Training Assignments job can potentially create thousands of Training Assignment records in a single run. To optimize job performance, the Update Training Assignments job spawns child jobs to perform actions on assignment records after creation:
- State Change Training Assignments: Performs state changes on each Training Assignment from the Created lifecycle state to the Assigned state.
- Cancel Training Assignments For Person: Changes the state of Training Assignments to Cancelled if they were assigned to a Person who was since made Inactive or whose training eligibility was set to Ineligible.
While these child jobs are running, Training Assignments created by the most recent Update Training Assignments job may still be in the Created state even after the primary Update Training Assignments job completes. Learners typically receive notifications about a new assignment once it enters the Assigned state. If a child job does not complete successfully, information about the error is stored in the Training Assignment record, as well as the child job log files, viewable from the Training Job Status page.
You can configure the State Change Training Assignments record action on the Training Assignment object and lifecycle to retry this state transition. To set up this action for use in the bulk action interface, add the State Change Training Assignments (bulk) action instead.
All related objects records must be in their respective eligible lifecycle states for the Update Training Assignments job to create or update training assignment records.
When the Update Training Assignments job runs, Vault checks the configuration of all person, curriculum, training requirements, and learner role object records and creates training assignments for object records that are in eligible lifecycle states or have had changes made to their configuration. Related records for all four (4) object records must be in their eligible state, or Vault doesn’t create a training assignment.
For example, your Vault has a Solid Dosage Specialist learner role that is assigned the General GxP Documents curriculum which itself has the Employee Conduct Policies and Document Management training requirements. If New Employee’s lifecycle state is Eligible and General GxP Documents is Available, but Employee Conduct Policies is Retired, Vault only creates a training assignment for the Document Management requirement.
Vault captures the creation reason in the Creation Reason picklist field on the resulting Training Assignment record. The possible values are: Matrix Updates, Document Updates, and Recurrence.
By default, Vault uses the Status field on the Person object to determine whether a Person should receive Training Assignment tasks.
If enabled, Vault can use an alternate field, Training Eligibility, to determine whether a Person should receive Training Assignment tasks. Functionally, a Training Eligibility value of “Eligible” is the same as a Status of “Active”, and a Training Eligibility value of “Ineligible” is the same as a Status of “Inactive”. Person, Lifecycle, and other Vault functionalities can also be used to set the Training Eligibility field.
When a Learner Role is added to a Person record, Vault automatically checks whether the Person object record appropriately references an active User or if another Person record references the same User. Vault displays an error when attempting to save such a Person object record. While the Training Eligibility feature is enabled, Vault does not perform this check if the Training Eligibility value is either Not Eligible or blank.
Users cannot update the Training Eligibility field on a Person record while the Cancel Training Assignments for Person job is running.
Note: This feature is a prerequisite for other Training features, such as Facilitated Training and auto-managing Person records, and is automatically available in Vaults created on or after the 19R3 release. If the Training application was enabled in your Vault in 19R2 or earlier, you must contact Veeva Support to enable Training Eligibility field functionality.
Retiring Learner Roles, Curricula, & Training Requirements
Note: You cannot move a Learner Role, Curriculum, or Training Requirement record out of a retired or inactive state. If a record is accidentally retired, you must create a new one.
In the case that a particular learner role, curriculum, or training requirement is no longer needed, you can change its lifecycle state to the respective retired or inactive state. When records leave their eligible lifecycle state and enter the retired or inactive state, Vault:
- Stops creating new training assignments
- Changes the state of any open training assignments associated with those object records, including imported Training Assignment records, to the Cancelled state
- Cancels workflows and user tasks
Versioning Documents in Vault Training
When a new version of a document enters the lifecycle state configured with the Issue Training Assignment entry action, Vault updates the document version on Training Requirements that reference the document if the Training Requirement only contains one non-e-learning document without a quiz. If the Training Requirement contains an e-learning document, more than one document, or has a quiz, then Vault searches for a Training Requirement Impact Assessment (TRIA) in the Pending System Updates to Training Req. state. If Vault does not find such an open TRIA when executing the action, it updates the document version on Training Requirements that include the updated document.
By default, Vault cancels previously open assignments when issuing a new Training Assignment for the same document. The Issue Training Assignment entry action has the following options:
- Keep Open Training Assignments: Select this checkbox if you do not want to cancel open assignments for documents. Note that Learners may then have multiple Training Assignments with different document versions for the same document.
- Do Not Re-Train: Select this checkbox if you only want to issue Training Assignments to applicable Learners that do not currently have a Training Assignment for the document.
- Use Document Date Field as a Due Date: Select this checkbox if you want to base Training Assignment due dates for the new version of a document based on a document Date field, such as Proposed Effective Date. Select a document date field from the drop-down, then enter a number of days to add to that date to determine the final due date for document revision training. Note that the Document Revision Training Due Date field in the Training Requirement will be empty if the selected document date field is not available in the revised document.
To prevent a Learner from completing training against a superseded document, configure the Cancel Open Training Assignments entry action on the Superseded document lifecycle state. When the document enters the Superseded state, Vault cancels open Training Assignments that reference the superseded document.
You can configure a document lifecycle to automatically find Training Requirement records that reference an obsolete document and change the lifecycle state to Retired. To do so, configure the Change Related Training Requirement to Retired document lifecycle entry action to the obsolete document state.
If you have defined substitution rules for Training Requirements in your Vault, the Update Training Assignments job will create the primary Training Assignment in the Pending Substitute Completion (
pending_substitute_completion_state__v) lifecycle state and create a join record in the Related Training Assignment (
related_training_assignment__v) object. The job creates a substitute Training Assignment in the Assigned lifecycle state.
About Training Assignment Sharing Settings Update Failures
If the Update Training Assignment job cannot add the Learner or Direct Manager role to Sharing Settings for the Training Assignment, Training Assignment Details, or the Training Assignment’s documents, the job will still create Training Assignments, but the records will remain in the Created state rather than the Assigned state. The Update Training Assignment job will not successfully complete and will end in a state of Errors Encountered, and the job log will contain the reason the Sharing Settings could not be updated.
The next time the Update Training Assignment job runs, the job will change the state of the Training Assignment from Created to Assigned, even if the issue that caused the Sharing Settings error is not updated.
Fix Training Assignment Sharing Settings Action
In cases where an issue is resolved and you want to fix the Training Assignment immediately, a user action is available to do so. If necessary, you can perform the Fix Training Assignment Sharing Settings user action on a Training Assignment record to populate the Learner and Manager roles on the Training Assignment, and the Trainee role on documents in the assignment’s content set. To use this action, you must first add it to the Training Assignment lifecycle’s Created state. To set up this action for use in the bulk action interface, add the Fix Training Assignment Sharing Settings (bulk) action instead.
You can view the status of the job and receive information on why/when a job did not complete. In the example above, Vault records the failure of the training assignment creation due to the training requirement Employee Conduct Policies not being in its eligible lifecycle state.
View the status of this and other jobs Vault creates in your Vault from Admin > Operations > Job Status.
You can view the progress and results of child training jobs at Admin > Configuration > Training Job Status, or by clicking View Related Training Jobs from the Update Training Assignments job instance. Child jobs are started from the parent Update Training Assignments job.
On the Training Job Status page, the Running section displays any child jobs that are currently running in a sortable list. The Job History section displays child jobs that have previously completed. Using the drop-down menus, you can filter the Job History list by child job Status or by a parent Update Training Assignments Job ID, which you can find at Admin > Operations > Job Status. Each child job produces a log file upon completion.
If the Update Training Assignments job creates a Training Assignment record but the child State Change Training Assignments job or Cancel Training Assignments For Person job fails, Vault populates several fields on the Training Assignment record with data about the error:
- Training Job: The originating child job that failed.
- Training Job ID: The specific instance of the originating child job.
- Errors Encountered: Whether there were errors encountered during automation.
- Error Message: Additional information about the error which prevented the job from successfully completing.
To help track and address such errors, you can schedule a flash report which reports on these fields.
After the Update Training Assignments job runs, you can download the job log by clicking the Action menu on the job instance. The Update Training Assignments job log lists a count of changes that were flagged as processing, processed, and successfully completed, as well as any substitution logic that was applied. The log lists any errors that occurred during the job run.
This log also lists typical information such as Job Schedule Time and Job Execution Time.
Example Update Training Assignments Job Log
This sample job log details the results of an Update Training Assignments job that encountered an error:
In this case, you can see that the job processed the following changes and evaluated their impact:
- One (1) Training Requirement object record entered the Eligible state.
The job then processed Training Assignments:
- One (1) error was encountered: A Person record was associated with an inactive User record.
- Four (4) training paths were evaluated, resulting in one (1) updated Training Assignment and one (1) new Training Assignment Details object record.
The job log then lists typical summary information.
If a training path is determined by the job to be in development, the job log shows eligibility information for that path:
In the above log excerpt, the path was determined to be ineligible because the associated Curriculum was not in an eligible lifecycle state.