# Overview of the installation and data transfer process

The Empirica Healthcare Analysis ETL utility moves data and vocabulary information that is in the OMOP Common Data Model Version 4 from a source database to a new data account in the Empirica Healthcare Analysis database. The new data account is the destination account.

The ETL utility includes two execution scripts, one for starting the ETL process and another for resuming the ETL process, which you use only if an issue occurs while data is transferring. Both scripts create log files with processing and error information.

The ETL utility does not have a graphical user interface. You install and execute the ETL utility in SQL*Plus.

Additionally, the ETL utility allows you to move data one time. It does not allow for periodic updates of data, though you can run the ETL utility again to transfer data into a different destination account.

Transferring the data involves the following steps.

Step 1. Install the ETL utility

You install the Empirica Healthcare Analysis ETL utility by running a SQL script (install_etl.sql) while connected to the destination database, which is the Empirica Healthcare Analysis database. The installation typically takes no more than several minutes.

The installation of the ETL utility accomplishes the following tasks:

1. A destination account that will contain the transferred and transformed data is created in the Empirica Healthcare Analysis database.
2. If you are importing using a database link, database links are created from the destination account to the source database account(s).
3. The ETL utility creates required tables and packages in the destination account.

After the installation is complete, you can start the extract, transfer, and load process by executing the Empirica Healthcare Analysis ETL utility.

Step 2. Use the ETL utility to extract, load, and transfer the data

You transfer data by executing the ETL utility. If you have data for millions of patients, this step can take several hours or longer.

The data transfer process consists of the following steps. A step must complete successfully before the next step starts. After a step completes, the ETL utility starts the next step.

What the ETL utility does in each step of the ETL process

Step | What the ETL utility does
--- | ---
1. Import the data | Transfers data and vocabulary from the source database to the Empirica Healthcare Analysis database. The method of importing data varies, depending on whether you import using a database link or from data files.
2. Validate the data | Validates that the tables that were imported into the destination account have the correct structure and information for use by the Empirica Healthcare Analysis application. Validation checks that the following requirements are met: Tables were created for the tables that you imported. Required columns exist in each table, and columns do not contain null values. Foreign Key constraints exist. For the drug, condition, and procedure tables, the PERSON_ID has a corresponding row in the PERSON table.
3. Transform the data | Transforms the data in the data tables in the Empirica Healthcare Analysis database by adding columns, populating values, and deriving additional items as necessary. Coded fields are translated using the CONCEPT table and stored in the data tables in the Empirica Healthcare Analysis database.
4. Create configurations | Creates default configurations in the Empirica Healthcare Analysis database. The ETL utility creates the tables that are needed to define one or more configurations.

Step 3. Import configurations in the Empirica Healthcare Analysis application so that users can access the data

After the data transfer is complete, you must import and validate the configurations that are created in the database into the Empirica Healthcare Analysis application so that the data is accessible to users. After the configurations are validated in the Empirica Healthcare Analysis application, users can access the data.

Copyright © 2015 Oracle and/or its affiliates. All rights reserved.