Skip to main content
Skip table of contents

FS - 421724487 - Veeva Integration

Description

The objective of this function is to enable the integration of SPORIFY with the Veeva Vault.

  • The administrator should be able to connect their SPORIFY managed data with the Veeva vault.

  • The administrator should be able to view and manage this integration via the following areas: Connection, Manual Sync, Scheduled Sync, Job Log, Mapping Configuration, and Sync Configuration.

Overview

Procedure

  1. Login to SPORIFY.

  2. Select Administration on the left-hand navigation menu.

  3. Click Integrations to navigate to the Integrations screen.

  4. Click the Veeva Configure button.

  5. Using the Connection tab, carry out the following actions:

    1. Press the Connect To Veeva button.

    2. On the Veeva Connection modal:

      1. Insert the relevant vault subdomain in the Vault Subdomain textbox.

      2. Using the User Name and Password tab:

        • Insert the relevant username in the Username textbox.

        • Insert the relevant password in the Password textbox.

        • Users can test their credentials before proceeding.

      3. Click Save to save the inserted connection credentials and connect to Veeva.

      4. Else, click Cancel to close the Veeva Connection modal without saving.

  6. Using the Manual Sync tab, carry out the following actions:

    1. Click on the presented drop-down menu and select from the following options:

      1. Full Sync

      2. Referentials Only

      3. Organisations Only

      4. Substances Only

    2. Click the Sync Now button to start the synchronisation process.

  7. Using the Mapping Configuration tab, carry out the following actions:

    1. To add a new list mapping, click the New List Mapping button.

      1. On the New List Mapping modal, complete the following fields:

        • Veeva List (Drop-down menu)

        • List Type (Drop-down menu)

        • Mapping Target (Drop-down menu)

        • Active (Checkbox)

      2. Click Save to save the new list mapping.

      3. Else, click Cancel to discard the new list mapping.

    2. Click on the relevant list’s cog icon and select from the following options:

      1. Edit

        • Make any desired changes on the presented modal.

        • Click Save to save the changes.

        • Else, click Cancel to discard the changes.

      2. Delete

        • Click Yes to complete the deletion.

        • Else, click Cancel to discard the deletion.

  8. Using the Sync Configuration tab, complete the following fields:

    1. Limit Matched Data Included In Sync By Governance Status

      1. If enabled, target data included in the sync must be in the Approved stage of data governance and have a data governance status where the associated Publish flag is true.

      2. If disabled, target data included in the sync must be in the Approved stage of data governance but can have any data governance status.

    2. Limit Matched Data Included In Sync By Resolution Status

      1. If enabled, matched data will only be included in the sync if the associated resolution status is the one selected here.

      2. If disabled, matched data included in the sync can have any resolution status.

      3. If this setting is enabled, use the provided multi-select menu to select the relevant status(es).

    3. Limit Unmatched Data Included In Sync By Resolution Status

      1. If enabled, unmatched data included in the sync can only have the resolution status selected below.

      2. If disabled, unmatched data included in the sync can have any of the following resolution statuses: Suggested, Not Set or any custom status where Maintain Matched Record is false.

      3. If this setting is enabled, use the provided multi-select menu to select the relevant status(es).

  9. Click Save.

  10. Using the Scheduled Sync tab, carry out the following actions:

    1. To enable scheduled synchronisation, check the Enable checkbox.

    2. Else, to disable scheduled synchronisation, uncheck the Enable Schedule checkbox.

    3. When the Enable Schedule checkbox is True, select from the presented options:

      1. Hourly

        • Timezone

        • Every [Number] hour(s)

        • Starts at [Hour]:[Minute]

      2. Daily

        • Timezone

        • Everyday

        • Every Weekday

        • Starts at [Hour]:[Minute]

      3. Weekly

        • Timezone

        • Weekdays

        • Starts at [Hour]:[Minute]

      4. Monthly

        • Timezone

        • Day [Number] of every [Number] month(s)

        • The [Number] [Day of the Week] of every [Number] month(s)

        • Starts at [Hour]:[Minute]

    4. Click Save Schedule to save the scheduled sync.

  11. Using the Job Log tab, carry out the following actions:

    1. A grid is presented with the following sortable columns:

      1. Start Time

      2. End Time

      3. Username

      4. Sync Type

      5. Job Start Reason

      6. Sync Status

    2. Click the Export to Excel button to export the job log.

    3. Use the Date Range field and click Refresh to filter the job log by date range.

    4. Click on a job’s associated Actions icon and select Sync Detail to view further details about the job.

Username and password management

