REDCap External Modules

External Modules are individual packages of software that can be enabled on your project by a REDCap administrator. Modules can extend REDCap's current functionality, and can also provide customizations and enhancements for REDCap's existing behavior and appearance at the system level or project level. The list of Modules we have available at this time are listed below with a very brief description of their functionality.

To request the addition of an External Module to your project, please email redcap@email.arizona.edu and identify the project to which you would like to apply it.

Advanced Project Bookmarks

Provides advanced project bookmark functionality. See the documentation for details.

View Documentation

Adverse Event Reporting

Application that facilitates the creation of Adverse Event (AE) reports aiming to create the Clinical-Trails.gov (CT) AE template. It also creates a generalized IRB AE template, as well as an FDA AE Template. The application allows for two modes of operation: 1) it can connect and load data from an existing REDCap project , 2) it can act as an additional REDCap project that collects AE data. In both cases it provides means for aggregating the project's adverse event data, and thus creating the mentioned AE reports. Its goal is to eliminate aggregation steps, minimize redundant steps, and successfully create the CT AE template. Read its documentation to get started.

View Documentation

Analytics

This module logs common user actions. It also provides a report for analyzing those logs, as well as logs from other modules. It is still very basic, but could easily be expanded. The reporting functionality especially will require more work (perhaps using jQuery QueryBuilder) before being particularly useful to the average user. Pull requests are always welcome!

This module HAS NOT BEEN TESTED with longitudinal projects or repeating instruments.

BASIC EVENTS

The following basic events are logged along with the specified parameters:

  • survey page loaded

    • page - The page number that was loaded

  • field changed

    • field - The name of the field that was changed

  • survey complete

VIDEO EVENTS

The following events are logged for videos attached to Descriptive Text fields:

  • video played

  • video paused

  • video seeked

  • video ended

For each video event, the following parameters are stored:

  • field - The name of the Descriptive Text field to which the video is attached

  • seconds - The play position of the video in seconds

Annotated PDF

Click the "Annotated PDF" button on the project Codebook page to download an all-forms PDF file 

View Documentation

API Sync

Automates exporting/importing to/from remote REDCap servers via the API. The Data Dictionaries for the local and remote projects are expected to be either identical or compatible. This module could easily be expanded to support additional scenarios (like automatically syncing the data dictionary as well).

View Documentation

Audio Player Override

Affect audio player fields in REDCap in several ways. Currently autoplays them on surveys, and prevents replaying audio tracks.

View Documentation

Auto DAGs

This module automatically creates, renames, and assigns records to Data Access Groups (DAGs) based on a specified Text or Notes field, in which the value of the field becomes the name of the DAG. If the DAG already exists, then the record will be assigned to the existing DAG. An extra page is also provided for assigning the DAG for all records at once.

Note: The field used to generate the DAGs should not be on a repeating instrument or an instrument of a repeating event. If the DAG field is on a repeating instrument, the record's DAG will never be set. If the field is on an instrument of a repeating event, the record's DAG will be set by the first instance of the event, and changes in subsequent instances will not change the record's DAG.

Auto Populate Fields

This module provides rich control of default values for data entry fields via a set of action tags. These action tags allow fields to be populated based on values from an ordered list of fields and static values. The fields can be read from the current event or the previous event in longitudinal projects.

Features included

  • Default when visible

By default, when a field that is hidden by branching logic contains a @DEFAULT action tag, an annoying alert is displayed on page load.

ERASE CURRENT VALUE OF FIELD ""?

This module changes the default branching logic behavior in order to avoid that. Now, when some non-empty field gets hidden by branching logic, no more warning messages are shown - instead, the hidden value persists available until form submission, when it is finally erased.

  • Choice key piping on @DEFAULT

This module changes the display of selection fields when they are referenced in @DEFAULT action tags - instead of the label, the key is returned. Example: let's say we have a dropdown field called animals, whose options are:

1,Lion 2,Monkey

If we define somewhere @DEFAULT="[animals]", the returned value will be 1 (instead of "Lion") or 2 (instead of "Monkey").

  • New action tags

This module provides 2 new action tags:

  1. @DEFAULT_\<N>

Provides the possibility to define secondary, tertiary, etc default values. If @DEFAULT returns an empty value, the next tag available - let's say @DEFAULT_1 - is checked. If @DEFAULT_1 returns empty, the next tag available - let's say @DEFAULT_2 - is checked, and so on. This is useful when a fallback value is needed for piping (e.g. @DEFAULT="[first_name]" @DEFAULT_1="Joe Doe").

  1. @DEFAULT-FROM-PREVIOUS-EVENT

Sets a field's default value based on its own value in a previous event. To map the default value from another field, you may specify the source field name as a parameter to the action tag, e.g @DEFAULT-FROM-PREVIOUS-EVENT="source_field". Analogously to @DEFAULT_<N>, @DEFAULT-FROM-PREVIOUS-EVENT_<N> is also provided.

Mixing @DEFAULT\<N> and @DEFAULT-FROM-PREVIOUS-EVENT\<N>

When using @DEFAULT_<N> and @DEFAULT-FROM-PREVIOUS-EVENT_<N> together, using unique numbers on each action tag to ensure the desired precendence. E.g.

@DEFAULT-FROM-PREVIOUS-EVENT_1='initial_dose'
@DEFAULT-FROM-PREVIOUS-EVENT_2=intermediate_dose
@DEFAULT-FROM-PREVIOUS-EVENT_3="final_dose" @DEFAULT_4="7"

In the above example initial_dose from the previous event will be used. Lacking that, intermediate_dose will be used. If none of initial_dose, intermediate_dose, and final_dose have been set, the value of 7 will be used.

Note that @DEFAULT is synonymous with @DEFAULT_0. Similarly @DEFAULT-FROM-PREVIOUS-EVENT is synonymous with @DEFAULT-FROM-PREVIOUS-EVENT_0.

Note that the square brackets, [] common to REDCap piping are neither required nor supported in @DEFAULT-FROM-PREVIOUS-EVENT and @DEFAULT-FROM-PREVIOUS-EVENT_<N>. They are required in @DEFAULT_<N> just like @DEFAULT.

Auto Record Generation

Module that allows for a new record to be generated in another project (or the same project) on a flagging field being saved. Allows for data fields to be transferred to the new record as well.


Auto Record Generatation Module Configuration WindowAuto Record Generation Configuration Window

Configuration Window with Example Values
This will create a new record (e.g., TEST RECORD) in the project after the Visit Date has been completed for the current record.Configuration Window with Example Values

Data Entered into Example Instrument
Data Entered Into Example Instrument

New Record Automatically Created in Project (e.g., TEST RECORD)
New record automatically created in project

Auto Record Filled In
When the new record is created, the values for the First Name and Last Name fields are automatically populated since they were specified in the module configuration.New record with values filled in automatically

 

Auto-Schedule

Generate event schedules for project records automatically following save.

Four configuration options:

  1. Generate schedule using baseline date value entered in specified event/field.
  2. Generate schedule using baseline date value entered in specified field (any event).
  3. Generate schedule on first data entry for specified event (uses current date as baseline).
  4. Generate schedule on record creation (uses current date as baseline).

Implementation Note

This module is implemented using the redcap_save_record hook. As a consequence, schedules are generated only following form saves and not following data imports. Trigger fields on repeating forms are not supported.

AutoContinue Logic

This external module allows you to add branching logic to a series of surveys that are linked via AutoContinue.

It should not be used with the survey queue feature.

Instructions

  1. Enable more than 1 instrument as surveys in REDCap.
  2. Enable auto-continue toward the bottom of the survey setup page for all but the last survey
  3. Configure the autocontinue logic module

Note that the logic you provide must be 'true' in order for the instrument to be administered

Big Data Import

This tool helps import one or more big CSV files without the need to split them.

View Documentation

Check for Duplicates Across Multiple Projects

Checks for duplicate records (as defined by a certain number of matching fields) across one or more projects. If the field matches across multiple records, a duplicate is reported. (Does not currently work for repeating instruments/events.)

View Documentation

Color Matrix

Allows users to change the background color of a matrix of fields on a survey. The users specify the matrix group name that they wish to customize, the background color for the matrix headers and labels, and the background color for each column (1 per column, in order).


Color Matrix Configuration Window

Color Matrix Configuration Window

Matrix Fields without Color Matrix

Matrix Fields without Color Matrix

Matrix Fields with Color Matrix (using values from above)

Color Matrix Example

 

Complete Row

This external module changes the display of filled out rows in each instrument (survey and data entry). This helps users to identify items that have not been filled out yet.


Complete Rows Configuration Window

Complete Rows Configuration Window

Select the color that you want the rows to be once data has been entered, or enter a hex value for a custom color. 

 

Complete Row Example

Complete Row Example

For the "Date of follow up" field, after the data has been entered and the user has moved the the next field, the row will change to the color that was set in the configuration window. 

Cross-Project Piping

Cross-Project Piping pipes from one field in one project into another field in another project. The projects have to be MATCHED on a third field in both projects. Enable this module in the DESTINATION project and select appropriate fields in the configure panel.

View Documentation

Custom Footer

Allows admins and project admins to add a custom footer to survey and project pages. Depending on system settings, project admins may not be able to configure or disable this module.

View Documentation

GitHub Documentation

Custom Imagemap

This is an imagemap implementation that allows users to define their own images and corresponding imagemaps and checkboxes.

View Documentation

Custom Imagemap with Radiobuttons

This is an imagemap implementation that allows users to define their own images and corresponding imagemaps linked with radiobuttons.

View Documentation

Custom Template Engine

This module allows you to create HTML templates and fill them with record data from your project. You can download the filled templates as a PDF, which are saved to the File Repository.

View Documentation

DAG Switcher

Enable project users to switch between any number of Data Access Groups (and/or "No Assignment"):

  • Adds a table of users/DAGs to the DAGs page so users with DAG permission may enable and disable specific DAGs for each project user.

  • For users with multiple DAGs enabled, adds a display of a user's current DAG assignment in a box at the top of pages where records may be viewed (e.g. Dashboard, Export, Import, but not Project Home or Setup, or where a specific record is selected: Record Home or an Instrument).

  • Next to the display of the user's current DAG is a button that opens a dialog where the user may select an alternative DAG from those that are enabled for them (not available when a specific record is selected).

  • The User Rights page indicates alongside each user's current DAG where other DAGs are enabled for the user.

  • Enables user with DAG permission to remove him or herself from a DAG, which is not possible using standard REDCap functionality.


DAG Switcher Configuration Window

DAG Switcher Configuration

Example of the table that appears on the Data Access Groups page for a project, when the DAG Switcher external module is enabled

DAG Switcher Example

Data Driven Project Banner

Display a banner at the top of select project pages. Supports data piping of query results into the banner text.

View Documentation

Data Resolution Workflow Tweaks

Provides some enhancements to REDCap's Data Resolution Workflow functionality, namely:

  • Adds a button to data entry forms that will do the "verified value" step for all fields not yet verified or queried.

  • CSV exports have all data in separate columns (rather than combining, for example, username and comments).

View Documentation

Date Calculated Fields

Allows for piping from date fields to other date fields, regardless of format. Can pipe data across events within a REDCap project.

This module allows a date to calculate from another date by adding or subtracting a predefined number of days. Along with simply adding/subtracting a number, this module can also use Days Offset and Offset Range with in the “Define My Events” section to automatically calculate in future event dates. 

View Documentation

Dynamic Report Push

The module allows you to use a report and its built-in logic to select variables to push from the current REDCap project into a second linked project. Variable names must be the same in both projects. Once successfully configured, users can select a button that triggers the push to the linked project. A data entry trigger can also be used.

View Documentation

Email Alerts

Allows users to construct and send customized email alerts to one or more recipients, in which the emails are triggered when a form/survey is completed and optionally based on conditional logic. The user interface enables customized options such as rich text, data piping, and file attachments.

View Documentation

FAQ Builder

Creates a searchable single-page list of questions and their answers in the style of an FAQ (frequently asked questions) page. This module requires a specific data dictionary for the REDCap project (provided by module). Each question and answer pair is stored in a separate record within the project.

FHIR Ontology Autocomplete Module


This module provides support for referencing an external FHIR-based ontology server to lookup values.

View Documentation

Field Help

Adds toggle-able field help to data entry forms and surveys.

View documentation

GitHub Repository

Field Notes Display

Provides alternative display modes for field notes. This module adds an action tag @FIELD-NOTES-DISPLAY that accepts the following inputs:

  • 'hover' - displays the text when the field is hovered over
  • 'tooltip' - places a help icon, which displays the text in a tooltip when hovered over
  • 'popover' - places a help icon, which displays the text in a popover when clicked.

Provide the content of the field note as usual


Field Notes Example
When text is entered into the field notes field, it is displayed in small text under the data entry portion of the field.

Field Notes Default Display

Add the following syntax in the Action Tags field, then the field_note is hidden from the view and it is shown on hover over the field name.
@FIELD-NOTES-DISPLAY="hover"

Fields Notes Action Tag

Hover Example
The field note text will appear when the user moves their mouse over ther field.

Field Notes Hover Example

Tooltip Example
If the action tag is @FIELD-NOTES-DISPLAY='tooltip', then the field note text will appear as a tooltip when the user clicks the question mark (?) icon next to the field.

Tooltip Example

Popover Example
If the action tag is @FIELD-NOTES-DISPLAY='popover', then the field note text will appear as popover text when the user clicks the question mark (?) icon next to the field.

Popover Example

Flight Tracker for Scholars

This module tracks a group of faculty's career development by charting publications and grants over time.

View Documentation

Form Field Tooltip Module

This module provides a simple way to add tooltips to fields on a form.

View Documentation


Form Field Tooltip Module Configuration Window

Form Field Tooltip Configuration Window

Form Render Skip Logic

This module hides and shows instruments based on the value of a single field on a single form - i.e. a branching logic for instruments.

View Documentation


Configuration

Form Render Skip Logic Configuration Window

Access Manage External Modules section of your project, click on Form Render Skip Logic's configure button, and save settings in order to show or hide instruments according to your needs. This process is very similar to REDCap branching logic.

The first entries in the form configuration set the Control Field. The control field is described by an event name and a field name. Together these two values define the precise which variable controls which set of forms will be displayed.

The subsequent checkbox field determines whether to enable Form Render Skip Logic when your control field value is not saved yet. If checked, control field's @DEFAULT action tag is used as default value. If @DEFAULT action tag is not available, the control field is considered empty.

The subsequent configuration fields name forms that should be displayed for particular values of the control field. Add an entry nameing a form and the control field value for each form that needs to be limited to certain control field values. You can add as many pairs for form name and file value as you need. All forms not named will be displayed at all times.

The image below shows a sample configuration where the control field is named rand_group and appears on the Baseline event of the Patient Data arm. The first two forms will be displayed only when rand_group = 1. The last form will be displayed only when rand_group = 2.

Form Reviewer

This module allows you to embed a saved form into a review form by these methods: 1) Embed an inline PDF of the saved form. 2) Include download links to files uploaded to the saved form.

View Documentation

Hidden by Role

This module allows you to hide fields unless the user has a specific role.

Using the module

  • Have REDCap administrator enable the module for your project
  • Create the field you wish to restrict access to and add the action tag: @HIDE_BY_ROLE = role
  • The "role" that you enter must be the exact name of the role as defined in the User Rights environment
  • If the role cannot be found, and error will be thrown

Hide Choice by Event

Implements an action tag to hide a categorical field choice on a configured list of events


How to Use

Go to your project home page, click on Manage External Modules link, and then enable Hide Choice by Event.

Once the module is activated on a project, the @HIDE-CHOICE-BY-EVENT tag will be available in the action tag help text of the Online Designer. Add @HIDE-CHOICE-BY-EVENT to any categorical field where you would like to hide some of the choices based on the event.

As an argument you will need to provide a JSON object that tells the tag which choice to hide on which event. It should look something like this:

@HIDE-CHOICE-BY-EVENT = [ { "code":"1", "event": ["enrollment_1_arm_1", "dose_1_arm_1"] }, { "code":"3", "event": ["dose_1_arm_1"] } ]

Note that the whitespace in the above example is unnecessary. This example would hide option "1" on the "enrollment_1_arm_1" and "dose_1_arm_1" events. Similarly, it would also hide option "3" on the "dose_1_arm_1" event. As can be seen "code" signifies which field option to hide. "event" indicates for which events this option should be hidden.

To find a list of unique event names to use for the "event" field go to Project Setup > Define My Events. The right-most column will contain a list of unique event names.

Limitations

Currently this module only supports radio buttons. It will not hide the choices for any other type of field.

Hide Codebook Randomisation Numbers

Hides randomisation allocation groups on Codebook page. This can be useful when the randomisation allocation field is set up with numbers rather than groups.

View Documentation

Hide Email Addresses on Project Home Page

This module removes all email addresses listed in the user list on the Project Home Page.

Hide Randomization Values

Hides the values assigned by the randomization (internal) module, on both the randomization dialog and the data entry form.

Image Map

This REDCap module replaces an input, radio, or checkbox field with an image that users can interact with to select one or more options. Specific applications include a body map (the over 70 body regions), a smile scale from 1-7 with facial expressions, and 3 representations of teeth and teeth surfaces. Future versions will allow admins and users to add additional maps via the module configuration.

The module is tied to questions via the @IMAGEMAP action tag and the name of one of the pre-defined image maps. e.g. @IMAGEMAP=PAINMAP_MALE, PAINMAP_FEMALE, SMILE_SCALE, SINGLE_TOOTH, TEETH_SURFACE, or TEETH.

View Documentation


PAIN MAP (FEMALE)

painmap_female

PAIN MAP (MALE)

painmap_male

 

SMILE SCALE

smile_scale

SINGLE TOOTH

single_tooth

TEETH (5-SURFACE)

teeth_5_surface

TEETH (SIMPLE)

teeth_simple

 

Image Viewer

Enables file-upload fields that contain images to display a 'preview' of the image in the form. This preview happens immediately after upload on data entry or survey.

View Documentation


Directions

  • New: PDF files are now supported.

  • Enable the module on your server. If you wish to enable some logging, there is a server-setting to specify a log path.

  • Enable the module on a particular project that contains file-upload fields that you wish to use with preview

  • Use the module configuration tool to select the preview fields

  • Alternately, you can use the @IMAGEVIEW action tag to specify fields to be previewed by editing the data dictinoary directly.

  • Each field can be supplied with CSS paramaters to control formatting. For example, on a PDF upload field you might add a parameter of { "height": "400px" }.

    • If you are supplying custom formatting using the action tag, the format is: @IMAGEVIEW={"height":"500px"}

    • The format of the parameter string must be valid JSON (see https://jsonlint.com/ )

    • In some cases, you might not be able to override the formatting if the parent table is constraining you

    • If custom formatting is supplied both in an action tag and as part of the EM config page, the EM config page will take precedence

  • The default size is to expand to the maximum width of the current table cell.

    • For right-vertical (Default) this means upto 50% but less if the image is smaller

    • For left-vertical alignment this means the full width of the cell


Configuration

 Add the @IMAGEVIEW action tag with any custom formatting to the File Upload field that you are using

Image Viewer Action Tag

Configure the Image Viewer Module and specify which field will be using it

Image Viewer Configuration Window

When a file is uploaded, a preview image will be displayed for the user to see

Image Viewer Example

 

Inline Descriptive Pop-ups

Allows users to specify words or phrases on a form/survey to appear as a highlighted link that will display a popup of instructive text when the cursor moves over the word/phrase. The configuration allows multiple words/phrases to be utilized.

View Documentation


Inline Descriptive Pop-Ups Module Configuration Window

Inline Descriptive Pop-ups Configuration

Inline Descriptive Pop-Ups Example

Inline Descriptive Pop-ups Example

Instance Marker

Clearly differentiate REDCap instances. A short text describing the REDCap instance is displayed in the upper right corner of every page, and every project page (if enabled). The URL is mapped to instances such as 'Localhost', 'Development', 'Testing', and 'Backup'. The tab title is prefixed with the text for the specific instance. The module must be enabled on all projects by default in order for the instance label to appear inside projects or enabled on a project by project basis.

View Documentation

Instance Table

Use the action tag @INSTANCETABLE=form_name in a descriptive text field to include a table showing data from repeat instances of that form.
If project is longitudinal, use @INSTANCETABLE=event_name:form_name to specify the event and form (can be a repeating form or a form in a repeating event).

View Documentation

Instant Field Concatenation

This module concatenates fields and places the result in another field instantly. It uses JavaScript and not PHP. It happens upon the user leaving the field.

Documentation

Language Editor

Allows per project customization of the language.ini settings.

View Documentation

Linear Data Entry Workflow

This module forces a linear data entry workflow across REDCap forms and events. The linear workflow is enforced by removing access to any form which does not immediately follow the last completed form. In this way, if a user has not filled out the first form, she cannot proceed to the second (or/and subsequent) form. This module can be configured at the project level to exclude some forms from these rules and make each event independent from the others.

View Documentation

Locking API

Read lock status, lock and unlock data entry forms via API calls.

View Documentation

Matrix Question Randomization

Randomizes the order of the questions for specified matrices on survey pages. To configure the module once it has been enabled, click the "Configure" button, then enter the Matrix Field Name in the text box. Then, when the instrument loads, the questions for that matrix field will be randomized. To add another set of matrix fields for randomization, click the plus sign (+) to the right of the text box and add the Matrix Field Name in the text box that pops up.

MetaMorphosis Clinical Data Conversion Tool

The MetaMorphosis Clinical Data Conversion Tool External Module allows REDCap Administrators to take a collection of exported patient identifiers from a source system (TriNetX, i2b2, other data warehouse) and convert them into an identified patient cohort in a standard demographics REDCap template.

View Documenation

Modify Contact Admin Button

Modify the behavior of the 'Contact REDCap Administrator' button by redirecting the user to a configurable url. The url should be provided as part of the external module configuration.

View Documentation

 

Multilingual

Allow survey's and data entry forms to be translated. Add translations via the Online Designer.

View Documentation


Getting Started

Add a variable called languages as a multiple choice field listing your languages as the choices. Make sure you add the action tag @HIDDEN. Make sure your choice values for languages are numeric, starting with 1. Example: 1, English 2, Español

Refresh the page and you're ready to start entering translations. Remember you have to add the field first and save, then go back and edit it to add translations.

Title and Instructions

To add translations for the Survey Title and Instructions for an instrument, add a variable called survey_text[form_name]. Each instrument should have it's own field with a variable name of "survey_text[form name]" (Replace [form name] with the name of each instrument). Make sure you add the action tag @HIDDEN.

Completion Text

To add translations for Survey Completion Text, add a variable called survey_text_finish. Make sure you add the action tag @HIDDEN.

If you have just one instrument, you can just add the survey_text_finish variable and add the Title, Instructions and Completion Text to it.


Adding multilingual values to your fields

Multilingual Field Values

Language option appears on the instrument and the user can click to select what language to view

Multilingual language options

Multilingual Example Field in English

Multilingual English example

Multilingual Example Field in Spanish

Multilingual Spanish example

nedCAPTCHA

Adds CATPCHA protection to surveys. See full documentation here.

View Documentation

OnCore Client

Provides integration with OnCore SIP, SOAP APIs, and UF's OCR API to get protocol and enrollment data into REDCap. See GitHub documentation here.

View Documentation

Orca Call List Module

A configurable, searchable, call list dashboard. The purpose of this module is to have a sortable data table to show patient status along the recruitment process.

View Documentation

Orca Search Module

This module replaces REDCap's standard "Add/Edit Records" page with a configurable, searchable, and performant list dashboard.

Documentation

PDF @ActionTags

A REDCap External Module that provides action tags for controlling PDF output.

View Documentation

GitHub Repository

Pre-populate Instruments

This module pre-populates one or more instruments with data from a previous event / instance.
In a longitudinal project instruments will be pre-populated with data from the most current event data. In a classic project instruments will be pre-populated with data from the last instance (if repeating instances for the instruments are enabled please contact redcap@email.arizona.edu for further assistance.

When an empty instrument is displayed the module loads all previous event / instance data of this instrument. It shows a message above the instrument that the user should review the data and change it when necessary.

There are two different modes: In a longitudinal project instruments will be pre-populated with data from the most current event data. If the instrument is repeating in the current event, a new instance of this instrument will be pre-populated with data from the last instance. In a classic project instruments will be pre-populated with data from the last instance.

New features in v2.0:

  • Override global settings per instrument

  • Define custom filters for events/instances to be loaded.

  • Limit the scope of previous events/instances to all events/instances or just the last one.

Caution: Previous data is copied to the current event before you save the instrument. If you cancel the data entry of the instrument, the previous data is still there!

View Documentation


Configuration (since v2.0)

Pre-populated Instrument Module Configuration Window

  • Select field that contains visit date (with date or datetime validation type) (only necessary for longitudinal projects)

  • Global settings: these settings are global defaults and can be overwritten by an instrument setting

    • Fields to be excluded (only global)

    • Select one or more states for earlier data (e.g. if you want to load previous data only if the instrument is "complete", then choose "complete")

    • Select the scope of previous events/instances (all / just the last one) (required)

    • Select state for pre-populated instruments

    • Type message that appears above prefilled instrument (e.g. a warning that the data was copied) (required)

  • Add instruments and instrument settings:

    • Select instrument to be pre-populated (required)

    • Option 1: Select one or more states for earlier data if you want to override the global setting

    • Option 2: Type a custom filter (same syntax like branching logic)

    • Select the scope of previous events/instances if you want to override the global setting

    • Select state for pre-populated instruments if you want to override the global setting

Project Aggregator

This module allows data from multiple source REDCap projects to be aggregated into a single destination project.

View Documentation

Project Ownership

Collects project ownership data at project creation, requires PI contact details on research projects, and provides interfaces to search, display and edit ownership details.

View Documentation

GitHub Repository

Public Survey DAG

Assign a public URL for each DAG in a project

View Documentation

PubMed Search

This module takes last_name and first_name fields and downloads all PubMed entries for that name. It puts the PubMed entries into another REDCap field. It also requires one helper text field. It checks PubMed once a day for new entries. Because of inaccuracies of the process, it is recommended that human eyes manually oversee the download process.

View Documentation

QR Code Shortcut

Provides a shortcut to generate a survey QR code for a new data entry. 

View Documentation

GitHub Repository

Quick Permissions

Description

The Quick Permissions module allows for the quick assignment of User Rights to a REDCap project. Common configurations can be saved as presets for even faster assignment.

Basic Usage

After downloading and enabling this module on your REDCap instance, a link to Quick Permissions will appear at the bottom of the Control Center sidebar.

The "Select Project" dropdown will default to the most recently created project (by the currently logged in user), with the 9 most recent after that available for selection. If you would like to update an older project, the "Other" option will allow a PID to be manually entered.

The username whose rights should be updated can be manually entered in the "Enter Username" field or, if the user already has access to this project, can be selected from the "Load Existing User" dropdown and their current User Rights will be populated for reference (NOTE: This feature only works for the 10 most recent projects. Existing users will not be listed if an "Other" PID is provided).

After clicking the "Add/Update User" button, the module will display an alert message to report success or display an error message if the add/update failed. Successful operations are recorded in the project's logging (similar to normal User Rights modifications).

Permissions Presets

There are 3 built-in presets that can be used for quick rights assignment:

  • None: All boxes unchecked, Data Exports set to "No access", and Lock/Unlock Records set to "Disabled"

  • All (No Mobile App/API): All boxes checked (except those pertaining to Mobile App and API), Data Exports set to "Full data set", and Lock/Unlock Records set to "Locking/Unlocking with E-signature authority"

  • REDCap Default: Mirrors default options selected when using the "Add with custom rights" button on REDCap's built-in User Rights page

Custom presets can be saved by entering a name and clicking the "Save Custom Preset" button. This preset name will be added to the saved list and automatically selected. A "Delete" button will appear if a custom preset is selected (built-in presets can not be deleted).

Record and Event Pager

Adds a paging control to the bottom of data entry forms, allowing the user to navigate quickly and easily between different events in a record, and records in a project.

View Documentation

REDCap Chart Field

Provides a chart drawing feature for data entries and surveys. Integrates REDCap with third-party chart libraries - currently Chart.js and Chartist are supported. Piping can be used on field configuration, so charts may display facts to survey participants based on their previous answers.

View Documentation

REDCap CSS Injector

Allow administrators to inject CSS into surveys and data entry forms.

View Documentation


CSS InjectorModule Configuration

CSS Injector Configuration Window

In the configuration form, you can either create a global style for your project or define multiple styles for different contexts. Each context is defined by choosing a list of forms/instruments and/or limiting the scope to surveys or data entries.

The configuration form also provides an enable/disable switch for each one of your styles. Make sure to enable your styles.

If more than one style is applied to the same page, the CSS rules are applied in the order of appearance in the configuration form.

REDCap JavaScript Injector

Allow project admins to inject JavaScript code into surveys and data entry pages.

View Documentation

GitHub Documentation

REDCap Web Services

Provides a way to expose SQL query results to the external world. 

View Documentation

REDCap-ETL Module


REDCap-ETL module for extracting REDCap data and storing it in a database.

View Documentation

Right-to-Left Module

Module to help conform REDCap layout to a Right-to-Left language. Has options for applying layout changes to the Event Grid, Data Entry Form, Surveys, and Record Status Dashboard. Also contains options to have 12-digit numeric validation for a phone number instead of the standard 9-digit.

Rochester Accessibility Survey

REDCap external module that administers user-friendly surveys for hearing impaired users.

View Documentation

Route Mobile API Token Requests to Survey

A REDCap module to route mobile api token requests in the REDCap Mobile App page to a survey. It also provides the option of adding descriptive text to the same page. For further assistance please contact redcap@email.arizona.edu.

View Documentation

Save Randomisation Date

Extracts the randomization timestamp from the event log and saves it to a specified field in the project on page save.

View Documentation

Save Survey PDF to a Field

This module generates a PDF of a survey upon completion and saves it to a REDCap file upload field. It is configured at the project level with source instrument/target field pairs. In the event of save errors, the PDF is sent to a backup email address.

View Documentation


Project-level Installation

Before you can configure this module, you will need to create the surveys and fields needed for configuration. This module can save PDFs for as many surveys as desired, but each survey is saved as its own PDF. The PDFs must be saved to file upload fields in a non-survey instrument. On that instrument create a file upload field for each survey that needs to be saved.

Should you need to save multiple revisions of a survey PDF for a single record_id, use the Online Designer to copy the file upload field as many times as you need. This module will use the basename of the original field name and append '_1', '_2', '_3', etc. looking for additional fields into which it can save the PDF. If your original field name has the format field_name_1, the module will increment the number at the end of field name by 1 and look for field_name_2, field_name_3, etc. until it finds an empty file upload field.

With the surveys and file upload fields created, you can proceed with module configuration.

  • For each project on which you want to use this module, go to the project home page, click on Manage External Moduleslink, and then enable Save Survey PDF to a Field for that project.

  • Configure the module with the an email address that should receive generated PDFs for this project should this module be unable to save the PDF.

  • Also configure the module with the names of surveys for which you want to save PDFs and the field names in which those surveys should be stored. Survey names and file names are entered in pairs to allow as many different surveys to be saved as needed.

Seamless IFrames

This module makes it possible to seamlessly embed redcap pages inside other websites so that they appear as part of that page. This includes automatic iframe height adjustment, preventing the need to scroll within the iframe.

Set Up

Enable this modules on any projects that have pages that need to be embedded in an iframe. Then perform the following steps on the embedding page:

1. Add the following line:

<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/3.6.2/iframeResizer.min.js" integrity="sha256-aYf0FZGWqOuKNPJ4HkmnMZeODgj3DVslnYf+8dCN9/k=" crossorigin="anonymous"></script>

2. Initialize the iframe per the getting started section documented here. You may have to call iFrameResizer after the "load" event fires for the iframe to prevent a target origin javascript error (as shown below).

3. Style the iframe as desired (adjust/remove borders, set the width, etc.).

4. Optional: Have the parent instruct the iframe to load specified css/js urls for further customization:

var iframe = jQuery('iframe')
iframe.on('load', function()
     { iframe.iFrameResize({
          initCallback: function(){
               iframe[0].iFrameResizer.sendMessage({
                    message: 'load resources',
                    resources: [
                         'http://url.to/style.css?123',
                         'http://url.to/script.js?456'
                    ]
               })
          }
     })
})

Shazam

A module for applying REDCap inputs into tabular or other custom layouts for surverys and data entry forms

View Documentation


Shazam Example

Add the @SHAZAM action tag to the field you want to style using the Shazam module. All of the fields that you want to be displayed together will show up in this field with the action tag.

Shazam Action Tag

Create a field for each of the fields you would like to have as part of the styled field.
Note: These fields have HTML in the field label so that stand out from regular fields.

Shazam field example

Click on the "Shazam Setup" link under the External Modules menu on the left-hand project menu, then you can style your Shazam field using HTML, CSS, and JavaScript.

Shazam Editor

When the instrument is opened, the style will be applied to the one field, and all of the other fields will be displayed together. This example consists of 12 separate fields and organized into this table instead of being listed like regular fields.

Shazam Example

Show by Roles

This module allows you to show a field to users with a specific role.

View Documentation

Show Locking Language

Display locking language at the bottom of locked data entry forms for all users, not just those with Locking User Rights.

Simple Ontology Module

This module provides site wide ontology lookup, and was written to test the ontology provider mechanism.

View Documentation

StringUtils

This external modules allows you to manipulate text fields using action tags: TOLOWER, TOUPPER, STRLEN, TRIM, LTRIM, SUBSTR

View Documentation

Summarize

Create nice, html summaries from forms or fields in a project. You can then pipe this summary in forms, surveys, emails or anywhere else in REDCap.

View Documentation

Survey Auth

Adds authentication to surveys.

View Documentation

GitHub Repository

Survey Dashboard

This module displays survey statistics for individual REDCap projects.

View Documentation

Survey Queue Interface


Provides an interface that allows exporting and importing the survey queue as a CSV file.

View Documentation

Survey UI Tweaks

Various survey ui tweaks - such as hiding survey queue button in top right and the queue at the end of the survey.

View Documentation

Tableau Web Data Connector

Enable Tableau users to connect Tableau to a REDCap project for which they have an API token. Project data will be exported on demand and be available for use within Tableau to produce summaries and visualisations. (Note: The connector can be utilised without enabling this module for a particular project. Enabling this module for a project just makes the Instructions page available in the project page menu.)

View Documentation

Two Column Checks

Reorients a left-vertically-aligned group of checkboxes into two columns - only if more than ten checkboxes exist in the list (surveys only). This will save room on a survey, but note that it requires the checkbox have LV alignment.

UI Trimmer

A REDCap External Module to remove some of REDCap's menus and other UI elements. See GitHub documentation here.

View Documentation

User Agent Info

This module collects various information and can pipe it into fields on a survey. You could use this to record various user agent settings as field values in your survey for later analysis, etc.

User Rights by Record

Allows for both a person's user role and data access group to be based on record-by-record basis. This can be used in any REDCap project where the standard user rights and data access groups cannot easily define the needed user rights. The dashboard provided is a user interface to allow for easily assigning these specialized user rights.


User Rights by Record Module Configuration Window

User Rights by Record Configuration Window

ViDER Visualizations

This module extends REDCap's visualization capabilities to interactive visualizations.

Vizr - Visualizer for Temporal Summary Reporting

Create temporal bar charts that visualize the collection, over time, of specific data points captured in a project's individual records, and optionally, compare that data to projected targets

Documentation

VoteCap

Simple Q&A interface that allows anonymous participants to ask questions and upvote the questions of others. Setup instructions: 1) Download the VoteCap Project XML file, 2) Create a new REDCap project using the XML file, 3), Enable and configure the VoteCap module in that project, 4) Create a test record in the project (just enter a 'session name' for it), and 5) Click the VoteCap link on the left-hand project menu.

View Documentation

WUSM Hashing Identification

Creates hash value for identification of records based upon persons name and birthdate for either International or United States (slight differences in hash method). Includes capability for handling a prefix added to the record ID.

View Documentation

WUSM Project To Project Field Replication Module

An external module to copy Fields from one Project to another Project as a source and destination relationship. If adding fields after SOURCE creation and do not want those fields copied use configuration in the SOURCE project. Both SOURCE and DESTINATION MUST HAVE the same field names and types to sucessfully copy data from SOURCE to DESTINATION.

View Documentation