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 https://bootstrap.pypa.io/get-pip.py $ python get-pip.py
The follow steps assume that you have the git version control installed on your system.
$ git clone https://github.com/ctsit/redi.git 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 https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi
- 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:
- Download the RED-I source code from: [https://github.com/ctsit/redi/archive/0.14.1.zip]
- Copy the contents of the RED-I zip file from c:Users%username%Downloadsredi-0.14.1redi-0.14.1 to c:redi
- Download the easy_install setup file from: https://bootstrap.pypa.io/ez_setup.py
- Run the easy_install setup file with the following command in the command prompt:
Note: you may need to modify the path to the ez_setup.py 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\setup.py 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:
Installing RED-I on Red Hat and Fedora¶
Download and install setuptools. Setuptools will aid you in installing the redi package.
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && sudo python get-pip.py
Note that you must have gcc (the Gnu Compiler Collection) to build RED-I. Check that you have gcc installed:
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:
- 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: https://help.github.com/articles/generating-ssh-keys/
Now, clone the redi git repo:
You now have a directory called redi with the source, docs, example configuration and other RED-I files.
- Download the zip file
wget https://github.com/ctsit/redi/archive/master.zip sudo yum install unzip unzip master.zip
- 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:
–> allows to run a local REDCap instance
–> pre-configures RED-I to send data to the local REDCap instance
–> provides the data for the sample project running in the local REDCap instance
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 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