redcapcustodian

Simplified, automated data management on REDCap systems

https://github.com/ctsit/redcapcustodian

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
    Organization ctsit has institutional domain (www.ctsi.ufl.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

r redcap
Last synced: 6 months ago · JSON representation

Repository

Simplified, automated data management on REDCap systems

Basic Info
Statistics
  • Stars: 13
  • Watchers: 4
  • Forks: 8
  • Open Issues: 26
  • Releases: 10
Topics
r redcap
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Zenodo

README.md

REDCap Custodian

DOI

This package simplifies data management activities on REDCap systems. It provides a framework for automating data extraction, transformation, and loading (ETL) work. It supports ETL work within a REDCap, between REDCap projects, between REDCap systems, and with the REDCap database. It provides an extensible set of R functions, a Docker image, and an RStudio Project template upon which a REDCap team can build ETL tasks that serve their REDCap systems and customers.

Operating environment

redcapcustodian is an R package than can be referenced in any R script that needs to do ETL work against REDCap or most any data target. To facilitate automation, this repository also provides a Dockerfile that provides R, the redcapcustodian package, and its required packages. The Dockerfile and build.sh can be used to build a Docker image named redcapcustodian that can serve as the foundation for containers that serve your specific tasks.

To build upon that foundation, this repository also provides a folder, study_template that can be copied to a new folder and used as the starting point for an RStudio project, R package, and Docker image that address the needs of a single study or data management project. All of these tools are designed to simplify development and reduce the burden of automating data reporting and recurring data management tasks.

In such an automated environment, each ETL job in this system is an Rscript run via Docker. Each report is an RMarkdown file again run via Docker. The design assumes the Docker containers are hosted on a Linux host with API access to one or more REDCap systems, a mail server, a MySQL database, and, optionally, the REDCap database itself.

For sites without container infrastructure, each image can be instantiated into a container via a cron job as documented in the files in study_template/crons/. Each file in that folder runs a single job. To run a job, its cron script must be copied to the /etc/cron.d/ folder on the Linux host. The build.sh script builds the redcapcustodian container upon which containers built by the study template would depend.

How to use this project

This repository provides three elements that are designed to be used together in manage data on a single study or data-management project. It provides an R package, redcapcustodian that provides functions to facilitate credential management, database connections, data comparison, data synchronization, and logging. It provides a Dockerfile which rolls-up the redcapcustodian package, its dependencies and several other recommended R packages typically needed when working with REDCap. The repository also provides a study_template which can be used as the starting point for repository and Docker container to house and run your study's custom RScript, Rmarkdown, and R package.

The REDCap Custodian package can be used in your custom RScript simply by installing it and loading the package in RStudio:

r install.packages("devtools") devtools::install_github("ctsit/redcapcustodian") library(redcapcustodian)

To use the Docker container, you'll need to checkout this repository with git and build it from the Dockerfile. If you are on a Mac or Linux computer those steps would look like this:

sh git clone git@github.com:ctsit/redcapcustodian.git cd redcapcustodian ./build.sh

The procedure to use the study template is more involved, but it offers the most reward as well. See Writing your own redcapcustodian Rscripts. It might also help to look at the Developer Notes

Areas of REDCap interest

While much of the REDCap Custodian repository and package is about automating workflows, the package includes tools specific to REDCap.

Owner

  • Name: CTS-IT
  • Login: ctsit
  • Kind: organization
  • Location: 2401 Archer Road Gainesville, FL 32608

Clinical and Translational Science Informatics and Technology, University of Florida

GitHub Events

Total
  • Create event: 8
  • Release event: 1
  • Issues event: 11
  • Delete event: 1
  • Issue comment event: 11
  • Push event: 35
  • Pull request review comment event: 4
  • Pull request event: 15
  • Pull request review event: 11
Last Year
  • Create event: 8
  • Release event: 1
  • Issues event: 11
  • Delete event: 1
  • Issue comment event: 11
  • Push event: 35
  • Pull request review comment event: 4
  • Pull request event: 15
  • Pull request review event: 11

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 67
  • Total pull requests: 100
  • Average time to close issues: 3 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 7
  • Total pull request authors: 5
  • Average comments per issue: 1.18
  • Average comments per pull request: 0.71
  • Merged pull requests: 97
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 11 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.75
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pbchase (53)
  • ChemiKyle (7)
  • ljwoodley (3)
  • senrabc (1)
  • michael-bentz (1)
  • aboulang (1)
  • wibeasley (1)
Pull Request Authors
  • pbchase (57)
  • ljwoodley (27)
  • ChemiKyle (20)
  • michael-bentz (7)
  • saipavan10-git (3)
  • wibeasley (1)
Top Labels
Issue Labels
enhancement (4) hold (1) documentation (1)
Pull Request Labels

Dependencies

.github/workflows/run-tests.yaml actions
  • actions/checkout v2 composite
DESCRIPTION cran
  • R >= 2.10 depends
  • DBI * imports
  • REDCapR * imports
  • RMariaDB * imports
  • dbx * imports
  • dplyr * imports
  • glue * imports
  • lubridate * imports
  • mRpostman * imports
  • magrittr * imports
  • purrr * imports
  • readr * imports
  • rjson * imports
  • rlang * imports
  • rstudioapi * imports
  • sendmailR * imports
  • stringr * imports
  • tibble * imports
  • tidyr * imports
  • vctrs * imports
  • RSQLite * suggests
  • digest * suggests
  • fs * suggests
  • knitr >= 1.18 suggests
  • rmarkdown >= 2.0 suggests
  • testthat >= 3.0.0 suggests
Dockerfile docker
  • rocker/verse 4.2.1 build
study_template/Dockerfile docker
  • redcapcustodian latest build