When the user configures the account for Veeva Integration, the mandatory username and password is consumed via the front end of SPORIFY. While saving the username and password, both values are securely transmitted via encrypted SSL connection from the local browser of the user to the SPORIFY server. The SPORIFY server encrypts the password explicitly with the algorithm Rijndael (superset of AES, see https://en.wikipedia.org/wiki/Advanced_Encryption_Standard ), using a server-side passphrase and salt to encrypt the user’s account password. The server-side passphrase is 256 bytes and 32 salts in size. Both are securely stored in the compiled executables of SPORIFY itself. SPORIFY saves the encrypted password value, and the username is in the database via encrypted connection. Every time the sync is initiated, either manually or scheduled, the Veeva Integration component decrypts the password and uses decrypted values to talk via secure SSL connection to the Veeva API.

Acceptance Criteria

We succeed only if SPORIFY can be integrated with the Veeva Vault.

  • Verify that SPORIFY administrators can connect with the Veeva Vault using a relevant username and password

  • Verify that administrators can carry out manual syncs using the Veeva Integration screen.

  • Verify that administrators can set and manage scheduled syncs using the Veeva Integration screen.

  • Verify that job logs can be viewed and exported via the Veeva Integration screen.

  • Verify that mapping configurations can be added and managed via the Veeva Integration screen.

  • Verify that synchronisation configurations can be added and managed via the Veeva Integration screen.

  • Verify that users can select all available CVs from Veeva when populating the integration screen.

  • Verify that all source lists under the Veeva source system are read only.

  • Verify when mapping configuration changes, on the next synchronization relevant source list are updated.

Related / Alternative Procedure

N/A

Example

N/A

GUI Specification

Purpose of these GUI elements

The purpose of these GUI elements is to enable the administrator to integrate SPORIFY with the Veeva Vault and manage this integration.

Mockups and Screenshots

Integrations Screen

Veeva Integration

Veeva Connection Modal

Manual Sync Screen

Mapping Configuration Screen

New List Mapping Modal

Edit List Mapping Modal

Delete List Mapping Modal

Sync Configuration Screen

Scheduled Sync Screen

Job Log Screen

Sync Detail Modal

GUI Elements

Mockup of GUI Element

Title

Default

Enabled

 Type

Data

Description

Vault Subdomain

Empty

Always

Textbox

String

The relevant Vault subdomain is inserted here.

User Name

Empty

Always

Textbox

String

The relevant Veeva username is inserted here.


Password

Empty

Always

Textbox

String

The relevant Veeva password is inserted here.

Manual Sync Type

Full Sync

Always

Drop-down menu

String

Manual sync type is selected here.

Enable Schedule

False

Always

Checkbox

Boolean

If True, scheduled sync options are presented. If False, scheduled sync is disabled.

Hourly

False

Always

Radio button

Boolean

If True, hourly schedule options are presented.

Daily

False

Always

Radio button

Boolean

If True, daily schedule options are presented.

Weekly

False

Always

Radio button

Boolean

If True, weekly schedule options are presented.

Monthly

False

Always

Radio button

Boolean

If True, monthly schedule options are presented.

Every [Number] hour(s)

1

Always

Radio button, drop-down menu

Boolean, numerical

The sync frequency is selected here.

Starts at [Hour]:[Minute]

12:00

Always

Radio button, drop-down menus

Boolean, numerical

The sync start time is selected here.

Timezone

Empty

Always

Drop-down menu

String

The relevant timezone for the sync is selected here.

Everyday

True

Always

Radio button

Boolean

If True, the sync occurs everyday. If False, the sync does not occur everyday.

Every weekday

False

Always

Radio button

Boolean

If True, the sync occurs every weekday. If False, the sync does not occur every weekday.

Day

Empty

Always

Multiselect drop-down menu

String

The day of the week on which the sync occurs is selected here.

Day [Number] of every [Number] month(s)

1, 1

Always

Radio button, drop-down menus

Boolean, numerical

The day and frequency of the sync is selected here.

The [Number] [Day] of every [Number] month(s)

First, Monday, 1

Always

Radio button, drop-down menus

Boolean, numerical, string

The day and frequency of the sync is selected here.

Veeva List

Empty

Always

Drop-down menu

String

The relevant Veeva List is selected here.

List Type

Empty

Always

Drop-down menu

String

The relevant List Type is selected here.

Mapping Target

Empty

Always

Drop-down menu

String

The relevant Mapping Target is selected here.

Active

True

Always

Checkbox

Boolean

The mapping is set to Active/Inactive here.

Limit Matched Data Included In Sync By Resolution Status

True

Always

Checkbox

Boolean

The limit matched data by resolution status setting is switched on/off here.

Limit Target Data Included In Sync By Governance Status

True

Always

Checkbox

Boolean

The limit target data by governance status setting is switched on/off here.

Limit Unmatched Data Included In Sync By Resolution Status

True

Always

Checkbox

Boolean

The limit unmatched data included in sync by resolution status is switched on/off here.

Resolution Status

If associated with ‘Limit Matched Data Included In Sync By Resolution Status’ checkbox: Review Required.

If associated with ‘Limit Unmatched Data Included In Sync By Resolution Status’ checkbox: Review Complete.

When associated checkbox is True.

Drop-down menu

String

The relevant Resolution Status is selected here.

Available Actions And Commands

Mockup of GUI Element

 Title

Enabled

Type

Role/Permission

Action

Tooltip

Audit Trail

Configure

Always

Button

Administration - Integrations

Configures Veeva integration

N/A

No

Connect To Veeva

Always

Button

Administration - Integrations

Presents the Veeva Connection modal

N/A

No

Cancel

Always

Button

Administration - Integrations

Closes modal without saving

N/A

No

Save

Always

Button

Administration - Integrations

Saves inserted information

N/A

Yes

Sync Now

Always

Button

Administration - Integrations

Runs manual sync

N/A

Yes

Save Schedule

Always

Button

Administration - Integrations

Saves scheduled sync

N/A

Yes

Export to Excel

Always

Button

Administration - Integrations

Exports job log details to Excel

N/A

Yes

New List Mapping

Always

Button

Administration - Integrations

Presents New List Mapping modal

N/A

No

Actions

Always

Button

Administration - Integrations

Presents associated options, e.g. Edit, Delete…

N/A

No

Related Documentation and Sources

Specification References

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.