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.
Automation Logic
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.
Person Training Eligibility
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 “Not Eligible” 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.
Note: Contact Support to enable the Training Eligibility field. This feature is not automatically available if Vault Training was added to your Vault prior to the 19R2 release.
Retiring Learner Roles, Curricula, or Training Requirements
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 training assignments and cancels any open training assignments associated with those object records. This includes workflows and user tasks.
Note that you cannot move a learner role, curriculum, or training requirement object record out of a retired or inactive state.
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 Superceded 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.
Known Issue for Entry Action: Issue Training Assignment
When the Issue Training Assignment entry action runs on a document in a TRIA-necessary Training Requirement, and the document has previously been part of a TRIA given the Changes do not affect Training Requirement verdict, the entry action will not update the Training Requirement’s content set.
Veeva Vault will introduce a fix for this issue (Issue No. DEV-453054) in a future release.
Substitute Training
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.
Once the issue that caused the failure is resolved, when the Update Training Assignment job runs again, the job will attempt to add the Learner or Direct Manager role to Sharing Settings for the Training Assignment, Training Assignment Details or the Training Assignment’s documents. If successful, the Training Assignment will enter the Assigned state.
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.
Job Status
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.
Child Training 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.
Vault Training Job Errors
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.
Vault Training Job Logs
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:
Click here to download a the sample job log file.
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.