Learn how to connect Vault Safety to Amazon Translate for localized intake and Case Submissions.

About the Feature

The Vault Safety Auto-Translation Framework facilitates the translation of Case text fields to local languages through Amazon Translate. Admins can configure translation settings by localization, controlling which fields are translated and setting volume limits.

After completing the required configuration, see Prepare a Localized Case for details on using this feature.

23R1 Update: Local Intake Auto-Translation Framework

In Vault Safety 23R1, the Auto-Translation Framework was added for localized Inbox Item intake, whether through manual creation or importing a local Inbox Item. This feature enables translating Inbox Item text fields from reporter languages to English through Amazon Translate. See the (23R1) enablement instructions to configure your Vault for local intake translation.

For more information about using this feature, see Perform Local Language to English Intake.

Prerequisites

Before enabling the Vault Safety Auto-Translation Framework, your organization must have an AWS account with Amazon Translate and complete the following tasks:

  • Set up an Amazon Simple Storage Service (Amazon S3) bucket
  • Set up an Identity and Access Management (IAM) role and configure its event bus
  • Communicate your AWS Account ID to Veeva Support

All of these steps must be completed before the feature can be used. Veeva Support will contact you when setup is complete.

Set Up an Amazon S3 Bucket

Complete the following steps to add an Amazon S3 bucket to your AWS account:

  1. Create an S3 bucket with a name of your choosing.
  2. In the S3 bucket, create two folders with the following names:
    • "translate_folder"
    • "translate_output"

Set Up an Identity and Access Management (IAM) Role

To set up an AWS IAM role, which will be assumed by Vault Safety, you must complete the following tasks:

Generate an External ID in Vault Safety

In Vault Safety, complete the following steps to generate an External ID on the Amazon Translate Connection record:

  1. Go to Admin > Connections > Amazon Translate Connection.
  2. In the All Actions menu, select Generate External ID.

Sample System-Generated External ID

Configure an IAM Role in AWS

