Some Veeva Training and Veeva Study Training processes rely on an advanced concept called live calculation to ensure that all training matrix updates are reflected for Learners as quickly and efficiently as possible. In many cases, this just-in-time approach means that assignments processed via live calculation do not appear in the Vault UI until live calculation is invoked. As a result, Training Admins or Vault Admins attempting to troubleshoot Training Assignment issues can be misled by “missing” assignments live calculation will process at a future time.
Note: This page is intended for Training Admins or Vault Admins to understand when Vault uses live calculation, and how this behavior is reflected in the Vault UI in certain scenarios. It is not intended to document all cases of live calculation. For more information or troubleshooting assistance, we recommend visiting the Veeva Training community in Veeva Connect before contacting Veeva Support.
Live Calculation & Substitute Training
Vault uses live calculation logic to support many Veeva Training and Veeva Study Training processes. While live calculation seamlessly operates in the background in most cases, Substitute Training relies on live calculation to delay making any assignment updates until live calculation is invoked. This visible “symptom” of live calculation can cause confusion for a Training Admin or Vault Admin attempting to understand a Learner’s current and future assignments based on these rules.
How Live Calculation Works in Substitute Training
The Update Training Assignments job handles standard training matrix configuration changes, such as creating new assignments when a Person is added to a Learner Role, or cancelling assignments when a Training Requirement is retired. While the job can handle applying Substitute Training rules in place at the time it creates assignments, it cannot handle subsequent changes to these rules alone. Instead, Vault relies upon live calculation to process and resolve any new and updated rules as they apply to current open assignments: Where the job can create an assignment for a new SOP with substitute rules, only live calculation can handle any updates to the substitute rules while the assignment is open.
Generally, live calculation is required to ensure Vault remains performant while delivering training to Learners before or when they require it. For Substitute Training, Vault invokes live calculation when any user views the assignment. Most commonly, this is when the Learner loads their Learner Homepage, however Vault also invokes live calculation when any user with appropriate access to view the assignment (such as a Training Admin or Manager) does so.
This means that, in situations where new or updated rules are the only impact to a Learner’s open assignments, Training Admins attempting to locate the resulting assignments will not find them unless and until they or the Learner invokes live calculation by viewing the assignment record or loading the Learner Homepage.
Note: The Update Training Assignments job is capable of processing assignments where rules are in place at the time of the job run, and the job can similarly handle rule updates when processing them alongside other matrix update events. Vault invokes live calculation only when it is required to process rule changes alone. As a result, an assignment which should be “missing” (based on the live calculation behavior described here) may appear as expected when that assignment is additionally impacted by Update Training Assignments job updates. See additional details on this scenario below.
About the Update Training Assignment Job
The Update Training Assignment job runs and creates or deletes Training Assignments for specific events, including:
- Matrix record associations, disassociations, or deletions, such as a new Learner Role added to a Curriculum, or a Person removed from a Learner Role (which deletes the related Person-Learner Role record).
- Matrix record state changes, such as a Training Requirement moving from Draft to Ready for Use, or from Ready to Use to Retired.
- Updates to certain Training Requirement fields which control Learner assignment, such as Recurrence.
- Training Assignment updates, such as those implemented during the TRIA process.
- Matching configuration changes, such as for Curriculum Matching Rules or Dynamic Enrollment.
Substitute Training: Live Calculation Scenario
VernBio’s training matrix includes Classroom Training Requirements intended specifically for Learners attending live, in-person sessions. A recent update to training procedures specifies that Learners who cannot attend a live session can instead watch a video and receive credit for the training topic overall. This supports new hires, as well as anyone who otherwise cannot attend a session once assigned.
To do this for an existing “Internal Communication Best Practices” Classroom Training Requirement, the VernBio Training Admin:
- Creates a substitute Vault Document Training Requirement with the video.
- Adds a substitute rule to the existing primary Classroom Training Requirement.
Once all components are in place, the Update Training Assignments job properly creates substitute Vault Document Training Assignments for new Learners and updates their classroom assignments to the Pending Substitute Completion state. However, the Training Admin additionally observes that the job did not perform in the same way for existing Learners with open “Internal Communication Best Practices” classroom assignments: Instead of new substitute assignments for the video, these Learners still have their classroom assignments in the Did Not Complete Class state.
Upon investigation with Veeva Support, this suspected issue is deemed to be working as designed due to live calculation. This is because:
- When the Training Admin added the new Learners (Persons) to Learner Roles, this qualified as a matrix update for the Update Training Assignments job to handle. Along with the matrix updates, the job additionally processed the substitute rule in place at the time of the job run, resulting in the new substitute assignments.
- In contrast, creating the substitute Vault Document Training Requirement did not qualify as a matrix update for the Update Training Assignments job to handle. This is because substitute Training Requirements cannot be part of a Curriculum.
- When the Training Admin added substitute rules, the current open assignments for existing Learners were subject to live calculation updates only, as the Update Training Assignments job does not process rule changes alone. This means that, in order to invoke live calculation (such that the Training Admin can see the Learners’ substitute assignments) the Learner must view the assignment as they normally would. Alternatively, a Training Admin (or other user with appropriate permissions) can invoke live calculation by viewing each primary assignment individually.
Note: Live calculation is intended to operate such that Learners seamlessly invoke live calculation by loading their Learner Homepage during the normal flow of training activities. The Training Admin action described above is a workaround required only when attempting to predict the outcome of matrix updates.
Feedback & Support
Live calculation is an advanced Vault concept. If you are troubleshooting in your Training or Study Training Vault and have any feedback or questions about the content on this page, we recommend visiting the Veeva Training community in Veeva Connect before contacting Veeva Support.