GitHub | Travis-CI | AppVeyor | Coveralls |
---|---|---|---|
Master | |||
Dev | |||
Ubuntu 12.04 LTS | Windows Server 2012 | Test Coverage |
We’ve been using R with REDCap’s API since the Fall 2012 and have developed some functions that we're assembling in an R package: REDCapR
. The release version and documentation is on CRAN, while the development site for collaboration is on GitHub.
It was taking 50+ lines of code to contact REDCap and robustly transform the returned CSV into an R data.frame
; it took twice that much to implement batching. All this can be done in one line of R code with the package's redcap_read()
function:
ds <- redcap_read(redcap_uri=uri, token=token)$data
The redcap_read()
function also accepts values for subsetting/filtering the records and fields. The development version's documentation can be found in the GitHub repository. A vignette has also been started. Here's are two examples; the first selects only a portion of the rows, while the second selects only a portion of the columns.
#Return only records with IDs of 1 and 4
desired_records <- c(1, 4)
ds_some_rows <- redcap_read(
redcap_uri = uri,
token = token,
records = desired_records
)$data
#Return only the fields record_id, name_first, and age
desired_fields <- c("record_id", "name_first", "age")
ds_some_fields <- redcap_read(
redcap_uri = uri,
token = token,
fields = desired_fields
)$data
The REDCapR
package includes the SSL certificate retrieved by httr
's find_cert_bundle()
. Your REDCap server's identity is always verified, unless the setting is overridden (or alternative certificates can also be provided).
To keep our maintence efforts managable, the package implements only the REDCap API functions that have been requested. If there's a feature that would help your projects, please tell us about it in a new issue in REDCapR's GitHub repository. A troubleshooting document helps diagnose issues with the API.
Our group has benefited from REDCap and the surrounding community, and we'd like to contribute back. Suggestions, criticisms, and code contributions are welcome. And if anyone is interested in trying a direction that suits them better, we'll be happy to explain the package's internals and help you fork your own version. We have some starting material described in the ./documentation_for_developers/
directory. Also checkout the other libraries that exist for communicating with REDCap, which are listed in the REDCap Tools directory.
We'd like to thank the following developers for their advice and code contributions: Rollie Parrish, Scott Burns, Benjamin Nutter, John Aponte, Andrew Peters, and Hao Zhu.
Thanks, Will Beasley, David Bard, & Thomas Wilson
University of Oklahoma Health Sciences Center, Department of Pediatrics, Biomedical & Behavioral Research Core.
CRAN | Version | Rate | Zenodo | RDocumentation |
---|---|---|---|---|
Latest | ||||
Latest CRAN version | CRAN Downloads | Independently-hosted Archive | HTML Documentation |
The release version of REDCapR can be installed from CRAN.
install.packages("REDCapR")
The development version of REDCapR can be installed from GitHub after installing the devtools
package.
install.packages("devtools")
devtools::install_github(repo="OuhscBbmc/REDCapR")
If installing on Linux, the default R CHECK command will try (and fail) to install the (nonvital) RODBC package. While this package isn't necessary to interact with your REDCap server (and thus not necesssary for the core features of REDCapR). To check REDCapR's installation on Linux, run the following R code. Make sure the working directory is set to the root of the REDCapR directory; this will happen automatically when you use RStudio to open the REDCapR.Rproj
file.
devtools::check(force_suggests = FALSE)
Alternatively, the RODBC package can be installed from your distribution's repository using the shell. Here are instructions for Ubuntu and Red Hat. unixodbc
is necessary for the RODBCext
R package to be built.
#From Ubuntu terminal
sudo apt-get install r-cran-rodbc unixodbc-dev
#From Red Hat terminal
sudo yum install R-RODBC unixODBC-devel
We encourage input and collaboration from the overall community. If you're familar with GitHub and R packages, feel free to submit a pull request. If you'd like to report a bug or make a suggestion, please create a GitHub issue; issues are a usually a good place to ask public questions too. However, feel free to email Will ([email protected]). Please note that this project is released with a Contributor Code of Conduct; by participating in this project you agree to abide by its terms.
Much of this package has been developed to support the needs of the following projects. We appreciate the support.
-
OUHSC CCAN Independent Evaluation of the State of Oklahoma Competitive Maternal, Infant, and Early Childhood Home Visiting (MIECHV) Project. HRSA/ACF D89MC23154. David Bard, PI, OUHSC; 2011-2015.
-
Independent Evaluation of the State of OK MIECHV Evidence Based Home Visitation Project, NIH-sponsored collaboration with OSDH. David Bard, PI, OUHSC; 2015-2017.
-
OSDH ParentPRO Pilot Evaluation, federally-sponsored collaboration with OSDH. David Bard, PI, OUHSC; 2015-2017.
-
Title IV-E Waiver Project, HRSA/MCHB-sponsored collaboration with OKDHS; David Bard, PI, OUHSC; 2014-2017.
-
Integrative Analysis of Longitudinal Studies of Aging (IALSA), sponsored by NIH 5P01AG043362. Scott Hofer, PI, University of Victoria; Will Beasley, PI of site-award, OUHSC; 2013-2018.
-
Oklahoma Shared Clinical and Translational Resources, sponsored by NIH NIGMS; U54 GM104938. Judith A. James, PI, OUHSC; 2013-2018.
-
Additional Insitutional Support from OUHSC Dept of Pediatrics; 2013-2017.
(So far) the primary developers of REDCapR are the external evaluators for Oklahoma's MIECHV program. See the prelimary CQI reports (many of which use REDCapR) at http://ouhscbbmc.github.io/MReportingPublic/.