By Brandon Rose, MD, MPH
Updated Aug 17th, 2025
This article is still in development...
Metadata: control what is collected and how
User Rights: control who has access and at what level
Data Access Groups: Control who has access to what records and/or instruments
Application Program Interface (API): communicate with the REDCap server with programming; eliminates dozens of manual tasks (reports)
Log: see everything that has ever happened to the data (data lineage)
Structure: classic vs longitiudinal (with events), +/- repeating instruments, and +/- repeating events
Epic integration: for direct connection with institutions EMR
Clinical Data Pull (CDP): live connection for prospective trials
Clinical Data Mart (CDM): batched exports for retropsective work
Manually with Epic Reporting Workbench, Data broker requests, etc.
Other: send notifications; multi-language, file repository, record locking, third party modules
REDCap User Categories
Beginner - Point and click. Can be painful at scale. Only recommended for data collectors.
Intermediate – reports, data import/export tools, can be stifled by complex data structures
Advanced – API, scripts, CDIS, can make life easier for other users
Model-View-Controller (MVC) is a software design pattern used by many modern-day applications.
"model" is the database, the structure and metadata. In the REDCap context think of arms, events, forms, fields, choices
"view" is the user interface code/software. In REDCap it's the website you log on to. More abstractly, we can design our own! (RosyREDCap)
"controller" is the coding language used to handle user input, update the model, and interact with the viewer. R and python! REDCap uses PHP.
Duplicate records because you have more to collect
Design 100s of fields in the REDCap UI
Copy form for things that should repeat
Enter all data manually
Have user collect information multiple times
Have user collect information that can be automated
Think about analysis only after collection
Do reporting manually
Use events and/or forms for added complexity
Edit the data dictionary in Excel and upload
Use repeating forms and/or events
Use the data import tool or API
Limit redundancy
Link with EMR or use
Plan analysis from beginning
Automate your reporting with API