Loading Third Party Data into Vault EDC
MedTech companies that process lab samples, such as blood or DNA, for diagnostic purposes, or pharmaceutical companies that develop targeted therapies, use machines that receive samples in such large quantities that they produce a file containing the results of one or more tests. Vault EDC can import the data from those files and automatically enter it into configured Forms and their data collection Items, instead of users needing to manually enter it.
You can import this data from the Data Loader tab. Once the configuration is ready, you can upload the import file that contains columns with the headers, and then you can import it into EDC. During import, Vault enters the data into the appropriate forms.
Prerequisites
The Sponsor Data Loader feature must be enabled in your vault and in your Study. Contact Veeva Support to enable this feature in your vault. Then, a study designer can enable it for your Study.
Before you can import data, a study designer must create a Data Import Configuration for each Form Definition that you want to import data into.
Users with the standard CDMS Data Loader study role can perform the actions described below. If your organization uses custom roles, your role must grant the following permissions:
Type | Permission Label | Controls |
---|---|---|
Standard Tab | Data Loader Tab | Ability to access the Data Loader tab |
Functional Permission | Load Data | Ability to access the Import subtab within the Data Loader tab. Ability to edit the fields on the Import page and to run the Preview and Import jobs |
Functional Permission | View Import History | Ability to access the Import History subtab within the Data Loader tab |
Accessing Data Loader
You can access the data loader from the Data Loader tab. This opens the Import page by default, where you can initiate a data import. You can access the Import History page from the left-hand navigation panel. The Import History shows a history of the preview and import jobs.
Preparing the CSV File
Your CSV import file must have a column to match each of the column headers mapped to a data point in the Data Import Configuration. Consult with a study designer to identify those column headers.
The following rules apply to the import file:
- The import file must use the CSV format.
- The import file must be comma delimited.
- The import file must be UTF-8 encoded.
- The file size can’t exceed 100MB.
- The CSV file must have at least one row of data for the Data Loader to load data to a form.
Date Formats: If you use a date or datetime format that uses a 2 digit year, Data Loader will insert a year in the 2000s. For example, if you insert 08-Jun-25, with the dd-MMM-yy format, Data Loader inserts June 8th, 2025. If you want to load a date that isn’t in the 2000s, use a format with a 4 digit year.
Import Data
To import data:
- Navigate to Data Loader > Import.
- Select your Study.
- Select your Data Loader Configuration.
- Optional: Enter a Reason for Import.
- Optional: Enter a Reason for Change (if applicable). Vault uses this as the Reason for Change for any existing data that is edited by the import job.
- Drag and drop your import CSV file into the Drag and drop file here area. You can also click into this area to upload your file.
- If your import is configured to prompt you for values, provide those prompted values.
- Optional: Click Reset to reset the page.
- Optional: Click Preview to preview the results of the import job.
- Click Import.
Vault begins a job to import your data. Vault sends an email notification when the job is finished. You can monitor the job’s progress from the Import History.
Preview for Repeating Forms: If you’re creating multiple instances of a form in your input file, any form sequence numbers greater than one more than the currently extant sequence will show a failure. This doesn’t impact the import of these records. It is only to show that the preview job looks at each individual row and not the file as a whole.
View Import History
Vault displays a history of preview and import jobs in the Import History subtab.
Job Types
The Import History shows the history of two different job types:
Job | Description | Initiated When |
---|---|---|
Data Loader Import Preview | Vault runs a preview of importing data from the CSV file according to the selected Data Loader Configuration. | A data loader clicks Preview in Data Loader > Import. |
Data Loader Import | Vault imports data from the CSV file according to the selected Data Loader Configuration. | A data loader clicks Import in Data Loader > Import. |
Job Statuses
The following job statuses can apply:
Status | Meaning |
---|---|
Queued | Another job of the same type is currently running. Vault will run this job when the previous job is completed. |
In Progress | Vault is currently performing the job. |
Failed | The job instance failed to complete due to one or more errors that are not related to the data. |
Completed | The job instance completed without errors in the data. |
Completed with Errors | The job instance completed with errors in the data. |
Refreshing the Import History
You can refresh the Import History, without refreshing the page, to see the most up-to-date job status and any available logs or output files.
Click Refresh () to refresh the Import History.
Data Loader Errors
The table below lists possible errors that may occur during data load. These errors are listed in the job log file, which can be downloaded from the Import History.
Error Message | Description |
---|---|
File | |
The column header |
The import file doesn’t contain a column header that is specified in the Import Value column for a row in the Data Loader Configuration mapping table grid. |
The column header |
The import file doesn’t contain a column header that is specified in the Import Value column for a required row in the Data Loader Configuration mapping table grid. |
Study | |
Study is locked |
The job is running in a Study that is currently locked. |
Site | |
Site |
|
Site |
The job is attempting to load data for a Subject in a Site that is currently locked. |
Subject | |
Subject |
|
Event Group | |
Event Group definition |
|
Event Group |
The Event Group specified in the import file, prompt field, or static value field hasn’t been created in the Casebook. |
Event Group |
The Event Group specified is a repeating Event Group (cycle). |
Event | |
Event Group |
|
Event |
The import job is attempting to load a date into an Event Date for an Event that is Marked for Removal. |
Event |
The Event specified in the import file, prompt field, or static value field hasn’t been created in the Casebook. |
Event |
|
Event |
The import job is attempting to load an Event Date into an Event (for the first time, in which no Event Date yet exists for the Event) and the Event is frozen. This error occurs when the Event is frozen, regardless of whether the Event Date itself is frozen. |
Event |
The import job is attempting to load an Event Date into an Event (for the first time, in which no Event Date yet exists for the Event) and the Event is frozen. This error occurs when the Event is locked, regardless of whether the Event Date itself is frozen. |
Event |
The import job is attempting to create new instances of a repeating Form that is inside a frozen Event. |
Event |
The import job is attempting to create new instances of a repeating Form that is inside a locked Event. |
Event Date | |
Event date for event |
The job is attempting to load a date value into an Event Date that is currently locked. |
Event date for event |
The job is attempting to load a date value into an Event Date that is currently frozen. |
The event date cannot be saved for event |
The job is attempting to load a date value into an Event Date for an Event that requires a value for Visit Method. |
Format does not match the import format |
The import job is attempting to load a date value into an Event Date that doesn't match the format specified in the Import Format column for the event date row in the Data Loader Configuration. This includes the following scenarios:
|
Form | |
Form |
|
Form |
The job is trying to load data into a Form that is Locked. |
Form |
The job is trying to load data into a submitted Form that is Frozen, therefore the form cannot be edited. Note: If the Form is frozen and blank, in progress, or in progress post submit, this will not prevent the job from loading data into it since the Items can be unfrozen. The job will be able to insert data into these Items, but it will not be able to submit the Form. |
Form {form definition name} is marked for removal |
The job is trying to load data into a Form that is Marked for Removal. |
Form instance |
The form instance specified in the import file or prompt field cannot exist because the form instance that comes before it does not exist. |
The destination form is repeating, however a form sequence number is not specified |
The target Form is set to repeating, however there is no Sequence Number (form instance) specified in the import file or prompt field. |
Item | |
Item |
The job is trying to load data into an Item that is Frozen. |
Value for item |
The job is trying to load a value (into a text-type Item) that exceeds the maximum number of characters allowed for the Item Definition. |
Value for item |
The job is trying to load a numeric value (into a number-type Item) that exceeds the allowed length for the Item Definition. |
Value for item |
The job is trying to load a numeric value (into a number-type Item) that exceeds the allowed precision for the Item Definition. |
Value for item |
The job is trying to load a non-numeric value into a number-type Item. |
Format does not match the import format {import format} specified in the data loader configuration |
The job is trying to load a value into a date, datetime, or time item that does not match the format specified in the Import Format column in the data loader configuration. This includes: the date, datetime, or item value is in a different format than what is specified as the import format in the configuration; values that are not of the correct data type (e.g. job is trying to load a numeric value into a date item); strings that are not supported by the Data Loader Import job for unknown data as valid strings for unknown values (e.g. a string of “UNKN” exists for the value). |
Item |
The job is trying to load an unknown date or datetime value into an Item that does not support unknown values in any capacity. |
Item |
The job is trying to load a value with a combination of unknowns that the Item or EDC does not support. |
Value for item |
|
Value for item |
|
Value for item |
|
Value for item |
|
A value is specified for the number portion of the unit item |
There is a value specified for the Value (number) but no value specified for the Unit portion of the Item. |
A value is specified for the unit portion of the unit item |
There is a value specified for the Unit but no value specified for the Value (number) portion of the Item. |
A value of “true” or “false” must be specified for boolean items. |
For boolean-type Items, Vault will only accept “true” or “false” as values. |
Unknown | |
An unknown error has occurred (error ID: |
The job encountered an undefined error. |