Vault Safety template revisions include changes to Vault configuration for general usability improvements. Template revisions are not automatically rolled out to existing customers.
New Vaults created in 22R1 or later will have the following settings by default. Vaults created in an earlier release can optionally be updated to match these changes. The sections on this page provide the instructions to enable these changes.
This page does not cover how to update your template to support new features. The What’s New in 22R1 page outlines which features require configuration upgrades, and provides links to enablement instructions for each feature.
Update the Criteria VQL for the Inbox Item Study Field
Configuration updates have been made to the 22R1 template for the Inbox Item object regarding the Study field Criteria VQL.
This configuration change is documented in the Inbox Item enablement instructions.
Inactivate Base Object Type
Inactivate the Base Object Type for the following objects:
- Case (
case_version__v
) - Case Cause of Death (
case_cause_of_death__v
) - Case Contact (
case_contact__v
) - Case Product (
case_product__v
) - Controlled Vocabulary (
controlled_vocabulary__v
) - Dictionary (
dictionary__v
) - MedDRA Criteria (
meddra_criteria__v
) - Organization (
organization__v
) - Product (
product__v
) - Reporting Family (
reporting_family__v
) - Safety Rule Set (
safety_rule_set__v
) - Study Product (
study_product__v
) - Transmission (
transmission__v
) - Transmission Profile (
transmission_profile__v
)
Note: You cannot inactivate the Base object type if it is being used as the default object type. In the respective object, go to the Details tab and update the Default Object Type field.
- Go to Configuration > Objects.
- Select [Object].
- In the Object Types tab, select the “Base [object]” (
base__v
) heading. - Update the Status field to Inactive.
- Save the page.
- Repeat steps 2-5 for the objects listed above.
Add the Submit to Gateway Action to the Transmission Distribution Object Type
Perform the following configuration to add the Submit to Gateway action to the Distribution object type for Transmissions:
- Go to Configuration > Objects > Transmission.
-
Select the Submit to Gateway checkbox for the Distribution object type.
- Save the page.
Re-Order Sections on the Inbox Item Object Layout
In the 22R1 Vault Safety template, upon creating a manual Inbox Item, the entire Inbox Item page is displayed, instead of only the Organization and Localization fields. Perform the following configuration to update the Inbox Item object layout:
- Go to Configuration > Objects > Inbox Item.
- In the Layouts tab, select the Inbox Item Detail Page Layout.
- Move the Organization and Region section to the top of the page, above the Case Validity and Source section.
- Save the page.
Remove the New Fields Section from Object Layouts
Remove the New Fields section from the object layout for the following objects:
- Study Indication (
study_indication__v
) - Transmission Message (
transmission_message__v
) - Transmission Profile (
transmission_profile__v
)
- Go to Configuration > Objects.
- Select [Object].
- Select the layout from the Layouts tab.
- Delete the New Fields section.
- Save the page.
Add Registration Fields to the External Product Object Layout
Perform the following configurations to add Registration controls to the External product object layout:
- Go to Configuration > Objects > Case Product.
- In the Layouts tab, select the External Products Page Layout.
- In the Registrations section, add the following controls:
- Save the page.
Update the Product Object Layouts
Add the Product Alias section to all Product type object layouts and the Substances section to the following Product type object layouts:
- Biologic Page Layout
- Vaccine Detail Page Layout
- Go to Configuration > Objects > Products.
- In the Layouts tab, select [layout].
- Add a Related Object Section for Product Aliases with the following information:
- Related Object: Product Alias
- Section Label: Product Aliases
- Section Name:
product_aliases__c
- Make sure the Product Aliases section contains the following columns:
- Name
- Alias
- Add a Related Object section for Substances with the following information
IF
you are editing theBiologic
orVaccine
layout:- Related Object: Product Substance
- Section Label: Substances
- Section Name:
substances__c
- Make sure the Substances section contains the following columns:
- Name
- Substance
- Substance > Substance Name
- Substance > Description
- Substance > Substance ID
Remove the Case Classifier Condition from Object Validation Rules
You must remove the Case Classifier condition from certain validation rules in order for the rule to evaluate correctly. Use the table below to update the validation rules for the respective object.
- Go to Configuration > Objects.
- Select [Object].
- Go to the Validation Rules tab and select [validation rule].
- Update the Validation Expressions for the respective validation rules using the table below:
OBJECT VALIDATION RULE VALIDATION EXPRESSION Case Date of Birth Not in Future (text(state__v) = "New" || text(state__v) = "Triage" || text(state__v) = "Duplicate" || text(state__v) = "Revision") ||
If(
not(isBlank(dob_normalized__v)),
dob_normalized__v<= (Today()+Days(1)),
true
)Date of Death Not in Future (text(state__v) = "New" || text(state__v) = "Triage" || text(state__v) = "Duplicate" || text(state__v) = "Revision") ||
If(
not(isBlank(dod_normalized__v)),
dod_normalized__v<= (Today()+Days(1)),
true
)New Info Date cannot be in the future (text(state__v) = "New" || text(state__v) = "Triage" || text(state__v) = "Duplicate" || text(state__v) = "Revision") ||
If(
not(isBlank(new_info_date__v)),
new_info_date__v<= (Today()+Days(1)),
true
)Receipt Date <= New Info Date (text(state__v) = "New" || text(state__v) = "Triage" || text(state__v) = "Duplicate" || text(state__v) = "Revision") ||
If(
not(isBlank(receiptdate_date__v)) && not(isBlank(new_info_date__v)),
receiptdate_date__v <= new_info_date__v,
true
)Receipt Date cannot be in the future (text(state__v) = "New" || text(state__v) = "Triage" || text(state__v) = "Duplicate" || text(state__v) = "Revision") ||
If(
not(isBlank(receiptdate_date__v)),
receiptdate_date__v <= (Today()+Days(1)),
true
)Case Adverse Event Cessation cannot be in the future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" || text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(resolved_normalized__v)),
resolved_normalized__v<= (Today()+Days(1)),
true
)Onset <= Cessation (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
if(isBlank(onset_normalized__v) || isBlank(resolved_normalized__v),true, if(Length(resolved_idate__v) = Length (onset_idate__v) ||
Length(resolved_idate__v) >= 10, onset_normalized__v<= resolved_normalized__v, If(Length(resolved_idate__v) >= 7 && Length (onset_idate__v) >= 7,
date(Value(Left(resolved_idate__v,4)),value(middle(resolved_idate__v,6,2)),1) >= date(Value(Left(onset_idate__v,4)),value(middle(onset_idate__v,6,2)),1), date(Value(Left(resolved_idate__v,4)),1,1) >= date(Value(Left(onset_idate__v,4)),1,1))))Onset cannot be in the future (text(case_version__vr.state__v) = "New" || text(case_version__vr.state__v) = "Triage" || text(case_version__vr.state__v) = "Duplicate" || text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(onset_normalized__v)),
onset_normalized__v <= (Today()+Days(1)),
true
)Case Drug History End Date cannot be in the future (text(case_version__vr.state__v) = "New" || text(case_version__vr.state__v) = "Triage" || text(case_version__vr.state__v) = "Duplicate" || text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(end_date_normalized__v)),
end_date_normalized__v <= (Today()+Days(1)),
true
)Start Date cannot be in the future (text(case_version__vr.state__v) = "New" || text(case_version__vr.state__v) = "Triage" || text(case_version__vr.state__v) = "Duplicate" || text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(startdate_normalized__v)),
startdate_normalized__v <= (Today()+Days(1)),
true
)Start Date <= End Date (text(case_version__vr.state__v) = "New" || text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" || text(case_version__vr.state__v) = "Revision") ||
if(isBlank(startdate_normalized__v) || isBlank(end_date_normalized__v),true, if(Length(end_date_idate__v) = Length (startdate_idate__v) ||
Length(end_date_idate__v) >= 10, startdate_normalized__v<= end_date_normalized__v, If(Length(end_date_idate__v) >= 7 && Length (startdate_idate__v) >= 7,
date(Value(Left(end_date_idate__v,4)),value(middle(end_date_idate__v,6,2)),1) >= date(Value(Left(startdate_idate__v,4)),value(middle(startdate_idate__v,6,2)),1),
date(Value(Left(end_date_idate__v,4)),1,1) >= date(Value(Left(startdate_idate__v,4)),1,1))))Case Medical History End Date cannot be in future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(enddate_normalized__v)),
enddate_normalized__v <= (Today()+Days(1)),
true
)Start Date cannot be in the future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(startdate_normalized__v)),
startdate_normalized__v <= (Today()+Days(1)),
true
)Start Date <= End Date (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
if(isBlank(startdate_normalized__v) ||
isBlank(enddate_normalized__v),true, if(Length(enddate_idate__v) = Length (startdate_idate__v) ||
Length(enddate_idate__v) >= 10, startdate_normalized__v<= enddate_normalized__v, If(Length(enddate_idate__v) >= 7 && Length (startdate_idate__v) >= 7, date(Value(Left(enddate_idate__v,4)),value(middle(enddate_idate__v,6,2)),1) >= date(Value(Left(startdate_idate__v,4)),value(middle(startdate_idate__v,6,2)),1),date(Value(Left(enddate_idate__v,4)),1,1) >= date(Value(Left(startdate_idate__v,4)),1,1))))Case Product Dosage First Admin <= Last Admin (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
if(isBlank(firstadmin_normalized__v) || isBlank(lastadmin_normalized__v),true, if(Length(lastadmin_idate__v) = Length (firstadmin_idate__v) || Length(lastadmin_idate__v) >= 10, firstadmin_normalized__v<= lastadmin_normalized__v, If(Length(lastadmin_idate__v) >= 7 && Length (firstadmin_idate__v) >= 7, date(Value(Left(lastadmin_idate__v,4)),value(middle(lastadmin_idate__v,6,2)),1) >= date(Value(Left(firstadmin_idate__v,4)),value(middle(firstadmin_idate__v,6,2)),1), date(Value(Left(lastadmin_idate__v,4)),1,1) >= date(Value(Left(firstadmin_idate__v,4)),1,1))))First Administration Date not in Future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(firstadmin_normalized__v)),
firstadmin_normalized__v<= (Today()+Days(1)),
true
)Last Admin Not in Future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(lastadmin_normalized__v)),
lastadmin_normalized__v<= (Today()+Days(1)),
true
)Case Test Result Test Date Not in Future (text(case_version__vr.state__v) = "New" ||
text(case_version__vr.state__v) = "Triage" ||
text(case_version__vr.state__v) = "Duplicate" ||
text(case_version__vr.state__v) = "Revision") ||
If(
not(isBlank(date_normalized__v)),
date_normalized__v<= (Today()+Days(1)),
true
) - Delete the Case Classifier field from the Case by navigating to Objects > Case > Fields.
Add Tabs to the Case Distribution Actions
Perform the following configuration to add the Cases and Localized Cases tabs to the Case Distribution Actions permission set:
- Go to Users & Groups > Permission Sets > Case Distribution Actions.
- In the Tabs tab, select the View checkbox for Cases and Localized Cases.
- Save the page.
Create a Security Profile for Non-Admin Permission Sets
Create a new security profile with permission sets for non-Admins:
- Go to Users & Groups > Security Profiles.
- Create a new security profile with the Name “All Case Activity”.
- Add the following Permission Sets:
- Case Distribution Actions
- Case Intake Actions
- Case Entry Actions
- Case Review Actions
- Case Translation Actions
- Safety Operations Actions
- Safety Writer
- Submission Actions
Update Entry Actions Permission Set for Localized Case
Grant Create permissions for the Case Entry Actions on all Localized Case Child objects:
- Go to Users & Groups > Permission Sets > Case Entry Actions.
- Select the Objects tab.
-
Select the Create object permission for all Localized Case Child objects.
- Save the page.
Create a New Inbox Item Case Validity Field and User Action
The 22R1 Vault Safety template contains a new Identifiable Company Product field on the Inbox Item and updated user actions for the Inbox Item lifecycle. The reason being the Promote to Case action is displayed twice for some cases that include a Study Case with a non-study Company Product or a Study with Unspecified Products.
This configuration is documented in the Inbox Item enablement instructions enablement instructions article.
Add the Evaluate Regulatory Conformance User Action to the Case Lifecycle
Perform the following configuration to add the Evaluate Regulatory Conformance user action to the Data Entry state in the Case Lifecycle:
- Go to Configurations > Object Lifecycles > Case Lifecycle.
- Select the Data Entry state.
- Add a new User Action using the following image:
Update Case Lifecycle and Localized Case Lifecycle Entry Actions
You must configure the Entry Actions for the following lifecycle states to asynchronously change the state of related records:
- Case Lifecycle
- Approved
- Closed
- Nullified
- Revision
- Voided
- Localized Case Lifecycle
- Approved
- Closed
- Revision
- Go to Configuration > Object Lifecycles > Case Lifecycle.
- In the States section, select [lifecycle state].
- In the Entry Actions, update all “Change related object lifecycle state” values to “Change related object lifecycle state asynchronously (no limit)”.
- Repeat steps 2-4 for the remaining Case lifecycle states listed above.
- When you are done configuring the Case Lifecycle, go to Object Lifecycles > Localized Case Lifecycle.
- Repeat steps 2-4 for the Localized Case Lifecycle states listed above.
Update the Case Unblinding Workflow for E2B Import
Perform the following configuration steps to include non-E2B import rule conditions so that E2B-imported Study Cases do not require a Study Arm for unblinding:
- Go to Configuration > Workflows > Case Unblinding.
- Select the Study Arms? decision.
- Edit the page:
- Save the page.
Update the Close Submission Task in the Closure Workflow
Make the Close Submission task available to all users in the Close Submission Workflow. The following steps outline how to configure this change in your Vault:
- Go to Configuration > Workflows > Submission: Closure Workflow.
- Select the Close Submission task.
- In the General Settings > Assign Task To field, select Make available to users in participant group.
- Save the page.
Update the Submission: Error Workflow
Add a Manual Submission task to the Submission: Error Workflow to allow Distribution Managers to resolve submission issues by manually submitting the transmission(s).
- Go to Configurations > Workflows > Submission: Error Workflow.
- Select the Decision: Address or Withdraw step.
- Create a rule with the following information:
- If: Task > Task: Review Error > at least one label equals > Address Error
- Then > Create Step: Manual Submission
- Save the workflow decision.
- Select the Manual Submission placeholder.
- Edit the page with the following information:
- Details
- Type: Task
- Next Steps: Create Step > Change State: Complete
- Task Options: General Settings
- Task Label: Submit Manually
- Assign Task To: Distribution Manager
- Select “Make available to users in participant group”.
- Instructions: Manually submit ${Object.case_version__v} to ${Object.destination__v} by ${Object.due_date__v} and upload proof.
- Task Requirement: Required
- Display information about previous tasks: Task: Review Error
- Details
- Save the workflow task.
- Select the Change State: Completed placeholder.
- Edit the page with the following information:
- Details
- Type: Action
- Next Steps: End
- Rules
- Always > Change State > Completed
- Details
- Save the workflow action.
- Make sure your workflow matches the following image and then select Make configuration active:
Update the QC Task in the Case Entry and Case Revision Workflows
In 22R1, the Requires QC (Peer Review) verdict is no longer required for the QC Task in the Case Entry and Case Revision workflows, since users can now send tasks back to the designated group of users.
Perform the following configuration to make this change in your Vault:
- Go to Configuration > Workflows > Case Entry.
- Select the QC task.
- In the Verdicts section, remove the Requires QC (Peer Review) verdict.
- Save the page.
- Go to the Case Revision workflow.
-
Select the Decision: QC Complete? step and remove the following rule:
- Repeat steps 2-4 for the Case Revision workflow.
Update the Medical Review (Not Blinded) Task in the Case Review Workflow
In the 22R1 Vault Safety Template, the Seriousness field on a non-SUSAR Case no longer needs to be populated in order to trigger the Case Review workflow.
Perform the following configuration to remove the Seriousness requirement from the Medical Review (Not Blinded) task: