Vault LIMS contains version control functionality for both static data and execution data.
Version Control for Static Data
Vault LIMS ensures there is full traceability between the Lab Tests that are executed and the static data those records were generated from. This is made possible through a versioning mechanism, whereby records in the Effective state type cannot be edited in any way, and a special Create New Version action must be used before making changes. This applies to records related to Lab Methods, Lab Protocols, and Lab Specifications.
Prevented Changes in Effective State Type
When a version-controlled record is in the Effective lifecycle state type, Vault prohibits the following actions:
- Editing fields
- Adding, removing, or updating related records
- Deleting records
For example, if a Lab Protocol record is effective, you cannot add, remove, or amend any Sample Definition records associated with this effective Lab Protocol.
Creating New Versions of Static Data Records
In order to make changes to Effective static data records, users must first execute the Create New Version action. This action is available to users with Edit permissions in the lifecycle state associated with the Effective lifecycle state type and access to this action in their permission sets. This action creates a new set of records in the Initial lifecycle state type, and allows the user to make the necessary field or related record changes without affecting the prior versions.
Vault copies the following data forward to the new version, depending on the type of static data copied:
- Lab Specification:
- Lab Specification Criteria
- Lab Specification Mapping
- Lab Method:
- Lab Result Definitions
- Lab Method Inputs
- Lab Protocol:
- Lab Sample Definitions
- Join records between Sample Definitions and Lab Methods
- Protocol Variable Targets: See more information on calculations.
By making new records using this versioning mechanism, LIMS ensures that the changes will not affect any in-flight or historical data.
Due to the hierarchy of these records, in order to make changes to a lower level record, such as a Lab Result Definition which resides inside a Lab Method version, you must create a new version of the top level record first, creating new, draft copies of all the underlying related records.
When a static data record enters the Effective lifecycle state type, Vault automatically moves the prior effective version to the Superseded state type.
When creating a new static data record, LIMS assigns it a group record: Lab Protocol Group,
Lab Specification Group, or Lab Method Group. When creating new versions of static data records, the new versions reference the same group record as the record they’re created from. This allows LIMS to understand them as part of the same version history, and renders this in a specialized Version History object page layout section, allowing you to see and compare the current version to the other versions. You cannot create new versions from this section. Instead, you must use the Create New Version action on the latest version.
About Calculation Constant Versioning
Vault LIMS tracks versions of Lab Calculation Constants in a different manner. Every time you edit a Lab Calculation Constant Value record, the system creates a Lab Calculation Constant Value Version record.
When Lab Calculation Constants are referenced by Lab Result Variables, LIMS targets the specific, current version of the Lab Calculation Constant Value record, to ensure full traceability if the constant value is ever updated for any reason.
Version Control for Execution Data
Vault LIMS maintains traceability for Lab Results via the Lab Result History object. Whenever a result’s value field is updated, LIMS automatically creates a new Lab Result History record. If the change is made prior to result evaluation, this is recorded as a Result Entry record. If the change is made after result evaluation, this is recorded as a Result Change record.
If a change is made after result evaluation, but the user decides not to commit their change and revert to the prior value, this result change is still recorded, but as a Reverted Result record.
The Lab Result History object acts as a high level audit trail of result value changes, allowing users to report on the result changes, and for Vault LIMS to render these in a specialized Lab Result History modal.
Lab Location History
Every time the Parent Location field on a Lab Location is updated, Vault LIMS automatically creates a related Lab Location History record, denoting where it moved from and to, by whom, and the Date/Time. LIMS also creates these records if the Parent Location record itself is moved to a new location.
The following permissions affect a user’s ability to create new versions and view Vault LIMS version histories:
- Object Action Permissions: LIMS: Create New Version: View, Execute for the following objects:
- Lab Method
- Lab Protocol
- Lab Specification
- Object Control Permissions: View History for the following objects:
- Lab Method
- Lab Protocol
- Lab Specification