redcapfiller

Fill a REDCap project with generated data based on the project design and a minimal set of inputs

https://github.com/ctsit/redcapfiller

Science Score: 75.0%

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

  • CITATION.cff file
    Found 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 (13.6%) to scientific vocabulary

Keywords

r-package redcap redcap-api synthetic-data
Last synced: 6 months ago · JSON representation ·

Repository

Fill a REDCap project with generated data based on the project design and a minimal set of inputs

Basic Info
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 3
  • Open Issues: 10
  • Releases: 2
Topics
r-package redcap redcap-api synthetic-data
Created about 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License Citation

README.md

REDCap Filler

DOI R-CMD-check

REDCap Filler provides a testing and development service to users of Vanderbilt University's REDCap. It generates and loads synthetic test data into a REDCap project, using the project's design to guide test data generation. This data-driven process allows rapid data creation with minimal effort. This provides a low-cost way to test many of the project features. It creates test data as input for reporting and other downstream processes.

Installation

The redcapfiller package is only available as source code on GitHub. Install it from GitHub inside R or RStudio using the remotes package:

r install.packages("remotes") # Run this line if the 'remotes' package hasn't been installed already. remotes::install_github("ctsit/redcapfiller")

Using REDCap Filler

See Getting started with redcapfiller to learn how to use redcapfiller.

Features

REDCap Filler does not yet understand all the dimensions of a modern REDCap project. It can fill the categorical fields. It can fill unvalidated text fields and the text validation types date, datetime, email, integer, number, phone, and zip code. It ignores all other field types and validation types and will not attempt to fill them. Filler can fill classic and longitudinal projects, but not if they have repeating forms, repeating events, or randomization enabled. It does not honor form display logic and ignores all fields governed by branching logic.

  • Works on classic projects and longitudinal projects.
  • Uses the REDCap API to read the project design and write the synthetic data.
  • Fills categorical fields (providing a uniform random distribution).
  • Fills unvalidated text fields and fields with common text validation types: date, datetime, email, integer, number, phone, and zip code.
    • Provides random-normal distributions for numeric and date fields.
    • Uses "Lorem ipsum" text for non-validated text fields.
    • Injects simple default randomness where practicable for other types.
  • Leaves the form completed fields set to 'Incomplete' (red).
  • Does not violate basic data constraints defined in the data dictionary (e.g., validation types, ranges where applicable).
  • Populates specified events in longitudinal projects.
  • Fills a specified number of records.

Current Limitations:

  • Does not yet support projects with repeating instruments or repeating events.
  • Does not yet support projects with randomization enabled.
  • Ignores fields governed by Branching Logic (BL) and will not attempt to fill them.
  • Does not evaluate Form Display Logic (FDL).
  • Does not yet support all text validation types beyond those listed above.

Futures

This project aims to populate complex REDCap projects using the project design. If the REDCap API exposes a design dimension, we plan to use that to guide how the Filler populates projects. Yet, that will take some time to develop fully. This is the proposed timeline of features:

  1. Complete support for any text validation types currently missing.
  2. Add support for repeating events and repeating forms.
  3. Skip randomization fields to allow support for projects with randomization.
  4. Allow users to specify non-uniform distributions for categorical fields and non-default distributions for range fields.
  5. Allow configuration of inter-record and intra-record date offsets.
  6. Add support for evaluating Branching Logic.
  7. Add support for evaluating Form Display Logic.

Collaborative development

We encourage input and collaboration. If you're familiar with GitHub and R packages, submit a pull request. If you'd like to report a bug or suggest, please create a GitHub issue; issues are usually a good place to ask public questions, too. However, email Philip if you prefer an offline dialog (pbc@ufl.edu).

We'd like to thank the REDCap Community for their advice and contributions to the design of REDCap Filler.

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

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: REDCap Filler - an R package that fills a REDCap Project with synthetic data
message:
  If you use this software, please cite it with the metadata
  in CITATION.cff or https://doi.org/10.5281/zenodo.15635725
type: software
authors:
  - family-names: Chase
    given-names: Philip B
    email: pbc@ufl.edu
    affiliation: University of Florida
    orcid: https://orcid.org/0000-0002-5318-9420
  - family-names: Kamma
    given-names: Sai Pavan
    email: saipavankamma@ufl.edu
    affiliation: University of Florida
    orcid: https://orcid.org/0009-0004-4619-0409
  - family-names: James-Woodley
    given-names: Laurence
    email: lawjames1@ufl.edu
    affiliation: University of Florida
    orcid: https://orcid.org/0000-0002-6418-2742
  - family-names: Stoffs
    given-names: Taryn L
    email: tls@ufl.edu
    affiliation: University of Florida
    orcid: https://orcid.org/0000-0002-0830-8179
  - family-names: Williams
    given-names: Natalie
    affiliation: McMaster University
    orcid: https://orcid.org/0009-0004-2983-1542
  - family-names: Beasley
    given-names: William
    email: whb4@ou.edu
    affiliation: University of Oklahoma Health Sciences Center
    orcid: https://orcid.org/0000-0002-5613-5006
  - family-names: Wilson
    given-names: Aidan
    email: aidan.wilson@intersect.org.au
    affiliation: Intersect Australia
    orcid: https://orcid.org/0000-0001-9858-5470
  - family-names: Battiston
    given-names: Christopher
    email: chris.battiston@wchospital.ca
    affiliation: Women’s College Hospital
    orcid: https://orcid.org/0000-0003-2179-3735
  - family-names: Barnes
    given-names: Christopher P
    email: cpb@ufl.edu
    affiliation: University of Florida
    orcid: https://orcid.org/0000-0001-7114-1992
repository-code:
  https://github.com/ctsit/redcapfiller
url:
  https://ctsit.github.io/redcapfiller/
abstract:
  REDCap Filler is an R package that can fill a REDCap project
  with synthetic data using the project design and a minimal
  set of paramaters as input. It uses the REDCap API to read
  a project's design and write the synthetic data back to the
  project.
keywords:
  - redcap
  - redcap api
  - clinical science
  - data management
  - synthetic data
identifiers:
  - type: doi
    value: 10.5281/zenodo.15635725
license: Apache-2.0
version: 0.1.3
date-released: '2025-07-09'

GitHub Events

Total
  • Create event: 12
  • Release event: 2
  • Issues event: 42
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 32
  • Push event: 32
  • Pull request review comment event: 3
  • Pull request review event: 11
  • Pull request event: 19
  • Fork event: 3
Last Year
  • Create event: 12
  • Release event: 2
  • Issues event: 42
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 32
  • Push event: 32
  • Pull request review comment event: 3
  • Pull request review event: 11
  • Pull request event: 19
  • Fork event: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 26
  • Total pull requests: 18
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 4 days
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 0.54
  • Average comments per pull request: 0.78
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 26
  • Pull requests: 18
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 4 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.54
  • Average comments per pull request: 0.78
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pbchase (26)
Pull Request Authors
  • pbchase (9)
  • saipavan10-git (5)
  • ljwoodley (4)
Top Labels
Issue Labels
Pull Request Labels