In your AWS account, complete the following steps to configure an IAM role for Vault Safety to assume:

  1. Create an IAM role with a name of your choosing.
  2. Add the following permission set, replacing <Your account id>, <Your Role Name>, and <Your Bucket Name> with the applicable details:
    {
       "Version": "2012-10-17",
       "Statement": [
          {
           "Action": "iam:PassRole",
           "Resource": "arn:aws:iam::<Your account id>:role/<Your Role Name>",
           "Effect": "Allow"
          },
          {
             "Action": [
               "translate:StopTextTranslationJob",
               "translate:ListTextTranslationJobs",
               "translate:StartTextTranslationJob",
               "translate:TranslateText",
               "translate:DescribeTextTranslationJob",
               "translate:TranslateDocument"
             ],
             "Resource": "*",
             "Effect": "Allow"
           },
           {
             "Action": [
               "s3:GetObject",
               "s3:ListBucket",
               "s3:PutObject",
               "s3:GetBucketLocation",
               "s3:DeleteObject",
               "s3:DeleteBucket"
             ],
             "Resource": [
               "arn:aws:s3:::<Your bucket name>",
               "arn:aws:s3:::<Your bucket name>/*"
             ],
             "Effect": "Allow"
           }
         ]
       }
  3. Add the following trust relationships replacing <Your generated external ID> with the Vault Safety-generated External ID.
    {
       "Version": "2012-10-17",
       "Statement": [
          {
           "Effect": "Allow",
           "Principal": {
             "Service": "translate.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
           },
           {
             "Effect": "Allow",
             "Principal": {
               "AWS": [
                 "arn:aws:iam::091592193973:root"
               ]
             },
             "Action": "sts:AssumeRole",
             "Condition": {
               "StringEquals": {
                 "sts:ExternalId": <Your generated external ID>
               }
             }
           }
         ]
       }
  4. On your default event bus, create a rule to push completed translation jobs to Veeva's event bus.
  5. Configure the rule as described below:
    • Add the following event pattern:
      {
         "source": ["aws.translate"],
         "detail-type": ["Translate TextTranslationJob State Change"]
      }
    • Based on the region of your Vault and the release type (General or Limited), add a target for the form using the following format:
      arn:aws:events:< region >:091592193973:event-bus/< region >
      - < release >-prod-Vault-Safety-Connections-Event-Bus
      • For example, if your Vault is in us-east-1 and in the General Release environment, your target would be as follows:
        arn:aws:events:us-east-1:091592193973:event-bus/
        us-east-1-gr-prod-Vault-Safety-Connections-Event-Bus

Communicate AWS Account ID to Veeva Support

Contact Veeva Support to provide your AWS Account ID. This enables us to complete the setup of your Translate Connection. You will be contacted when the feature is ready for use.

Additional Resources

To find out more about configuring AWS accounts to be accessible by third parties, see the following resources:

Add the Translate Localized Case Action

  1. In Admin, go to Configuration > Objects > Localized Case > Actions.
  2. Select Create to add the Translate Localized Case action.
  3. Select Save.

Configure the Localized Case Lifecycle

Admins can set up the Localized Case lifecycle so that the translation request is sent either automatically or manually.

To update the Localized Case lifecycle, go to Admin > Configuration > Object Lifecycles > Localized Case Lifecycle.

Configure Automatic Translation Requests

To automatically send translation requests when Localized Cases are created, add the Translate Localized Case event action.

  1. In the Event Actions section, select Create Record.
  2. On the Lifecycle Event Action: Create Record page, select Edit and then Create Event Action.
  3. Configure the Event Action according to your organization's process. The following examples show how to set up the Translate Localized Case action with all languages or specific languages.
    Translate Localized Case Event Action for All Languages Translate Localized Case Event Action for Specific Languages
  4. Select Save.

Configure Manual Translation Requests

To send translation requests manually after Localized Case creation, add the Translate Localized Case user action.

Complete the following setup on the Active and Revision states of the Localized Case lifecycle.

  1. In the States section, select the state that you are editing.
  2. In the User Actions section, select Edit.
  3. Select the Always option, and then select Translate Localized Case from the picklist.
  4. In the Action Label field, enter "Translate Localized Case".
  5. Select Save.

Add the Translate Localized Case User Action

Create a Translation Detail Page Layout

Complete the following steps to create the Translate Connection layout.

  1. Go to Admin > Configuration > Objects > Connection > Layouts.
  2. Select Create to add a Translation Detail layout.
    Add the Translation Detail Page Layout
  3. Configure the Details section as shown below.
    Translate Connection Details Section
  4. Insert the Translation Settings related object section, and configure it as follows:
    • In the Creation Option field, select Create record in pop-up dialog.
    • In the Section Help field, enter "Translation settings for Localized Case automatic translation".
    • In the Criteria VQL field, enter
      object_type__vr.api_name__v CONTAINS
      ('localized_case_translation_settings__v')
    • Select the Apply on Create checkbox.

    Translation Settings Related Object Section
  5. In the Local Case Translation Settings section, select Edit Columns to add the following columns:
    • Number of Requests in Current Month
    • Maximum Number of Requests per Month
    • Maximum Number of Characters per Request
    • Complete State
    • Excluded Fields
  6. Insert the Translate Connection Language related object section, and configure it as follows:
    • In the Creation Option field, select Prevent record creation.
    • In the Section Help field, enter "Languages supported by this Translate Connection".

    Translate Connection Language Related Object Section
  7. In the Translation Languages section, select Edit Columns to add the Language column.

Translation Detail Page Layout

Update the Translation Settings Detail Page Layout

Complete the following steps to update the Translation Settings Detail Page Layout.

  1. Go to Admin > Configuration > Objects > Translation Settings > Layouts > Translation Settings Detail Page Layout.
  2. Configure the Details section as shown below.
    Translation Settings Detail Page Layout
  3. Insert the Translation Localization > Localization related object section, and configure it as follows:
    • In the Creation Option field, select Create record in pop-up dialog.
    • In the Section Help field, enter "Select the Localizations for translation with this Connection."
      Translation Localization > Localization Related Object Section

Translation Settings Detail Page Layout

Activate the Amazon Translate Connection Settings

Complete the following steps to add the applicable AWS account settings to your Amazon Translate Connection.

  1. Go to Admin > Connections > Amazon Translate Connection.
  2. In the All Actions menu, select Edit.
  3. In the Bucket Name field, enter the name of the Amazon S3 Bucket created in the Set Up an Amazon S3 Bucket section.
  4. In the Role Arn field, enter the Arn from the IAM role created in the Set Up an Identity and Access Management (IAM) Role section.
  5. In the All Actions menu, select Activate Translation Connection.

(23R1) Configure the Auto-Translation Framework for Local Intake

The following sections describe how to configure your Vault for automatic translations of localized Inbox Item text fields to English.

Add the Translate Inbox Item Action

  1. Go to Admin > Configuration > Objects > Inbox Item > Actions.
  2. Select Create to add the Translate Inbox Item action
  3. On the Create Action page, you can leave the default settings and select Save.

Update the Translation Detail Page Layout

Complete the following steps to insert the Intake Translation Settings section on the Translation Detail Page Layout.

  1. Go to Admin > Configuration > Objects > Connection > Layouts > Translation Detail Page Layout.
  2. Insert the Translation Settings related object section, and configure it as follows:
    • Section Label: Intake Translation Settings
    • Creation Option: Create record in pop-up dialog
    • Section Help: Enter "Translation settings for automatic translation of local language to English during Inbox Item intake"
    • Criteria VQL: Enter object_type__vr.api_name__v CONTAINS ('inbox_item_translation_settings__v')
    • Select the Apply on Create checkbox.
      Intake Translation Settings
  3. In the Intake Translation Settings section, select Edit Columns to add the following columns:
    • Number of Requests in Current Month
    • Maximum Number of Requests per Month
    • Maximum Number of Characters per Request
    • Complete State
    • Excluded Fields
  4. Select Save.

Create the Intake Translation Settings Detail Page Layout

Complete the following steps to create the Intake Translation Settings layout.

  1. Go to Admin > Configuration > Objects > Translation Settings > Layouts.
  2. Select Create.
  3. On the Add Layout dialog, in the Object Type field, select Intake Translation Settings, and then select Create.
  4. Configure the Details section as shown below.
    Intake Translation Settings Details
  5. Insert the Translation Localization > Localization related object section, and configure it as follows:
    • Section Label: Localizations
    • Creation Option: Create record in pop-up dialog
    • Section Help: Enter "Select the Localizations for translation with this Connection."
      Translation Localization > Localization Settings

Intake Translation Settings

Configure the Inbox Item Lifecycle

Admins can configure the Inbox Item lifecycle so that translations can be requested by using the Translate Inbox Item user action.

To update the Inbox Item lifecycle, go to Admin > Configuration > Object Lifecycles > Inbox Item Lifecycle.

Add the Translate Inbox Item User Action

Complete the following steps to add the Translate Inbox Item user action.

  1. In the States section, select New.
  2. In the User Actions section, select Edit.
  3. Depending on your business process, such as for specific localizations on Inbox Items, select Perform with conditions or Always.
  4. Select Translate Inbox Item from the picklist.
  5. In the Action Label field, enter "Translate Inbox Item".
  6. Select Save.

Optional: Configure Translation Notifications

Depending on your business needs, you can configure email and notification messages for translation states. For example, you can configure your Vault to send messages when a translation successfully completes on a Localized Case. You can create new messages or use Vault’s Translation Success and Localized Case Translation Success notification templates. Optionally, configure notifications as an entry action on the Inbox Item Lifecycle and the Localized Case Lifecycle object lifecycles for the following states:

  • Translation Error
  • Translation Requested
  • Translation Verification

Case Text Fields That Can Be Translated

Expand the following section to review which Case text fields are available for translation through a Translation Connection.

Data Field Labels
Case > Medical History Text (medical_history_text__v)
Case > Reporter's Comments (reporters_comments__v)
Case > Company Comments (sender_comments__v)
Case > CIOMS Remarks (cioms_remarks__v)
Case > Reporting Summary (reporting_summary__v)
Case > Study Name (study_name__v)
Case > Study Name (continued) (study_name_continued__v)
Case Adverse Event > Event (Reported) (event_reported__v)
Case Adverse Event > Hospital City (hospital_city__v)
Case Adverse Event > Hospital State (hospital_state__v)
Case Assessment Result > Method (Text) (method_text__v)
Case Assessment Result > Result (Text) (result_text__v)
Case Assessment Result > Source (Text) (source_text__v)
Case Contact > Additional Information (additional_information__v)
Case Contact > City (city_value__v)
Case Contact > Department (department_value__v)
Case Contact > Facility (facility_name__v)
Case Contact > First Name (firstname_value__v)
Case Contact > Last Name (lastname_value__v)
Case Contact > Middle Name (middlename_value__v)
Case Contact > Organization (organization_value__v)
Case Contact > State / Province (state_province_value__v)
Case Contact > Street (street_value__v)
Case Contact > Street Line 2 (street_line_2_value__v)
Case Contact > Title (title_value__v)
Case Drug History > Drug (Reported) (name_reported__v)
Case Drug History > Drug (Coded) (product_name__v)
Case Identifier > Source (source__v)
Case Medical History > Condition / Procedure (Reported) (name_reported__v)
Case Medical History > Comments (comments__v)
Case Product > Product (Coded) (product_name__v)
Case Product > Product (Reported) (product_reported__v)
Case Product > Registration Holder/Applicant (registration_mah__v)
Case Product Dosage > Dose Text (dose_text__v)
Case Product Dosage > Dose (Unit Text) (dose_unit_text__v)
Case Product Dosage > Parent RoA Text (parent_adminroute_text__v)
Case Product Dosage > Patient RoA Text (patient_adminroute_text__v)
Case Product Indication > Name (Reported) (name_reported__v)
Case Product Substance > Name (name__v)
Case Case Test Result > Comments (comments__v)
Case Case Test Result > Result (Text) (result_text__v)
Case Case Test Result > Test Name (Reported) (name_reported__v)
Localized Case > Additional Pregnancy Related Information (additional_pregnancy_related_info__v)
Localized Case Comment > Comments Text (comments_text__v)
Localized Case Document > Attachment Description (attachment_description__v)
Localized Case Document > Reference Text (reference_text__v)
Localized Case Product > Related Device Information (related_device_information__v)

Supported Amazon Translate Languages

The following Amazon Translate languages are supported.

  • Afrikaans
  • Albanian
  • Amharic
  • Arabic
  • Armenian
  • Azerbaijani
  • Bengali
  • Bosnian
  • Bulgarian
  • Catalan
  • Chinese (Simplified)
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Estonian
  • Farsi (Persian)
  • Filipino, Tagalog
  • Finnish
  • French
  • Georgian
  • German
  • Greek
  • Gujarati
  • Haitian Creole
  • Hausa
  • Hebrew
  • Hindi
  • Hungarian
  • Icelandic
  • Indonesian
  • Irish
  • Italian
  • Japanese
  • Kannada
  • Kazakh
  • Korean
  • Latvian
  • Lithuanian
  • Macedonian
  • Malay
  • Malayalam
  • Maltese
  • Marathi
  • Mongolian
  • Norwegian
  • Pashto
  • Polish
  • Portuguese
  • Punjabi
  • Romanian
  • Russian
  • Serbian
  • Sinhala
  • Slovak
  • Slovenian
  • Somali
  • Spanish
  • Swahili
  • Swedish
  • Tamil
  • Telugu
  • Thai
  • Turkish
  • Ukrainian
  • Urdu
  • Uzbek
  • Vietnamese
  • Welsh