RED-I Project



The REDCap Electronic Data Importer (RED-I) is a tool which is used to automate the process of loading clinical data from Electronic Medical Records (EMR) systems into REDCap Study data capture systems. RED-I is a general purpose tool for REDCap data importing suitable for use on any study in any REDCap system. It uses XML lookups to translate data stored in comma separated values (CSV) files and uploads it to a REDCAP Server using the REDCap API. The tool allows study data to be securely uploaded from clinical reporting systems, error checked, and uploaded into REDCap. It provides the investigator with feedback on upload success in the form of summary reporting of the data upload process.

You can view a presentation of the RED-I tool in action on youtube.

How to Install RED-I

RED-I is written in Python so you will have to install it if the following comand gives you an error:

$ python --version
Python 2.7.5

For more details on how to install python on your system please visit Downloading Python page.

Installation Using Source Code

We recommend to install RED-I in a Python virtual environment in order to prevent conflicts with your other packages.

   $ wget
   $ python

The follow steps assume that you have the git version control installed on your system.

   $ git clone redi
   $ cd redi
   $ sudo pip install virtualenv
   $ virtualenv venv
   $ source venv/bin/activate
   $ make && make install

Once you are done with testing RED-I and you are satisfied with the results you can remove the virtualenv artifacts and install the RED-I package to be available system-wide.

   $ deactivate
   $ rm -rf venv/
   $ make && make install

Please refer to redi_installation document for more help with the installation.

Installation Using Binary Distribution

   $ pip install redi

To uninstall the application:

   $ pip uninstall redi

Installing RED-I on Windows

  • Open a command prompt by clicking on the Start menu, and typing “cmd” in the Run box.
  • Install 64-bit Python 2.7.9 by running the following command in the command prompt:
   msiexec /i
  • Next you need to be insure the command interpreter will be able to find the Python modules. Set

the paths to the modules by running the following commands in the command prompt:

   setx path "%path%;c:\python27"
   setx path "%path%;c:\python27\lib\site-packages"
   setx path "%path%;c:\python27\scripts”
  • Make a new directory for the RED-I files by running the following command in the command prompt:
   mkdir c:\redi
   python c:\Users\%username%\Downloads\

Note: you may need to modify the path to the file if it is downloaded to a different location.

  • Next, make a binary install of RED-I by running the following commands in the command prompt:
   cd c:\redi
   python c:\redi\ bdist_egg
  • You will need to manually install the pycrypto dependency. To avoid having to compile it with VCForPython you can

download a pre-compiled binary and install it with the following command:

  • Finally, install your binary of RED-I with the following command:
   c:\python27\scripts\easy_install.exe c:\redi\dist\redi-0.14.1-py2.7.egg

Installing RED-I on Red Hat and Fedora

Download and install setuptools. Setuptools will aid you in installing the redi package.

curl "" -o "" && sudo python

Note that you must have gcc (the Gnu Compiler Collection) to build RED-I. Check that you have gcc installed:

gcc --version

If gcc is not installed, install it:

sudo yum install gcc

Install the development libxslt, libxml2, and python-devel libraries. These allow you to build the redi source.

sudo yum install libxslt-devel libxml2-devel python-devel

Install redi using pip.

sudo pip install redi

RED-I is now be installed.

If you get an error message while compiling pycrypto, you will need to install pycrypto separately:

sudo yum install python-crypto
  • To use the example config, documentation, and other associated RED-I files, you will need to get files from the GitHub repository. You have two options:
  1. Clone the repo by using Git.
yum install git

Set up your install of Git to use the key on your GitHub account. Instructions are at:

Now, clone the redi git repo:


You now have a directory called redi with the source, docs, example configuration and other RED-I files.

  1. Download the zip file
sudo yum install unzip
  • You now have a directory called redi-master with the source, docs, example configuration and other RED-I files.

How to Test RED-I with a Sample Project

Now that you installed the RED-I application you are probably wondering how to configure it to help you with data translation and import tasks. The good news is that you do not have to change any configuration file to test RED-I – we provide examples of working files for you:

These files make it very easy to see how RED-I imports data from a csv file into a local instance of REDCap. You just have to follow the instructions from the Testing RED-I with a sample REDCap Project document.

Note: You will need to obtain your own copy of the REDCap since the license terms prevent us from including the code in an open source project.

How to Configure RED-I for a New Project

To use RED-I in production you will have to edit the ‘settings.ini’ file with values matching your environment.

Please refer to the RED-I Configuration for more details about the meaning of each parameter in ‘settings.ini’ file.

Please refer to the Add new REDCap Project and API Key document for more details about new project setup.

One of the advantages of using RED-I is that it allows to be customized in order to send data to multiple types forms in REDCap projects. Please refer to Describing a REDCap Form to RED-I document for more details on how to create two of the required configuration files.

How to use RED-I

$ redi -c config-example

Please refer to the RED-I Usage for more details about all arguments supported in the command line.

How to Get Support

If you need any help with using RED-I please email us at

How to Contribute

  • Fork the source-code
  • Create a branch (git checkout -b my_branch)
  • Commit your changes (git commit -am "Details about feature/bug fixes in the commit")
  • Push to the branch (git push origin my_branch)
  • Open a pull request and we will accept it as long as it conforms to our

Code Review Checklist