External Modules
External Modules (EM) are individual packages of software that can extend REDCap's functionality, behavior, and appearance in creative ways. Modules are not developed by Vanderbilt, but by members of the consortium, which are then curated and released through the Vanderbilt repository.
Broadly speaking, there are 3 types of REDCap External Modules:
- Global. These EMs are available to all REDCap projects and provide functionality that many projects may find useful. Global EMs are always installed from the Vanderbilt repository. If a global EM is developed at Yale (such as YES3), it must be submitted to the Vanderbilt Repository.
- Custom. These EMs provide functionality to specific projects and are usually developed by study staff, or by software developers per study specifications.
- System. These EMs are enabled on the REDCap system and not on individual projects. They can affect REDCap behavior and functionality in fundamental ways. Many such EMs are available through the Vanderbilt repository, but they may also be developed by institutional software teams.
Global: EMs from Vanderbilt REDCap Consortium
External Modules in the repository can only be downloaded and installed by a REDCap Administrator. To request the addition of an External Module to your project, please contact us and identify the project and the EM of interest.
External modules cannot be used with the REDCap Mobile App.
Please Note: Before installation, we must carefully test and vet each External Module on our system and your project to ensure the integrity of REDCap. There may be incompatibilities with the version of REDCap, PHP, your project design, or other EMs used on your project. In general, we only allow external modules that are widely used within the Vanderbilt REDCap Consortium and have no reported compatibility issues.
To learn more about the requirements for Global EM installation:
Custom: EM Development
If you are interested in developing your own external modules for REDCap@Yale, review the Checklist for EM Development to ensure your coding meets our security standards. Our programming team at Yale also builds custom external modules; for more information, see How To: Obtain Services: Advanced Programming.
Collaborative Development Environment at Yale
If you are interested in participating in our integrated developer workflow, please contact us. Many of the code projects within the REDCap@Yale Collaborative Development Environment are available to internal Yale software developers. Sharing code and adopting best practices promotes rapid development cycles with fewer adoption and implementation issues.
The REDCap@Yale Programming team utilizes GitHub and its associated functionalities to maintain version control of EM source code, and to foster a transparent collaborative environment. Our ITS Engineering Team can provide guidance for obtaining a suitable platform for development and testing, including virtualized test environments.
We have created a developer's handbook that describes in detail the REDCap@Yale integrated development workflow. This handbook is used extensively by the Programming Team and is available and recommended for Yale EM developers.
Additional EM development resources:
- If you are interested in collaborating and participating in our integrated developer workflow, contact the REDCap@Yale team.
- If you would like to learn more about the security requirements for Custom EM installation, click here.
- If you would like to explore some of our publicly available codebases, visit https://github.com/yale-redcap/.
System: EM Development
Modules in this category are restricted to administrators and the REDCap@Yale team.