REDCap Help & FAQ
- Language Modules
- Online Designer / Data Dictionary
- Copy A Project
- Field Types
- Matrix Fields
- Copy / Share DCIs
- Surveys: Anonymous
- Surveys: Invite Participants
- Surveys: Automated Survey Invitations
- Surveys: How to pre-fill survey questions
- Double Data Entry
- Data Resolution Workflow
- Data Exports, Reports, and Stats
- Data Import Tool
- File Repository
- User Rights
- Data Access Groups
- Data Quality Module
- List of functions for logic in Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations
- API / Data Entry Trigger
- Mobile App for iOS and Android
- Randomization Module
- Shared Library
Can I transition data collected in other applications (ex: MS Access or Excel) into REDCap?
It depends on the project design and application you are transitioning from. For example, there are a few options to get metadata out of MS Access to facilitate the creation of a REDCap data dictionary:
For Access 2003 or earlier, there is a third-party software (CSD Tools) that can export field names, types, and descriptions to MS Excel. You can also extract this information yourself using MS Access. Table names can be queried from the hidden system table "MSysObjects", and a table's metadata can be accessed in VBA using the Fields collection of a DAO Recordset, ADO Recordset, or DAO TableDef.
The extracted metadata won't give you a complete REDCap data dictionary, but at least it's a start.
Once you have a REDCap project programmed, data can be imported using the Data Import Tool.
For additional details, contact your local REDCap Administrator.
How much experience with programming, networking and/or database construction is required to use REDCap?
No programming, networking or database experience is needed to use REDCap. Simple design interfaces within REDCap handle all of these details automatically.
It is recommended that once designed, you have a statistician review your project. It is important to consider the planned statistical analysis before collecting any data. A statistician can help assure that you are collecting the appropriate fields, in the appropriate format necessary to perform the needed analysis.
Can I still maintain a paper trail for my study, even if I use REDCap?
You can use paper forms to collect data first and then enter into REDCap. All REDCap data collection instruments can also be downloaded and printed with data entered as a universal PDF file.
Where can I suggest a new REDCap feature?
You can suggest a new REDCap feature by clicking on the "Suggest a New Feature" link located at the bottom of the left hand pane of a project. The link is under the "Help & Information" header.
Does REDCap work on mobile devices like tablets and smart phones?
Yes! REDCap is entirely web-based; you can access it from any browser, anywhere on the planet, at any time.
No separate app, download, or software installation is needed. The view will automatically be optimized for whatever device is being used.
REDCap is compatible with (and can be used on) desktop computers, laptops, tablets (including iPads), smart phones (both Android and Apple), and any other device having an internet connection. There are no specific requirements to run REDCap on any of these devices and no known compatibility issues.
On most tablets, the default view is the same as a desktop computer. All features are available.
On most phones, the default view is REDCap Mobile - a view focusing on data entry. Not all features are available in this view. Any time you are on a smart phone, you can switch to desktop view at any time to get the full use of REDCap.
NOTE: REDCap can also be used on mobile devices in areas having no internet connection. Refer to the section 'Q: What is the REDCap mobile app?' to learn more about this separate feature.
I won't have internet access where I need to use REDCap. Is there an offline version?
If you don't have internet access, you cannot use online REDCap. In such a situation, there are three potential methods to collect data for use in REDCap later. Those three methods are described below.
The lack of internet coverage in remote areas could be a significant challenge to using REDCap. There are absolutely success stories in similar situations. We know of several studies operating REDCap in the field in South Africa and in rural areas of South America. But only you can determine which of the following options is feasible for your work.
1) The REDCap Mobile App can be downloaded to any mobile device (e.g. smart phones, tablets) and used for offline data collection. It’s available in both Android and Apple app stores. The App is a true data collection tool; it has REDCap’s primary functionality, just offline. (It’s therefore slightly more limited functionality to online REDCap.) The App can ‘sync’ your offline data back to your real REDCap project when you return to internet connectivity. The ‘sync’ is a mass import of all the data you collected while offline. The App can send that back to your online REDCap project. Refer to the section 'Q: What is the REDCap mobile app?' to learn more about this separate feature.
2) Data can certainly be stored in another format and then uploaded into REDCap when the internet connection is reliable. This can be another alternative - to temporarily store the data in another file type and then transfer into REDCap incrementally. Though not ideal, you use another program offline (or even have paper copies of the instruments) to collect data in areas of low internet coverage. You could then enter that data in REDCap when the connection is more stable and use REDCap for an electronic record and to prepare the data for analysis.
3) Depending on your specific project, you might also be able to invest in purchasing a portable wireless router to act as an internet hotspot and enter data online in the field. This would allow you full use of the application from any low-coverage area. REDCap is accessible from any device having internet access, including the browsers of any smart phones or tablets (no Mobile App needed here). By providing your own internet access, the data could be stored securely (and directly in REDCap) from the start and there’s no need to transfer it from hard copies later.
Can the survey buttons at the bottom of the page: 'Next Page', 'Submit' and the other descriptors: '*these fields are required', 'reset value', etc. appear in a different language (ex: Chinese) in a project with non-English language survey questions?
In a project with Chinese or other non-English language enabled there are some things (e.g. 'Next Page' and 'Submit' buttons) that for technical reasons cannot be translated. The researcher may add descriptive text fields at the end of each page to translate 'Next Page', 'Previous', and 'Submit' buttons as needed.
Can I use a language translation file to change the wording in the calendar widget to display a different language (ex: Spanish "Hoy" instead of "Today")?
Can I create projects forms in languages other than English?
The label text displayed for individual fields on a survey or data entry form can be in any language. Setting the text label for non-English languages is the same with English text, in which you will set the text for that field in either the Data Dictionary or Online Designer. If you wish to view all the static instructional text in REDCap in a different language, this can be done if that language is supported in REDCap at your local institution.If you wish to utilize the Language Modules, contact your local REDCap Administrator about which languages are available. They can switch a REDCap project over so that it will display the new language text instead of English.
Can I use special Spanish characters in my REDCap forms?
Yes, you can type in Spanish characters like you normally would. However, it can happen that users or participants can't see these characters properly. In these cases the characters in question are replaced by a little black diamond with question mark in it. However, it is possible to "hard-code" your Spanish characters into REDCap. The table below displays the acceptable HTML codes. You can either use the friendly code variant or the numerical code variant. Just type in either code instead of the normal Spanish character.
A link to all the special characters supported is here: http://www.w3schools.com/html/html_symbols.asp
|Display||Friendly Code||Numerical Code||Description|
|«||«||«||Left angle quotes|
|»||»||»||Right angle quotes|
|¿||¿||¿||Inverted question mark|
|¡||¡||¡||Inverted exclamation point|
How can I use REDCap to support a network of investigators?
A local installation of REDCap can support a grant-supported network of investigators if your institution holds the network grant even though investigators may be running sub-projects at other institutions. However, you should be very deliberate up front in determining the inclusion/exclusion criteria for projects and investigators who can utilize the local REDCap installation. In your model, you need to ensure that you don’t have one set of support policies/pricing for ‘local’ researchers and another for ‘non-local’ researchers (presumably you’ll have network grant funding covering infrastructure and training support for the entire network).
You should think about how you will discontinue services and handle study data closeout should the network be disbanded at some point in the future. Finally, from a practical standpoint, it is recommended that you make sure you are proactive about establishing data sharing policies across the institutions within your network. In some cases, failure of such policies to meet the needs of all network members has caused the group of network sites to install separately licensed versions of REDCap for data hosting, but still maintain economy of scale by setting up a unified training/support core for network investigators.
Who, other than members of my institution, can use my licensed REDCap software?
If you are coordinating a multi-center study where the PI is at your local institution, you are well within your rights to use REDCap to support the study. On the other hand, if you want to use your local REDCap installation to support researchers at another institution (for single- or multi-center studies) where you don’t have a local researcher involved in the study, this can be a violation of the licensing agreement.Offering external research teams the use of a REDCap installation on a fee-for-service basis (or even gratis) is strictly forbidden under the licensing model.
Project Setup / Design
Are there specific requirements to set up a project?
For projects with surveys, you must complete the "Set up my survey" step in order to activate the Survey URL. If this step is not complete, the following message will appear to on the "Manage Survey Participants page: "Enable my surveys(s) NOTICE". You cannot utilized the "Manage Survey Participants" page until you have first enable one or more surveys..."
The survey-related options, like Survey Settings and Notifications, can be accessed on the Project Setup > Online Designer page.
For ALL projects, you must define a unique identifier as the first field on your first data entry form. The data values entered into this field must be unique. The system will not allow for duplicate entries. If you do not have a specific unique identifier, you can enable the option “Auto-numbering for records”.
Examples of Unique Identifiers: Study-assigned ID
Examples of Non-Unique Identifiers: Names, Dates of Birth, Consent Dates
The unique identifier must be a 'text' field. In addition, please note that unique identifier values will be visible at the end of the URL -- and likely cached in web browsers -- as individual records are viewed or entered. (Example URL:https://www.example.com/redcap/redcap_vx.x.x/data_entry.php?pid=xxx&page=xxx&id=ID_VARIABLE_VALUE.)
It is strongly recommended that you do not use Protected Health Information (PHI) Identifiers such as MRN or DOB+initials as the unique identifier. This is an additional precaution to preserve research participant confidentiality from displaying in the URL and becoming cached.
What steps do I have to complete to set up a project?
Depending on which project settings are enabled, you will have the following steps/modules to complete on the Project Set-up page:
|Main Project Settings||Yes||Yes||Yes|
|Design Data Collection Instruments||Yes||Yes||Yes|
|Survey-related options > Survey settings||Yes|
|Define Events and Designate Instruments||Yes|
|Enable optional modules and customizations||Yes||Yes||Yes|
|User Rights and Permissions||Yes||Yes||Yes|
|Move to Production||Yes||Yes||Yes|
What are Project Statuses?
All projects when first created start in Development. In Development, you can design, build, and test your REDCap projects. All design decisions can be made in real time and are implemented immediately to your project. All survey and data entry features/functions can and should be tested.
From Development, you will move your project to Production by clicking the button on the Project Setup page. All survey and data entry features/functions will be exactly the same as they are in development with the exception of certain Project Setup features. Some project and form design updates will require contacting a REDCap Admin and/or submitting data collection instrument changes in Draft Mode. Changes to data collection instruments in Draft Mode are not made to your project in real time. After making updates, you must submit the changes for review. Review and approval time will vary and are institution specific.
From Production, you can move the projects to the following statuses on the Project Setup > Other Functionality page:
Inactive: Move the project to inactive status if data collection is complete. This will disable most project functionality, but data will remain available for export. Once inactive, the project can be moved back to production status at any time.
Archive: Move the project to archive status if data collection is complete and/or you no longer wish to view on My Projects List. Similar to Inactive status, this will disable most project functionality. The project can only be accessed again by clicking the Show Archived Projects link at the bottom of the My Projects page. Once archived, the project can be moved back to production status at any time.
What’s the difference between the unique identifier, secondary unique identifier and the redcap_survey_identifier?
The first variable listed in your project is the unique identifier which links all your data.
For any type of project, you must define the unique identifier field. This is the first field of the first instrument and if not using a template, the default is Record ID [record_id]. For projects where a survey is the first data collection instrument, the value must be numeric and auto-increments starting with the highest value in the project. If no records exist, it will begin with '1'.
Users can define a unique identifier value that is not numeric (ex: Site-001) and does not auto-increment for projects with surveys: Instead of enabling the FIRST instrument as a survey, have a data collection instrument with data entry fields, then collect data via subsequent surveys.
The secondary unique field may be defined as any field on the data collection instruments. The value for the field you specify will be displayed next to the your unique identifier when choosing an existing record/response. It will also appear at the top of the data entry page when viewing a record/response. Unlike the value of the primary unique identifier field, it will not be visible in the URL.
The data values entered into the secondary unique field must also be unique. The system will not allow for duplicate entries and checks values entered in real time. If a duplicate value is entered, an error message will appear and the value must be changed to save/submit data entered on the data entry instrument.
The redcap_survey_identifier is the identifier defined for surveys when utilizing the Participant Email Contact List and sending survey invitations from the system. The “Participant Identifier” is an optional field you can use to identify individual survey responses so that the participant doesn’t have to enter any identifying information into the actual survey. This field is exported in the data set; the email address of the participant is not.
NOTE: redcap_survey_identifier values cannot be used with "piping". If you want to send surveys to participants and pipe in values (ex: first and last name); create a data entry instrument prior to the survey. Add your required fields and an email address to be used for the invitations (on the Project Setup page > Designate An Email). Then you can enter or import your participants' information and send the invitations using piping.
If I enter data while I am testing my forms in Development, will it remain when I move to Production?
It is strongly recommended that you test your projects prior to moving to Production, either by entering test data or real study data. Entering and saving data is the only way to test that the branching logic and calculated fields are working properly.When you click the "Move project to Production" button on the Project Setup page, a pop-up will prompt you to "Delete ALL data, calendar events, documents uploaded for records/responses, and (if applicable) survey responses?". Check the option to delete data. Uncheck the option to keep all data.
Why do I have to "move" my project to production?
Moving your project to Production once you start collecting study data ensures you're maintaining data accuracy and integrity. The post-production change control process provides an additional check to ensure that data which has already been collected is not deleted, re-coded or overwritten unintentionally. See FAQ topic "Making Production Changes" for additional details.
How can I set the default auto-numbering to start at a particular number such as 2000?
You can disable auto-numbering and add the first record using the ID number as the start value. Once this record is saved, you can enable the auto-numbering customization.
If the unique identifier is arbitrary to me, can the system auto-assign a unique value to each of my records?
Yes. You can enable auto-numbering for naming new project records on the Project Setup > Enable optional modules and customizations page. This option will remove the ability for users to name new records manually and will instead provide a link that will auto-generate a new unique record value. The value is numeric and increments from the highest numeric record value in the project. If no records exist, it will begin with '1'.
After my project is created, can I change the name and/or purpose of my project?
Yes. After your project is created, you can navigate to the Project Setup page. Click on the “Modify project title, purpose, etc.”. Here you can update Project Title and Purpose during any project status.
What types of projects can I create?
Once a project is created, on the Project Setup page you will be able to “enable” two "Main project settings" (1) the longitudinal feature (repeating forms)and/or (2) surveys for data collection. In a longitudinal project, for each instrument which is designated a survey, data can be entered directly by a participant for any/all events in the project.
Can I download a single combined PDF of all instruments in my project without data?
In Project Setup, under "Design your data collection instruments", click "Download PDF of all data collection instruments".
How can I delete a project?
REDCap Administrators can delete projects by navigating to the 'Other Functionality' tab and then clicking on the 'Delete the project' button. Project users can do the same for projects that are in Development status.
Project users can request that projects in Production status be deleted by navigating to the 'Other Functionality' tab and clicking on 'Request delete project'.
NOTE: Projects are permanently removed from REDCap 30 days after they have been deleted. Until that time, REDCap Administrators can undelete the project.
How do I add new form to an existing (production) project and make it the first form?
1.Put the project into Draft mode.
2.Add the new form to the project.
3.Reposition the new form to be first in the project
4.Make sure the first field in the new form is the same record ID form as it was before the forms were moved
5.If the new form or the form it is replacing are surveys, make sure the correct forms are enabled as surveys and correct any changes to survey settings. Remember that the first form in the project is what the public survey link will link too—if the former first form was using the public survey link, you cannot move it without changing what the public survey link moves to
6.Put the changes into production.
What can REDCap Administrators do that REDCap end users can't?
REDCap administrators, also knows as superusers, oversee the REDCap system and its settings. They often have the ability to do things that REDCap end users (regular users) can't do directly. Each REDCap system is overseen by a different group of administrators because each system is independently maintained and supported. The following is a list of some common administrator capabilities and responsibilities. Please contact your system's REDCap administrators if you would like to explore which of the following capabilities are available for your system.
- Project-specific tasks
- At some institutions, only superusers can create projects.
- At some institutions, only superusers can move a project to production.
- Add custom text to the top of the Home page of a project.
- Add custom text to the top of all Data Entry pages of a project.
- Add custom logo and institution name to the top of every page of a project.
- Add grant to be cited.
- Display a different language for text within a project. The languages available vary by institution.
- Turn Double Data Entry on and off.
- Customize the date shift range for date shifting de-identification.
- Approve API token requests.
- Delete all API tokens.
- Create an SQL field, generally used to create a dynamic dropdown list with data drawn either from the same project or another.
- Additional project-specific tasks for projects in production status
- At some institutions, only superusers can approve some or all production changes, a.k.a. moving drafted changes to production.
- Delete events.
- Uncheck instruments from events.
- Enable/Disable Main Project Settings: Use Longitudinal and Use Surveys
- Erase all data.
- Move the project back to development status.
- Delete the project.
- User-specific tasks
- Suspend and unsuspend users from all of REDCap. (Note, however, that expiring a users' access to a specific project does not require a REDCap administrator.)
- For sites that use REDCap's table-based, local authentication, reset the password for a user.
- Update the email address associated with an account for a user, in case that user is neither able to log in nor has access to the email address associated with their account.
- Cross-project tasks
- Create project templates.
Are there different languages available for the text to speech feature?
Currently, only English is supported.
How can I send multiple surveys to participants and link their responses?
If the responses need to be anonymous, please see the section Surveys: Anonymous.
If responses do not need to be anonymous, you must at some point collect individual email addresses to send participants multiple surveys and have the data linked. You can do this in a few ways:
1. Project’s first instrument is a Survey & Use of Public URL & Designate an email field: If you want to utilize the Public URL to distribute an initial survey and invite participants, the survey MUST contain a text field with validation = email to collect the participant’s email address.
On the Project Setup page > Enable optional modules and customizations > Enable: Designate an email field to use for invitations to survey participants. Designate the email address you are collecting on the first survey.
When participants complete the first survey, their email addresses will pre-populate the Participant Lists and will allow you to send additional surveys for the same record.
Surveys will be automatically linked by record ID. Participant Identifier on Participant List will not be editable.
Additional Notes: You will still be able to use the Participant List to send emails to the first survey, if needed. Participant will be prompted to enter their email address on the survey itself. You can also create new records using the Data Entry feature to populate the first survey and manually enter email addresses.
LIMITATION: Only participants that answer the first survey with an email address will be able to respond to the follow-up surveys.
2. Project’s first instrument is a Survey & Use of Participant List:
If have individual email addresses, you can create a project with multiple surveys. You would add individual emails to the Participant List with or without a Participant Identifier. Then you can send the survey invites through “Compose Survey Invitations”.
LIMITATION: Only participants that answer the first survey will be able to respond to the follow-up surveys. If you wish to collect additional surveys for the non-responders, you will need to create additional REDCap projects with the follow-up surveys. Because of this limitation, you may want to try method #3:
3. Project’s first instrument is Data Entry & Use of “Designate an email field”:
If you know your email addresses and want participants who haven't completed the first survey to be able to complete the second survey (within the same project), then you can do the following:
1. The first form is a data entry form (ex: “Email Form”). On the "Email Form", at minimum, you can have the participant ID number field and an email field: a text field with validation = email
2. On the Project Setup page > Enable optional modules and customizations > Enable: Designate an email field to use for invitations to survey participants
3. Select the email field you created on the "Email Form"
4. You can either import (Data Import Tool) or enter the email addresses directly into the data entry "Email Form". Entering the emails here will automatically populate the Participant Lists for all surveys in the project
You can send your invites to any surveys regardless of participant’s responses and survey completions.
Advantages: You can import a list of pre-defined record IDs and email addresses. Record IDs do not have to be assigned incrementing values by REDCap.
How do I turn text to speech on for a specific survey?
You can turn on text to speech on in the survey settings of each survey under “survey customizations”.
Do the remaining reminders get canceled once a participant fills out a survey?
Yes, Once the specific survey gets filled out by the participant or a REDCap user, all remaining reminders get cancelled automatically.
Can I pipe in information from the survey into my confirmation email?
Yes, you can pipe in any information from the survey or any other form associated with the record.
Can my participants go back to a previously completed survey and make edits?
Yes, but this feature is turned off by default for each survey. You will need to turn it on manually in the survey settings for each survey.
What happened to the “Preview survey" feature?
This feature is no longer available because branching logic or calculated fields would not always work correctly. To preview your surveys, it is recommended to view the survey as a test participant when testing the project while in development status.
What happens when I take the survey "offline"? What does the participant see if they click on the link?
When a survey is "offline" participants will no longer be able to view your survey. They will navigate to a page that displays "Thank you for your interest, but this survey is not currently active." Project users will still have access to the project, all the applications and survey data.
When a "stop action" condition is met, can I customize text to display to participants prior to the survey closing?
Customized text cannot be incorporated into the standard REDCap message that displays to the participant.Another method instead of using the stop action feature, is to hide all other questions with branching logic. A descriptive text field can be used to display instructions for those who meet the "end of survey" criteria. These participants can then submit the survey as usual.
If a participant answers a question in a certain way, can they be taken to the end of the survey if the rest of the questions are not applicable?
Yes, you can indicate "Stop Actions" for survey fields only. The survey participant will be prompted to end the survey when programmed criteria are selected. Stop Actions will not be enabled on the data entry form when viewing as an authenticated user. Stop Actions can only be enabled for certain field types.
Can I receive a notification when a survey has been completed?
Yes. On the Online Designer page, choose 'Survey Notifications' located in the Survey Options section. You may indicate which users should be notified when a survey is complete.
For surveys with multiple pages, can the "Previous Page" button be disabled?
Yes. The "Previous Page" button option can be disabled on the Online Designer > Survey Settings page.
For surveys with multiple pages, can participants go back to a previous page to change answers?
Yes. Participants can go back to a previous section to change answers by clicking the “Previous Page” button at the bottom of the survey screen. Participants should only click the “Previous Page” button and not the web-browser’s back button.
For surveys with multiple pages, is there a progress indicator on the survey?
Yes. There is a “Page # of #” at the top right of the survey, so respondents know how many pages they have left. You can hide/display this feature on the Online Designer > Survey Settings page. The progress bar is not a feature of REDCap.
When "Display Questions" = "One section per page" is enabled and entire sections/questions are hidden due to branching logic, are blank pages displayed to the participant?
No, sections (creating a survey page) where ALL questions are hidden due to branching logic are skipped in survey view.
If I enable "Display Questions" = "One section per page", do answers get saved after the respondent hits "next" to go on to the next page?
Yes. Answers are committed to the database as you hit “Next”. So if responders quit the survey before finishing, you’ll have all the data up to that point (partial responses).
My survey has matrix fields and it’s creating undesirable page breaks. What is causing this?
Matrix fields contain a “Matrix Header Text” which is actually a Section Header. Using this field will cause a survey page break. To avoid this, instead of entering text into the header field, add a new “descriptive text field” above your matrix question and enter your text there.
For Survey + Data Entry Projects, is it possible to start entering data on a data entry form for an individual prior to their completion of the survey?
Yes, you can have multiple surveys and data entry forms in the same project. You can start with a data entry form and enable the second instrument to be a survey.
Can I create multiple surveys in the same project?
Yes, you can have multiple surveys in the same project. The multiple surveys will be linked to a single participant. If your surveys are for different cohorts or populations, you will want to create separate projects for each survey.
Is there a way to get rid of the red “must provide value” message for required fields?
Yes, but only in survey mode. You can change this setting in the survey settings. The fields will still be required and the survey will display a warning if they are not filled out, but the red text will be gone.
Can I collect anonymous survey data from participants?
Responses can only be collected anonymously using the Manage Survey Participants > Public Survey Link.
The survey questionnaire must not contain any questions asking the participants for identifying data (ex: What is your email? name? address?).
Multiple Surveys: Be mindful that projects with multiple surveys present potential challenges to anonymous data collection. If you are analyzing data in aggregate, you can having multiple REDCap projects, each using the Public Survey Link. If you need to track individual responses over time, using the Public Survey Link for each survey (pre, post, follow-ups) requires that you collect data points within the survey questionnaire to later export and merge. The data points should not be identifying information, but specific enough question(s) that a participant will enter answers consistently (ex: last 5 digits of their first phone number; color of first car).
Projects containing data entry forms and surveys cannot be considered anonymous. Manually entered data needs to be identified by the team to be properly associated and linked with survey responses.
How do I setup a survey confirmation email?
You can setup a confirmation email in the survey settings of each email in the survey termination section. Select “Yes” on the dropdown and fill in the “From”, “Subject” and “Body” sections. You can also add an optional attachment.
Note: REDCap must have an email field defined for the project in order to send out the survey confirmation automatically.
How to do I set a survey expiration date for a specific survey?
You can set the survey expiration date for any survey in the survey settings. REDCap will deactivate the survey at the specified time point.
Note: The survey will be deactivated for all instances of that survey in all arms and events. It’s currently not possible to put expiration dates on specific surveys in specific events.
Can survey respondents return and modify completed surveys?
Yes. This feature can be enabled on the Online Designer > Survey Settings page under the "Save & Return Later" section. Once enabled, a respondent will be able to return to their response and make any edits to it even if they have fully completed the survey.
Once enabled as part of the "Save & Return Later" feature, respondents will need to provide a Return Code in order to make edits to a completed survey. If the Survey Login feature is enabled for the survey, then instead of using a Return Code, they will use their login credentials to return to the survey.
If enabled, participants who have completed the survey will still appear in the Participant List in the Compose Survey Invitations popup to allow them to be invited again to edit their completed response. Additionally, their survey link and survey return code will also remain in the Participant List for this same purpose.
Note: If Survey Notifications have been enabled for a survey that has the "Edit Completed Responses" option enabled, then whenever the respondent returns to the survey again and completes the survey again, it will again trigger the Survey Notifications to send an email to those users selected.
What is “Designate an email field to use for invitations to survey participants” option?
Project users may designate a field in their project to be the survey participant email field for capturing the email address to be used.
The field can be designated in the "Enable optional modules and customizations" section of the Project Setup page.
Once designated, if an email address is entered into that field for any given record, users will then be able to use that email address for any survey in the project to send survey invitations.
How do I enable surveys for my project?
Surveys can be enabled at any time in development mode by a project user with "Project Design & Setup" User Rights.
On the Project Setup tab, in the Main Project Settings step at the top, click "Enable" button for "Use surveys in this project?". This feature must be enabled in order to use surveys.
After enabling surveys, go to the Online Designer. A link to that page is on the Project Setup tab, in a lower step on the page. On the Designer, designate which instruments should be surveys by clicking the ‘Enable’ button next to them. You can enable surveys on as many instruments as you wish.
Each time you designate an instrument as a survey, you will be prompted to define some additional features of the survey. Be sure to scroll down and save those settings. You can return to them at any time to review and modify them as needed, even in production mode. They are found in the 'Survey Settings' buttons that will appear next to each survey instrument in the Online Designer.
To enable surveys for a project in "production" status, you must contact your REDCap Administrator.
Where can I setup survey reminders?
You can setup survey reminders in the same modules that REDCap allows you to send out a survey invitations: Automatic Invitations, Participant List, Compose Survey Invitations.
Can I send more than 5 survey reminders?
The current maximum for reminders is 5 in order to prevent spamming people.
What happens when a REDCap Administrator takes the system "offline" for routine upgrades and/or expected downtime? What does the participant see if they click on the survey link?
When the REDCap system is "offline", participants will no longer be able to view your survey. They will navigate to a page that displays "REDCap is currently offline. Please return at another time. We apologize for any inconvenience.
If you require assistance or have any questions about REDCap, please contact your REDCap Administrator.
Why am I getting duplicate notifications when a survey has been completed?
REDCap specifically checks to ensure it doesn't send a double email to someone. However duplicate notifications can be sent if another user on that project has a slightly different version of your email address on their REDCap account e.g. jane.J.firstname.lastname@example.org vs email@example.com. There is another possibility. After a survey participant finishes a survey he or she may refresh the acknowledgement page. This could result in another batch of emails being sent.
What is the Survey Login feature?
To provide improved security to your surveys, you can require the participant to enter specified login credentials in order to begin a survey and if the "Save & Return Later" feature is enabled to return to a previously entered survey response.
To enable the Survey Login feature, there is a button at the top of the instrument list on the Online Designer that will open up the Survey Login settings popup. Users who wish to enable Survey Login may choose one, two, or three fields in their project to be used as the login credential fields for surveys in their project.
The Survey Login can be enabled for ALL surveys in a project or just selected surveys. For selected surveys, navigate to the Survey Settings page to enable.
If Survey Login has been enabled and a record does not exist yet for the respondent (e.g., if they are beginning a Public Survey), then the survey page will display directly without the login page. However, once the record exists, the respondent will always be prompted to log in to the survey.
Note: If a survey has the "Save & Return Later" feature enabled, Return Codes will not be used to return to the survey, but it will use the Survey Login's login credentials instead.
How do I automatically display the current date/time on a survey?
Every survey that is submitted is date/time stamped. This completion date and time are available in the data export and data entry forms. However it’s not possible to display the current date on the survey while it’s being taken by participants.
You can add a question onto your survey to indicate "Today's Date". The calendar pick list will have a button for "Today" or "Now" that the participant can easily click.
Action tags are a relatively new addition to REDCap and can be applied to any variable (see Action Tags info for additional details). These options are available:
Automatically provides the user’s current time as the value of a Text when the page is loaded. Once the value is captured, it will not be changed when visiting the page at a later time. If the field has validation, the value will conform to the date/time format of the field. The field will be disabled and will not allow users to edit the value. NOTE: The time will be the user’s local time, which is derived from their device/computer.
Automatically provides the user’s current date as the value of a Text when the page is loaded. Once the value is captured, it will not be changed when visiting the page at a later time. If the field has validation, the value will conform to the date/time format of the field. The field will be disabled and will not allow users to edit the value. NOTE: The date will be the user’s current date, which is derived from their device/computer.
Makes the field read-only (i.e., disabled) on the survey page, the data entry form, and in the REDCap mobile app so that its value cannot be changed
What kind of attachment can I send with a survey confirmation email?
You can send one file of any type as long as it isn’t bigger than the size limit set by the local administrator. This is usually around 16 MB.
How can I track the length of time to complete a survey?
Use the action tags @NOW and @HIDDEN-SURVEY to capture the time the participant starts the survey. You can then use the survey timestamp for the end time and calculate the survey length from the two times.
There are two important notes on using this method. The first is that if the survey has the “Save and Return Later” feature enabled, this could be an extremely long time that doesn’t reflect how long the participant actually spent on the survey page. The second is that @NOW action tags record the time based on the user’s browser, and the timestamp is based on the REDCap server. So if the participant is taking the survey from a different time zone from the REDCap server, the calculation may not be accurate.
Is there any way to make a survey available for a specific time window for a specific record—for example, 24 hours before and after an appointment?
There is no way to set this within the survey settings or that redirects to the “Survey Not Available” page. Within the survey itself, you can use branching logic to hide questions based on your date’s conditions. You can set up the questions to only be visible within a range that works with your relative dates using a datediff calculation. You would then have a descriptive field stating that the survey is unavailable display if the datediff calculated value falls outside of your accepted range.
Is this there any tool that can help me figure out how to set up my survey?
This link [Survey Wizard: The Basics] will take a user to a survey algorithm that was created by the Training Collaboration Committee using REDCap version 7.6.3. It addresses when to enable survey functionality, what to consider when choosing a survey model, and reviews survey setting options.
Can survey respondents save, leave, and then go back to a survey to complete the questions?
Yes. You must enable the "Save and Return Later" option in the Modify Survey Settings section of the Project Setup tab. This option allows participants to save their progress and return where they left off any time in the future. They will be given a Return Code, which they will be required to enter in order to continue the survey.
Note: If a project has the "Survey Login" feature enabled, Return Codes will not be used to return to the survey, but it will use the Survey Login's credentials instead.
If participants forget their Return Code and contact you, you have access to participants codes on their Survey Results page. You will only be able to distribute lost codes if the survey responses capture identifiers. If the survey is "anonymous" you will not be able to recover the Return Code for the participant.
If my survey is really long, can I create page breaks?
Navigate to Project Setup > Modify Survey Settings. Make sure to set "Display Questions" = "One section per page". Then on your questionnaires, you can create page breaks by adding in fields (field type = "Begin New Section (with optional text)") where you would like those breaks to occur.
In longitudinal project, how can I set up linkages between events and data entry forms?
You can use the Designate Forms for my Events page to create linkages between events and data entry forms. In the Designate Forms for my Events page each arm of your study has its own tab. Choose an arm and click the Begin Editing button to link data entry forms to events. Check off boxes to indicate the forms which should be completed for any given event and then click the Save button. You will see a grid that displays the data entry forms that are assigned for completion during each event. Take care to designate forms for your events while the project is in development mode. These associations can only be changed by the REDCap Administrator after the project is in production and should be made with caution to ensure existing data are not corrupted.
How can I establish the events and scheduling intervals for my project?
The Define My Events page allows you to establish the events and scheduling intervals for your project. An “event” may be a temporal visit in the course of your project such as a participant visit or a task to be performed. After events have been defined, you may use them and their Days Offset value to generate schedules. For data collection purposes, you will additionally need to designate the data entry forms that you wish to utilize for any or all events, thus allowing you to use a form for multiple events for the same database record. You may group your events into “arms” in which you may have one or more arms/groups for your project. Each arm can have as many events as you wish. To add new events provide an Event Name and Date Offset for that event and click the Add New Event button.
If you will be performing data collection on this project then once you have defined events in the Define My Events page, you may navigate to the Designate Instruments For My Events page where you may select the data collection instruments that you with to utilize for each event that you defined.
How is longitudinal data stored?
In the traditional data collection model and for surveys, each project record is stored independently as a separate row of data, which can be seen when exported. But for longitudinal projects, each row of data actually represents that particular time-point (event) per database record.
For example, if four events are defined for the project, one record will have four separate rows of data when exported. The data export will include a column "redcap_event_name" indicating the unique event name for each row.
Longitudinal projects are most commonly created for clinical and research data. A longitudinal project is created by selecting the "Longitudinal / repeating forms" collection format for data entry forms when creating or requesting a new project.
What is a Longitudinal project?
A longitudinal project is similar to a traditional data collection project in that multiple data entry forms are defined. However unlike the traditional model, forms in a longitudinal project can be completed repeatedly for a single record. The longitudinal model allows any data entry page to be repeated any given number of times across pre-defined time-points, which are specified by the user before data is collected. So rather than repeating a data entry form multiple times in the Data Dictionary, it can exist only once in the Data Dictionary but be repeated N number of times using the longitudinal model.
The longitudinal project lets you define “events” for your project that allow the utilization of data collection forms multiple times for any given database record. An “event” may be a temporal event in the course of your project such as a participant visit or a task to be performed. After events have been defined, you will need to designate the data entry forms that you wish to utilize for any or all events, thus allowing you to use a form for multiple events for the same database record. You may group your events into “arms” in which you may have one or more arms/groups for your project. Each arm can have as many events as you wish. You may use the table provided to create new events and/or arms, or modify existing ones. One arm and one event will be initially defined as the default for all databases.
How can I register a subject in a multi-arm study before the determination as to which arm they belong in can be made?
You can set up an arm as a "screening and enrollment" arm. Once a subject becomes enrolled he or she can be added to an "active" arm.
Can you transfer a subject from one arm to another?
The most common way to do this is to use the import/export method. Using this method, you would export the data from REDCap and redcap event names in the export file to the new arm before re-importing the data. Make certain that the event names match the events in the new arms: For each arm you are importing, you must define the events, and for each arm you must enable the forms for those events.
How can I remove a subject in a multi-arm study from one arm, but not all arms?
Go to the first form in the arm from which the subject will be removed and delete the record. This will remove the subject from that arm, but not other arms.
Copy a Project
Can I create a copy of my project?
Yes. If you have the right to create/request new projects, you can navigate to the Project Setup > Other Functionality page and request a "Copy" of the project.
How do I move a project between different REDCap installations?
Provided that both your origin REDCap installation and your destination REDCap installation are on a REDCap version of 6.12.0 or higher, you can perform a CDISC ODM export of the project's metadata on the Other Functionality tab of the Project Setup page.
You have two options for export:
- A export of just the full project setup (including all the variables, forms and settings)
- A export with the full project setup plus all the data captured so far.
Note: Both export options do not include log files or user rights.
To load a CDISC ODM export in your destination REDCap installation, Create or Request a new project and select the "Upload a REDCAp project XML file" option.
This option will allow you to upload your previously downloaded XML file.
Note: Do not upload a data dictionary file during project creation, the system only accepts the CDISC ODM format.
Data Collection Instrument Design
Are there any restrictions to what you can name a variable/field?
Variable names cannot be duplicated and should always start with a letter. They must be lowercase and may contain only letters, numbers, and underscores. Although a maximum length of 26 characters is allowed, by convention, variable names should be as short in length as possible while maintaining meaning. Note: the terms "variable names" and "field names" are used interchangeably in REDCap.
Are there any restrictions to what you can name a data collection instrument?
Naming instruments using the Online Designer do not have restrictions. Naming instruments using the Data Dictionary is restricted to lowercase and may contain only letters, numbers, and underscores.
Are there restrictions to the number of data collection instruments you can have in one project?
Currently, there are no restrictions on the number of data collection instruments per project.
Are there restrictions to the number of fields you can have in one instrument?
No. There are no restrictions on the length or number of fields per instrument. The best practice is to keep instruments fairly short for easier data entry, and to ensure that you're saving data to the server more frequently.
For long surveys, you can use section headers and enable the feature "Display Questions" = One Section Per Page. This will allow participants to save each section when they click "next page".
What is the difference between a data entry form and a survey?
REDCap defines Data Collection Instruments as "data entry forms" and "surveys".
With "surveys" you can collect data directly from participants. Participants will access your questions via a secure webpage. No authentication is required; however, you can enable the Survey Login feature if needed.
With "data entry forms", data is entered by authorized REDCap project users. REDCap log-in access and project rights are required to view and edit the data entry forms.
Is it possible to change the format (colors, text) of the form, field or text display?
The general data entry templates are static and cannot be changed. Survey Themes in the Survey Settings page allows you to customize the font and background colors for many sections of a survey.
REDCap does allow the use of some HTML and CSS in the Field Label and Field Notes. Please note that HTML tags print as text on the pdf exports/forms and do not print the formats created with the HTML tags.
Check out this example survey for formatting ideas: https://redcap.vanderbilt.edu/surveys/?s=u7B74tUTsa
Can I insert a smiley face or emoticon or an image into a field choice label?
You can hardcode emoticons into the label--you can find a list of the codes here: http://character-code.com/emoticons-html-codes.php
If you use this option, make sure to test using the data dictionary and test it in different browses to make sure they all recognize the codes you’re using.
The other option is to create a descriptive field with images in the proper places and put it above the radio buttons of LH alignment.
How to set/unset that changes to a record require providing a reason for the change?
Project Setup tab -> Enable optional modules and customizations section -> click on "Additional customizations" button -> check/uncheck "Require a 'reason' when making changes to existing records?"
Require a 'reason' when making changes to existing records?
Require users to enter a reason (200 character max) in a text box when making any data changes to an already existing record on a data collection instrument. The prompt is triggered when clicking the Save button on the page. Any 'reasons' entered can then be viewed anytime afterward on the Logging page.
Online Designer / Data Dictionary
I get an error message when I attempt to upload a really large data dictionary. Does REDCap set a limit on the file size of an imported data dictionary?
REDCap can be configured to allow large files to be uploaded. You'll need to contact your local REDCap Administrator about your institution's file upload limits.
What is the Field Annotation?
This metadata field was added in v6.5. An annotation can be added to any field via the Online Designer or Data Dictionary (column R). It can be used for several purposes, such as for the bookkeeping of a project's field structure (as metadata about the given field) for reference purposes regarding what the field represents or how it should be used (during data entry, analysis, etc.). Field annotations are not displayed on any page but are merely for reference. Field annotations can also be used to map the field to various standards (e.g., CDISC, SNOMED, LOINC) using whatever notation the user sees fit (e.g., using a simple ID code for the standard or a complex XML structure containing information about how to transform the data to the standard). Since it is an annotation for reference purposes, REDCap will not do anything with the field annotation text on its own, but the annotation can be obtained by users at any time for any purpose (typically accessed via the Data Dictionary download or via the API metadata export).
What is the Data Dictionary?
The Data Dictionary is a specifically formatted spreadsheet in CSV (comma separated values format) containing the metadata used to construct data collection instruments and fields. The changes you make with the data dictionary are not made in real time to the project (off-line method). The modified file must first be uploaded successfully before changes are committed to the project.
What is the Online Designer?
The Online Designer will allow you to make create/modify/delete data collection instruments and fields (questions) very easily using your web browser. Changes are made in real time and available immediately for review and testing.
How do I make edits to a data dictionary for a project in development or already in production?
1. If the project is still in development, then download the current data dictionary and save as Version 0. This step is not necessary for a project already in production since REDCap stores all previous versions of the data dictionary (since moving to production) in “Project Revision History”.
Note: If study records already exist in the database, then it is good practice to export the raw data before proceeding. It is important to have a backup of your project as it currently exists should you need to go back to the original version.
2. Make a copy of the Version 0 database and save as Version 1 in CSV format.
3. Make edits/additions/deletions to Version 1 and save.
4. Upload the entire revised Version 1 data dictionary to your project.
Warning: Uploading the new data dictionary will overwrite, not update, the original data dictionary (Version 0), so it is necessary to upload the revised file in its entirety. If you have multiple developers on a project, it is also important to communicate and coordinate revisions. You do not want to be working on an outdated "local" version of your data dictionary if others have been updating the project in REDCap. Always download a new current version prior to making changes.
How do I define a biomedical ontology lookup in the data dictionary?
Setting up a biomedical ontology in the data dictionary is done by first defining a variable with the text field type without any other validations attached.
You will also have to define which ontology you want for this variable. You do this by inserting the text "BIOPORTAL:" plus the correct shorthand code into the "choices, Calculations, OR Slider Labels" column in the data dictionary (typically column F).
E.g. A lookup for the ICD-10 ontology would need to be coded as "BIOPORTAL:ICD10".
Be careful to make sure that the entire code is in all caps and does not contain the quotation marks.
The ontology lookup short hand codes can be found in two ways:
1) In the online designer, look for the biomedical ontology dropdown (only visible in text variables). Each ontology will have the shorthand code displayed before the dash.
e.g. Entry: "ICD10 - International Classification of Diseases, version 10". The "ICD10" part is the shorthand code.
2) Go to the bioportal website and look for your ontology of choice. In the description of any ontology, there will be a field for "acronym". That acronym is what REDCap uses as a shorthand code.
Field Types and Validation
What are the Custom Alignment codes for the data dictionary?
RV – right vertical
RH – right horizontal
LV – left vertical
LH – left horizontal
What are “identifiers”?
There are 18 pieces of information that are considered identifiers (also called protected health information, or PHI) for the purposes of HIPAA compliance. When you indicate a variable as an Identifier, you have the option to “de-identify” your data on data exports. In the Data Export Tool, the identifier variables appear in red and there are de-identification options you can select prior to exporting the data.
The 18 HIPAA identifiers are:
|6.||Social Security number|
|7.||Medical Record number|
|8.||Health Plan number|
|15.||Full face/identifying photo|
|16.||Other unique identifying number, characteristic, or code|
|17.||Postal address (geographic subdivisions smaller than state)|
|18.||Date precision beyond year|
How do I create a set of variables for an unknown number of possible responses for the same question?
For a question with an unknown number of answers, such as how many medications someone is taking, you may want to display the fields only as they are needed. REDCap currently is not able to dynamically create fields; however, there is a way to use branching logic to approximate this.
If you can estimate the maximum number of fields you will need, you can create that many copies of your field to hide and display as needed using branching logic.
Example 1: If you think 15 is a good maximum, you would create 15 copies of the field. Then, in order to only show the fields that are needed, you could create a "count" variable. Your branching logic would look like this:
and so on.
If your variable is medications, and the respondent takes 2 medications, you enter 2 in [count] variable, then the med1 and med2 fields appear. If they take 3, you enter that, and meds1 to med3 fields appear.
Example 2a: Another method is to first create the maximum number of fields that you estimate will be needed, as above, and then hide and display each field as the previous field receives data. Using this method will cause each field to show up as needed. Your branching logic would look like:
field2: [field1] <> "" or [field2] <> ""
field3: [field2] <> "" or [field3] <> ""
field4: [field3] <> "" or [field4] <> ""
and so on.
The fields in this example are text fields. If field1 "does not equal blank" (aka if data is entered for field1), then field2 will display. This example will also retain any given field that happens to have data already.
Example 2b: If you want to only show a field if there is not a previous field that is empty, the branching logic will need to check every previous field:
field2: [field1] <> ""
field3: [field1] <> "" and [field2] <> ""
field4: [field1] <> "" and [field2] <> "" and [field3] <> ""
and so on.
How do I display unknown dates? What’s the best way to format MM-YYYY?
When you set a text field validation type = date, the date entered must be a valid completed date. To include options for unknown or other date formats, you may need to break the date field into multiple fields. For Days and Months, you can create dropdown choices to include numbers (1-31, 1-12) and UNK value. For Year, you can define a text field with validation = number and set a min and max value (ex: 1920 – 2015).The advantage of the multi-field format is that you can include unknown value codes. The disadvantages are that you may need to validate date fields after data entry (i.e. ensure no Feb 31st) and there will be additional formatting steps required to analyze your data fields.
How are the different date formats exported?
The Data Export Tool will only export dates, datetimes, and datetime_seconds in YYYY-MM-DD format. Previously in 3.X-4.0, datetimes were exported as YYYY-MM-DD HH:MM, while dates were exported as MM/DD/YYYY. By exporting only in YYYY-MM-DD format it is more consistent across the date validation field types.If exporting data to a stats package, such as SPSS, SAS, etc., it will still import the same since the syntax code has been modified for the stats package syntax files to accommodate the new YMD format for exported dates. The change in exported date format should not be a problem with regard to opening/viewing data in Excel or stats packages.
How are the different date formats imported?
While the different date formats allow users to enter and view dates in those formats on a survey/form, dates must still only be imported either in YYYY-MM-DD or MM/DD/YYYY format.
Can I enter dates without dashes or slashes?
Date values can be entered using several delimiters (period, dash, slash, or even a lack of delimiter) but will be reformatted to dashes before saving it (e.g. 05.31.09 or 05312009 will automatically be reformatted to 05-31-2009 for MM-DD-YYYY format).
Can I change date formats if I've already entered data?
Any date fields that already exist in a REDCap project can be easily converted to other formats without affecting the stored data value. After altering the format of the existing date fields, dates stored in the project will display in the new date format when viewed on the survey/form. Therefore, you change the date format of a field without compromising the stored data.
How are dates formatted? Can I change the date format?
Dates can be formatted as mm-dd-yyyy, dd-mm-yyyy, and yyyy-mm-dd by using the text field > validation. These formats cannot be modified. It is recommended to always use the field label or field note to specify the required date format.
What is the Question Number (surveys only) column in the data dictionary?
For surveys, you can use this column to enter number of the survey question for screen display.
Is it possible to restrict text inputs to a defined length or digit/character combination?
You can restrict text inputs by using custom field validation types. Custom field validation types must be created by the REDCap Development team. Your REDCap Administrator will be able to submit requests for new custom field validation types. The request will be evaluated by the concerned team and approved requests will be fulfilled. However it is not possible to specify a deadline for meeting the request.
Can I populate radio buttons, dropdowns and checkbox field choices using an "if then" statement?
There is currently no way of populating field choices dynamically. You can create multiple fields and response option lists and hide or display them using branching logic. In certain circumstances, you may be able to populate a dropdown list from another REDCap field, but this is a very specific use case and requires contacting a REDCap Admin.
Can I shorten an instrument by grouping related questions together using a columnar format?
It is not possible to build survey or data entry forms in a columnar format in REDCap. You can use a combination of branching logic, section headers and descriptive text to shorten the instrument and group related questions.
Is there a question type that is a radiobutton/checkbox/dropdown with a text box for "Other, specify"?
No, this specific question type is not available. You can add a text field after the question and use branching logic so that if "Other" is selected, a text box appears to capture the data.
Can I set minimum and maximum ranges for certain fields?
If validation is employed for text fields, min and max values may be utilized. Min, max, neither or both can be used for each individual field. The following text validation types may utilize min and/or max values:
Why can’t I see the different date formats in the Online Designer?
New validation types are not automatically available will need to be enabled by your REDCap Administrator. Once enabled, they'll appear in the text validation drop-down list in the Online Designer. All formats are available via the Data Dictionary.
What is the character limit for a variable name, field label, text typed into a "text box (short text)", and text typed into a "notes box (paragraph text)"?
The maximum number of characters are:
- Field name: *Recommended: <26, Max: 100
- Field label: ~65,000
- Text typed into a "text box" field: ~65,000
- Text typed into a "notes box" field: ~65,000
*Most stats packages (SAS, STATA...) will truncate variable/field names to max of 26 characters.
Can I upload files to attach to individual subject records?
Yes, you can upload documents for individual records.
To create a new document upload field in the Data Dictionary for any given REDCap project, set the Field Type = ‘file’. You may add as many 'file' fields as needed to your data collection instruments.
Documents can be uploaded and downloaded by navigating to the record’s data entry page and clicking the file link. A document can be deleted at any time, and there is no limit to how many times the document can be replaced by uploading another file to that record’s file upload field.
Contact your REDCap Administrator to confirm if this field type is available and what the maximum upload file size is at your institution.
What are the field types?
The Field Type dictates how the field will be shown on the data entry form.
single-line text box (for text and numbers)
large text box for lots of text
dropdown menu with options
radio buttons with options
checkboxes to allow selection of more than one option
upload a document
FILE with Text Validation "Signature" = Signature Field
perform real-time calculations
select query statement to populate dropdown choices
text displayed with no data entry and optional image/file attachment
visual analogue scale; coded as 0-100
radio buttons with yes and no options; coded as 1, Yes | 0, No
radio buttons with true and false options; coded as 1, True | 0, False
Are data from checkbox (choose all that apply) field types handled differently from other field types when imported or exported?
Yes. When your data are exported, each option from a checkbox field becomes a separate variable coded 1 or 0 to reflect whether it is checked or unchecked. By default, each option is pre-coded 0, so even if you have not yet collected any data, you will see 0's for each checkbox option. The variable names will be the name of the field followed by the option number. So, for example, if you have a field coded as follows:
2, African American
In your exported dataset, you will have four variables representing the field Race that will be set as 0 by default, coded 1 if the option was checked for a record. The variable names will consist of the field name. three underscores, and the choice value:
- when you import data into a checkbox field, you must code it based on the same model
- negative values can be used as the raw coded values for checkbox fields. Due to certain limitations, negative values will not work when importing values using the Data Import Tool, API and cause problems when exporting data into a statistical analysis package. The workaround is that negative signs are replaced by an underscore in the export/import-specific version of the variable name (e.g., for a checkbox named "race", its choices "2" and "-2" would export as the fields
A checkbox field can be thought of as a series of yes/no questions in one field. Therefore, a yes (check) is coded as 1 and a no (uncheck) is coded a 0. An unchecked response on a checkbox field is still regarded as an answer and is not considered missing.
How do I indicate “dates” in the data dictionary?
Text Validation Types: Use for text field data validation
What to consider when choosing radio button vs drop-down?
- Ability to use short cut keys
- Less space on forms; use when you have limited space
- Good when you need your choices visible
- Good option for minimal response options
- Available with the matrix options when building forms
What are the field types?
The Field Type dictates how the field will be shown on the data entry form.
|TEXT||- single-line text box (for text and numbers)|
|NOTES||- large text box for lots of text|
|DROPDOWN||- dropdown menu with options|
|RADIO||- radio buttons with options|
|CHECKBOX||- checkboxes to allow selection of more than one option|
|FILE||- upload a document|
|CALC||- perform real-time calculations|
|SQL||- select query statement to populate dropdown choices|
|DESCRIPTIVE||- text displayed with no data entry and optional image/file attachment|
|SLIDER||- visual analogue scale; coded as 0-100|
|YESNO||- radio buttons with yes and no options; coded as 1, Yes | 0, No|
|TRUEFALSE||- radio buttons with true and false options; coded as 1, True | 0, False|
How do you calculate e to a power in REDCap?
REDCap doesn’t have a specific function for e, so you will need to use the numerical equivalent to e and calculate on that. For example:
(2.718281828) ^ ([field_1]). Both sides of the exponent need to be encased in parentheses.
What are the possible Text Validation Types?
Certain text validation types must be enabled by a REDCap Admin. If you do not see an option below in your instance, contact your REDCap Administrator.
|integer||1, 4, -10||whole number with no decimal|
|alpha_only||name||letters only, no numbers, spaces or special characters|
|number||1.3, 22, -6.28||a general number|
|number_1dp_comma_decimal||number to 1 decimal place - comma as decimal|
|number_1dp||number to 1 decimal place|
|number_2dp_comma_decimal||number to 2 decimal place - comma as decimal|
number to 2 decimal place
number to 3 decimal place - comma as decimal
number to 3 decimal place
number to 4 decimal place - comma as decimal
number to 4 decimal place
|number_comma_decimal||number comma as decimal|
|postalcode_canada||K1A 0B1||Format: A0A 0A0 where A is a letter and 0 is a digit|
|time_mm_ss||31:22||time in minutes and seconds|
Is there an easy way to keep the user from entering future dates on a form?
If you have another field validated as a date and with the @TODAY (and possibly the @HIDDEN or @READONLY), then you could use a Data Quality rule with the "Execute in real time on data entry forms" checkbox checked. The DQ rule real time execution won't work on a survey, so on a survey you would need to settle for a descriptive text field that displays an error message if the date is greater than your date field with @TODAY in it.
Is there a way to hide the “today” button on date fields when it is not applicable to the question?
Is there a way to hide the “today” button on date fields when it is not applicable to the question?
Yes. You can turn it off on the project level by going to “Enable optional modules and customizations” on the Project Setup page. Go to “Additional Customizations” and uncheck “Display the Today/Now button for all date and time fields on forms/surveys?”
To turn it off on the field level, you can use the actin tag @HIDEBUTTON on that field.
How do I create a matrix of fields using the Online Designer?
Navigate to the Online Designer and click the "Add Matrix of Fields" button that will appear either above or below each field. It will open up a pop-up where you can set up each field in the matrix. You can supply the field label and variable name for each field in the matrix, and you may also designate any as a required field. You have the option to display a section header above the matrix. You will also need to set the answer format for the matrix, either Single Answer (Radio Buttons) or Multiple Answers (Checkboxes), and then the matrix choice columns. Setting up the choices is exactly the same as for any normal multiple choice field in the Online Designer by providing one choice per line in the text box. Lastly, you will need to provide a matrix group name for your matrix of fields. The matrix group name is merely a tag that is used to group all the fields together in a single matrix group. The matrix group name can consist only of lowercase letters, numbers, and underscores, and the group name must not duplicate any other matrix group name in the project. Once you have provided all the requisite information for the matrix, click the Save button and the matrix will be created and displayed there with your other fields in the Online Designer.
Why isn't the header for my matrix field hidden if all of the fields in the matrix are hidden?
The Matrix Field Header is really just a Section Header. Like all Section Headers, it is only hidden if all of the fields in the section are hidden. Fields that come after the matrix but before another Section Header count as being part of the section.
How do I create a matrix of fields using the Data Dictionary?
In a data dictionary, creating a matrix of fields is as easy as creating any regular radio button field or checkbox field. Create your first field in the matrix as either a radio or checkbox field type (since matrix fields can only be either of these) by adding it as a new row in the data dictionary. You must provide its variable name and form name (as usual), then set its field type as either "radio" or "checkbox". Then set its field label in column E, its multiple choice options in column F, and then lastly in column P you must provide a Matrix Group Name.
The matrix group name is how REDCap knows to display these fields together as a matrix. Without a matrix group name, REDCap will display the fields separately as normal radio buttons or checkboxes.
The matrix group name can consist only of lowercase letters, numbers, and underscores, and the group name must not duplicate any other matrix group name in the project.
After you have created your first field for the matrix and have given it a matrix group name, you may now create the other fields in the matrix in the rows directly below that field.
To save time, it is probably easiest to simply copy that row and paste it as the next immediate row in the Data Dictionary. Then you only need to modify the variable name and label for the new row. Once you have created all your fields for the matrix, you can upload your data dictionary on the "Data Dictionary Upload" page in your REDCap project, and those fields will be displayed as a matrix on your data collection instrument.
NOTE: All fields in a matrix must follow the following rules:
- must be either a "radio" or "checkbox" field type,
- must have the *exact* same choices options in column F,
- must have the same matrix group name in column P.
If these requirements are not met, the "Upload Data Dictionary" page will not allow you to upload your data dictionary until these errors are fixed.
How do I convert existing non-matrix multiple choice fields into a matrix of fields?
Any existing group of radio button fields or checkbox fields in a REDCap project might possibly be converted into a matrix of fields. In order for fields to be grouped together into a matrix, the following things are required:
- fields must all be a Radio Button field or all be a Checkbox field,
- they must have the *exact* same multiple choice options (same option label AND same raw coded value), and
- they must all be adjacent to each other on the same data collection instrument (or if not, they can be moved first so that they are adjacent).
A matrix can be created only if those three conditions are met. The conversion of regular checkbox/radio fields into a matrix of fields cannot be done in the Online Designer but only using the Data Dictionary. To accomplish this:
- Download the existing data dictionary for the project from the "Upload Data Dictionary" page.
- Add to column P (i.e. Matrix Group Name) the matrix group name for *every* field that will be in the matrix.
- Save and upload the data dictionary on the "Data Dictionary Upload" page
- Confirm those fields display as a matrix on your data collection instrument instead of separate fields.
NOTE on Matrix Group name: The matrix group name is a tag that is used to group all the fields together in a single matrix group. The matrix group name can consist only of lowercase letters, numbers, and underscores, and the group name must not duplicate any other matrix group name in the project. The group name is not ever displayed on the form/survey during data entry, but is used only for design and organizational purposes. The matrix group name can be any value (even an arbitrary value), but it may be helpful to name it something related to the fields in the group (e.g. "icecream" if all the matrix fields are about ice cream).
What is a matrix of fields in REDCap?
REDCap can display a matrix group of fields in either Single Answer format (i.e. radio buttons) or Multiple Answer format (i.e. checkboxes). A matrix allows you to display a group of similar multiple choice fields in a very compact area on a page. This makes data entry forms and surveys much shorter looking. Using matrix fields is especially desirable on surveys because survey respondents are much less likely to leave a survey partially completed if the survey appears shorter, as opposed to looking very long, which can feel daunting to a respondent. So having compact sections of questions can actually improve a survey's response rate.
A matrix can have as many rows or columns as needed. Although the more choices you have, the narrower each choice column will be. Any field in a matrix can optionally have its own branching logic and can be set individually as a required field. A matrix can also optionally have a section header.
What is Piping?
The 'Piping' feature in REDCap allows you to inject previously collected data into text on a data collection form or survey, thus providing greater precision and control over question wording. See more about piping: http://tinyurl.com/redcappiping
Can I use the Participant List's Identifier Field to pipe information into the email invite?
The Participant List Identifier cannot be used as a location to pipe information to or from. If you are using the participant list with the identifier enabled then your survey is the first form in the project and you have not collected any data about that subject to pipe from/to. If your survey form is not the first form and you are using the participant list the identifier will default to the study id of the record. You can use a data entry form as your first form with “Designate an email field to use for invitations to survey participants” enabled to build a robust participant list that could have information piped into the survey invitation and the body of the survey(s) itself.
Is it possible to pipe information from a repeating event or form?
Not at this time. There is no way to specify which instance of the form or event to pull from.
Copy / Share Data Collection Instruments
How can I copy an instrument within a project?
You can duplicate the form by downloading the data dictionary, copying the relevant rows, changing the name of the form and the variable names on the new rows, and uploading the form.On the Online Designer, you can click the "Choose action" drop-down next to a given instrument to copy the instrument. You will be given the choice to name the new instrument and to also provide the suffix text that gets appended to each variable name to prevent duplication of variable names.
How can I make changes to instruments I have uploaded to the REDCap Shared Library?
You just repeat the process of adding an instrument to the library. Choose Share your instrument and follow the instructions. You will see a note that says you are replacing the existing instrument. There's also an option to delete the existing instrument if you want to completely remove it.
How can I copy instruments from one project to another?
You can do this by downloading the data dictionary from both projects. You can then copy and paste the fields in the forms you want from one data dictionary to the other. You can do the same for data. Just export those fields from one and then import into the other after you have uploaded the revised data dictionary.
Can calculated fields be referenced or nested in other calculated fields?
Yes. Calculations can reference other calculations. Be sure to thoroughly test to ensure correct expected values.
Can fields from different EVENTS be used in calculated fields (longitudinal only)?
Yes, for longitudinal projects (i.e. with multiple events defined), a calculated field's equation may utilize fields from other events (i.e. visits, time-points). The equation format is somewhat different from the normal format because the unique event name must be specified in the equation for the target event. The unique event name must be prepended (in square brackets) to the beginning of the variable name (in square brackets), i.e. [unique_event_name][variable_name]. Unique event names can be found listed on the project's Define My Event's page on the right-hand side of the events table, in which the unique name is automatically generated from the event name that you have defined.
For example, if the first event in the project is named "Enrollment", in which the unique event name for it is "enrollment_arm_1", then we can set up the equation as follows to perform a calculation utilizing the "weight" field from the Enrollment event: [enrollment_arm_1][weight]/[visit_weight]. Thus, presuming that this calculated field exists on a form that is utilized on multiple events, it will always perform the calculation using the value of weight from the Enrollment event while using the value of visit_weight for the current event the user is on.
What are some common examples of calculated fields?
To calculate BMI (body mass index) from height and weight, you can create 'BMI' as a calculated field, as seen below. When values for height and weight are entered, REDCap will calculate the ‘BMI’ field. The data for a calculated field are saved to the database when the form is saved and can be exported just like all other fields.To create a calculated field, you will need to do two things:
1) Set the Field Type of the new field as Calculated Field in the Online Designer, or 'calc' if you are working in the data dictionary spreadsheet.
2) Provide the equation for the calculation in the Calculation Equation section of the Online Designer or the 'Choices OR Calculations' column in the data dictionary spreadsheet.
Below is an example equation for the BMI field above in which the fields named 'height' and 'weight' are used as variables.
[weight]*10000/([height]*[height]) = units in kilograms and centimeters
([weight]/([height]*[height]))*703 = units in pounds and inches
A more complex example for another calculated field might be as follows:
What are calculated fields?
REDCap has the ability to make real-time calculations on data entry forms. It is recommended that 'calc' field types are not excessively utilized on REDCap data collection instruments and that they instead be used when it is necessary to know the calculated value while on that page or the following pages or when the result of the calculation affects data entry workflow.
If I import data will new and modified data re-run and update the calculate fields?
Yes. When performing a data import (via Data Import Tool or API), REDCap will perform the calculations for any calculated fields that are triggered by the values being imported. For example, if you have a BMI field whose calculation is based off of a height field and a weight field, then if you perform a data import of height and weight values, it will automatically calculate the BMI for each record that is imported and also save those calculations and log them on the Logging page.
If I need to modify a calculated field, how can I update all the records previously entered?
Data Quality rule (rule H) will find and fix all incorrect values for calculated fields in a project. If any calc fields have ended up with incorrect values (whether due to field changes in the project or due to previous data imports), users can now run rule H not only to find any incorrect calculated values, but it will additionally display a button that, when clicked, will auto-fix ALL of them for the project admin.
Can I create a calculation that returns text as a result (Ex: "True" or "False")?
No. Calculations can only result in numbers. You could indicate "1" = True and "0" = False.
Why is my advanced calculation not working?
The equation may not be formatted correctly. You may try troubleshooting the equation by simplifying the equation first and then add functionality in steps as you test.
Another way to troubleshoot is to click “view equation”. All the variables you are referencing will be listed. If they are not, you will need to check and confirm the variable names.
I created a calculated field after I entered data on a form, and it doesn’t look like it’s working. Why not?
If you add a calculated field where data already exist in a form, data must be re-saved for the calculation to be performed.
Use the Data Quality rule H to find and fix all incorrect values for calculated fields in a project.
Can I calculate a new date by adding days / months / years to a date entered (Example: [visit1_dt] + 30days)?
No. Calculations can only display numbers.
Can fields from different FORMS be used in calculated fields?
Yes, a calculated field's equation may utilize fields either on the current data entry form OR on other forms. The equation format is the same, so no special formatting is required.
How do I format calculated fields?
In order for the calculated field to function, it will need to be formatted in a particular way. This is somewhat similar to constructing equations in Excel or with certain scientific calculators.
The variable names/field names used in the project's Data Dictionary can be used as variables in the equation, but you must place [ ] brackets around each variable. Please be sure that you follow the mathematical order of operations when constructing the equation or else your calculated results might end up being incorrect.
What mathematical operations are available for calc fields?
NOTE: All values that are not a number (including Null or blank values) are converted to "", so when testing whether or not a field is empty, you must compare to "", such as:
if ([my_field] <> "", [my_field], 0)
How to calculate a score if some of the values the calculation uses may be blank?
For a calculated field, if the dependent variables are simply added together, then if any of the variables are empty, the resulting calculation will be empty:
[answer1] + [answer2] + ... + [answerN]
If, however, you use the 'Sum' function, than the resulting calculation will not be empty:
sum([answer1],[answer2], ... [answerN])
You can also use an 'if' statement to provide any desired value in place of an empty dependent variable. In the following case '-1' is supplied:
if([answer1] = "", -1, [answer1])
"" refers to any value that is not a number. For calculations, anything that is not a number is replaced with "" before the calculation is interpreted.
Can I create calculations and use branching logic to hide the values to the data entry personnel and/or the survey participants?
If the calculations result in a value (including "0"), the field will display regardless of branching logic.
You can hide calc fields with branching logic if you include conditional logic and enter the "false" statement to result in null: " " or "". For example: if([weight] > 100, 44, "") Then the field will remain hidden (depending on branching logic) unless the calculation results in a value.
Another relatively new option is to use an Action Tag:
Hides the field on the survey page, the data entry form, and in the REDCap mobile app. Field will stay hidden even if branching logic attempts to make it visible.
Hides the field only on the data entry form (i.e., not on the survey page). Field will stay hidden even if branching logic attempts to make it visible.
Hides the field only on the survey page (i.e., not on the data entry form). Field will stay hidden even if branching logic attempts to make it visible.
Hides the field only on the form ONLY on the REDCap Mobile App. Field will stay hidden even if branching logic attempts to make it visible.
Can REDCap perform advanced functions in calculated fields?
Yes, it can perform many, which are listed below. NOTE: All function names (e.g. roundup, abs) listed below are case sensitive.
|Function||Name/Type of function||Notes / examples|
|if (CONDITION, VALUE if condition is TRUE, VALUE if condition is FALSE)||If/Then/Else conditional logic||Return a value based upon a condition. If CONDITION evaluates as a true statement, then it returns the first VALUE, and if false, it returns the second VALUE. E.g. if([weight] > 100, 44, 11) will return 44 if "weight" is greater than 100, otherwise it will return 11. All operands in CONDITION must be all numeric or all dates!|
|datediff ([date1], [date2], "units", "dateformat", returnSignedValue)||Datediff||Calculate the difference between two dates or datetimes. Options for "units": "y" (years, 1 year = 365.2425 days), "M" (months, 1 month = 30.44 days), "d" (days), "h" (hours), "m" (minutes), "s" (seconds). The "dateformat" parameter must be "ymd", "mdy", or "dmy", which refer to the format of BOTH date/time fields as Y-M-D, M-D-Y, or D-M-Y, respectively. If not defined, it will default to "ymd". The parameter "returnSignedValue" must be either true or false (lowercase) and denotes whether you want the returned result to be either signed (have a minus in front if negative) or unsigned (absolute value), in which the default value is false, which returns the absolute value of the difference. For example, if [date1] is larger than [date2], then the result will be negative if returnSignedValue is set to true. If returnSignedValue is not set or is set to false, then the result will ALWAYS be a positive number. If returnSignedValue is set to false or not set, then the order of the dates in the equation does not matter because the resulting value will always be positive (although the + sign is not displayed but implied).|
|round(number,decimal places)||Round||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round 14.384 to one decimal place: round(14.384,1) will yield 14.4|
|roundup(number,decimal places)||Round Up||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round up 14.384 to one decimal place: roundup(14.384,1) will yield 14.4|
|rounddown(number,decimal places)||Round Down||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round down 14.384 to one decimal place: rounddown(14.384,1) will yield 14.3|
|sqrt(number)||Square Root||E.g. sqrt([height]) or sqrt(([value1]*34)/98.3)|
|(number)^(exponent)||Exponents||Use caret ^ character and place both the number and its exponent inside parentheses: For example, (4)^(3) or ([weight]+43)^(2)|
|abs(number)||Absolute Value||Returns the absolute value (i.e. the magnitude of a real number without regard to its sign). E.g. abs(-7.1) will return 7.1 and abs(45) will return 45.|
|min(number,number,...)||Minimum||Returns the minimum value of a set of values in the format min([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the lowest numerical value. There is no limit to the amount of numbers used in this function.|
|max(number,number,...)||Maximum||Returns the maximum value of a set of values in the format max([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the highest numerical value. There is no limit to the amount of numbers used in this function.|
|mean(number,number,...)||Mean||Returns the mean (i.e. average) value of a set of values in the format mean([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the mean value computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|median(number,number,...)||Median||Returns the median value of a set of values in the format median([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the median value computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|sum(number,number,...)||Sum||Returns the sum total of a set of values in the format sum([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the sum total computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|stdev(number,number,...)||Standard Deviation||Returns the standard deviation of a set of values in the format stdev([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the standard deviation computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
Can I use conditional logic in a calculated field?
Yes. You may use conditional logic (i.e. an IF/THEN/ELSE statement) by using the function:
if (CONDITION, value if condition is TRUE, value if condition is FALSE)
Note that all operands in CONDITION must be all numeric or all dates!
This construction is similar to IF statements in Microsoft Excel. Provide the condition first (e.g. [weight]=4), then give the resulting value if it is true, and lastly give the resulting value if the condition is false. For example:
if([weight] > 100, 44, 11)
In this example, if the value of the field 'weight' is greater than 100, then it will give a value of 44, but if 'weight' is less than or equal to 100, it will give 11 as the result.
IF statements may be used inside other IF statements (“nested”). For example, if you wanted to look for values above ten if the chosen color was blue, but look for values below 20 if any other color was chosen, you could use:
if([chosen_color] = "blue", if([given_value] > 10, 1, 0), if([given_value] < 20, 1, 0))
Other advanced functions (described above) may also be used inside IF statements.
Is there a way to have if/then calculations output a null result instead of a “0”?
The calculation can have the final “else” evaluation be null by using "" or '' to indicate a null value. That would allow the calculated field to be hidden without creating popup warnings about values in hidden fields during data entry.
Can I base my datediff calculation off of today?
Can I base my datediff calculation on today or now?
Yes. You may substitute a date or datetime field in your datediff expression with "today" or "now".
For example, you can calculate elapsed months since screening date using:
or the elapsed time since the start of a test in minutes using:
Note1: If using a date field along with “now”, REDCap will assume midnight (00:00) for the time component for the date field.
Note2: It is strongly recommended that you do not use "today" or "now" in calc fields. This is because every time you access and save the form, the calculation will run and update the field value. So if you calculate the age as of today, then a year later you access the form to review or make updates, the elapsed time as of "today" will also be updated (+1 yr). Most users calculate time from another field (e.g. screening date, enrollment date).
How can I calculate the difference between two date or time fields (this includes datetime, datetime_seconds, and time HH:MM fields, but not time MM:SS fields)?
You can calculate the difference between two dates or times by using the function:
datediff([date1], [date2], "units", "dateformat", returnSignedValue)
date1 and date2 are variables in your project
|"y"||years||1 year = 365.2425 days|
|"M"||months||1 month = 30.44 days|
- If the dateformat is not provided, it will default to "ymd".
- Both dates MUST be in the format specified in order to work.
- For comparing two Time HH:MM fields, the date format is irrelevant.
- The parameter returnSignedValue denotes the result to be signed or unsigned (absolute value), in which the default value is "false", which returns the absolute value of the difference. For example, if [date1] is larger than [date2], then the result will be negative if returnSignedValue is set to true. If returnSignedValue is not set or is set to false, then the result will ALWAYS be a positive number. If returnSignedValue is set to false or not set, then the order of the dates in the equation does not matter because the resulting value will always be positive (although the + sign is not displayed but implied).
|datediff([dob],[date_enrolled],"d")||Yields the number of days between the dates for the date_enrolled and dob fields, which must be in Y-M-D format|
|datediff([dob],"05-31-2007","h","mdy",true)||Yields the number of hours between May 31, 2007, and the date for the dob field, which must be in M-D-Y format. Because returnSignedValue is set to true, the value will be negative if the dob field value is more recent than May 31, 2007.|
|datediff([time_start],[time_end],"m")||Yields the number of minutes between the start and end times.|
Can I create a calculation that uses a variable that is not a number. such as: if([field_name] = 'x', 1, 0)?
You should not do this.
Not only will the calculation work on these replacement values rather than the actual values, but it can lead to different results at different times. The calculation could evaluate to different values during data entry than it does during server-side processing, leading to seeing a different value when viewing the record in REDCap compared to viewing the record when exported.
Is it possible to use branching logic to skip an entire section?
Branching logic must be applied to each field. It cannot be applied at the form or section level. Section headers will be hidden *only* if all fields in that section are hidden.
In Internet Explorer 8, why is the branching logic in a REDCap survey project adversely affected by variable names in which words like return and continue have been used?
From REDCap v4.3.0 onward, warnings have been added to alert users who use any of the IE-reserved field names such as return. "New" and "return" have been added as reserved variable names in v4.3.0. In v4.3.1 the words "continue", "case", "class", and "enum" have been added. So if the user tries to create a variable name that uses one of those words, REDCap will require him or her to change it. The words "catch" and "throw" may also cause errors with some versions of Internet explorer.
Can fields from different EVENTS be used in branching logic (longitudinal only)?
Yes, for longitudinal projects (i.e. with multiple events defined), branching logic may utilize fields from other events (i.e. visits, time-points). The branching logic format is somewhat different from the normal format because the unique event name must be specified in the logic for the target event. The unique event name must be prepended (in square brackets) to the beginning of the variable name (in square brackets), i.e. [unique_event_name][variable_name]. Unique event names can be found listed on the project's Define My Event's page on the right-hand side of the events table, in which the unique name is automatically generated from the event name that you have defined.
For example, if the first event in the project is named "Enrollment", in which the unique event name for it is "enrollment_arm_1", then we can set up the branching logic utilizing the "weight" field from the Enrollment event: [enrollment_arm_1][weight]/[visit_weight] > 1. Thus, presuming that this field exists on a form that is utilized on multiple events, it will always perform the branching logic using the value of weight from the Enrollment event while using the value of visit_weight for the current event the user is on.
Can fields from different FORMS be used in branching logic?
Yes, branching logic may utilize fields either on the current data entry form OR on other forms. The equation format is the same, so no special formatting is required.
Is branching logic for checkboxes different?
Yes, special formatting is needed for the branching logic syntax in 'checkbox' field types. For checkboxes, simply add the coded numerical value inside () parentheses after the variable name:
To check the value of the checkboxes:
'1' = checked
'0' = unchecked
See the examples below, in which the 'race' field has two options coded as '2' (Asian) and '4' (Caucasian):
|[race(2)] = "1"||display question if Asian is checked|
|[race(4)] = "0"||display question if Caucasian is unchecked|
|[height] >= 170 and ([race(2)] = "1" or [race(4)] = "1")||display question if height is greater than or equal to 170cm and Asian or Caucasian is checked|
Can you utilize calculated field functions in branching logic?
Yes, see the list of functions that can be used in logic for Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations.
Can you program branching logic using dates?
Yes, see the list of functions that can be used in logic for Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations.
My branching logic is not working when I preview my form. Why not?
Simply previewing a form within the Online Designer will display all questions. In order to test the functionality of your branching logic (and calculated fields), you must enter new records and enter test data directly into your forms.
Is it possible to use branching logic to skip an entire form or forms?
Branching logic will only hide questions, not entire data collection instruments. If you have a list of data collection instruments (DCIs) in a project (traditional) or event (longitudinal), you will see every form even if you hide all the fields with branching logic on that form. You'll have to click through the forms or "save and go to next form". A work around may be to add a descriptive text (reverse branching logic to show when all fields are hidden) that the form is not applicable to that specific record or just leave the form blank.
If using the Survey Queue for participants entering data, you can hide/display entire surveys.
How do I hide a calculation with branching logic without causing a notification from the web form?
If a calculated field is hidden by branching logic but will evaluate to a number, it causes the web form to notify the data enterer about a hidden field with data in it. To avoid receiving the notification, use an “if…else” statement--if(X, ValueIfTrue, ValueIfFalse)—where the value if false is "".
The statement should be written so if the calculated field is hidden, it will evaluate to false and provide the empty response, meaning there will be no data in the field. This will prevent the notification.
What is branching logic?
Branching Logic may be employed when fields in the database need to be hidden during certain circumstances. For instance, it may be best to hide fields related to pregnancy if the subject in the database is male. If you wish to make a field visible ONLY when the values of other fields meet certain conditions (and keep it invisible otherwise), you may provide these conditions in the Branching Logic section in the Online Designer (shown by the double green arrow icon), or the Branching Logic column in the Data Dictionary.
For basic branching, you can simply drag and drop field names as needed in the Branching Logic dialog box in the Online Designer. If your branching logic is more complex, or if you are working in the Data Dictionary, you will create equations using the syntax described below.
In the equation you must use the project variable names surrounded by [ ] brackets. You may use mathematical operators (=,<,>,<=,>=,<>), Boolean logic (and/or), and unary Boolean not (!). You may nest within many parenthetical levels for more complex logic.
You must ALWAYS put single or double quotes around the values in the equation UNLESS you are using > or < with numerical values.
The field for which you are constructing the Branching Logic will ONLY be displayed when its equation has been evaluated as TRUE. Please note that for items that are coded numerically, such as dropdowns and radio buttons, you will need to provide the coded numerical value in the equation (rather than the displayed text label). See the examples below.
|[sex] = "0"||display question if sex = female; Female is coded as 0, Female|
|[sex] = "0" and [given_birth] = "1"||display question if sex = female and given birth = yes; Yes is coded as 1, Yes|
|([height] >= 170 or [weight] < 65) and [sex] = "1"||display question if (height is greater than or equal to 170 OR weight is less than 65) AND sex = male; Male is coded as 1, Male|
|[last_name] <> ""||display question if last name is not null (aka if last name field has data)|
Will the @DEFAULT action tag work on fields hidden by branching logic?
No, the @DEFAULT action tag is incompatible with branching logic. REDCap will by populate any default value to @DEFAULT’ed fields at the point of render. If that field with that value should not appear due to upstream branching you will receive an error message.
What are Action Tags?
Action Tags are special terms that begin with the '@' sign that can be placed inside a field's Field Annotation. Each action tag has a corresponding action that is performed for the field when displayed on data entry forms and survey pages. Such actions may include hiding or disabling a given field (either on a survey, data entry form, or both).
There is a comprehensive list of all available action tags that you may use within the Online Designer "Edit Field" pop up box. You can use as many as you want for a single field, but if you do use more than one tag for a field, make sure to put a space or line break between them. Because the action tags are used as part of the Field Annotation, they are not displayed anywhere on the page. For example, if you put @HIDDEN-SURVEY in a field's Field Annotation text box, then the field will always stay hidden when viewed on a survey page, but the field will be visible when viewing the same instrument as a data entry form, which might be helpful if you want to hide specific fields from your survey participants so that they do not see them. There are many different use cases for each action tag.
Where can I find more information about Action Tags?
Navigate to Project Setup > Online Designer > Click on a data collection instrument > Click Add or Edit a field. Within the pop-up box, there is the Action Tags / Field Annotation option and a link to learn more about Action Tags.
Does the @DEFAULT action tag work with fields hidden by branching logic?
No, the @DEFAULT tag will not populate if the field is hidden when the form loads.
Repeating Instruments & Repeating Events
How do I enable repeating forms and events?
To enable repeating forms in a non-longitudinal project, navigate to the Project Setup page and go down to the “Enable optional modules and customizations” box. Click “Enable” next to “Repeatable instruments.” Inside the popup box, select which instruments in the project you want to repeat.
In a longitudinal project that has multiple events defined, you will still select “Enable” next to “Repeatable instruments and events.” For each event, you will need to choose if you want the entire event to repeat, if you just want specific forms in the event to repeat, or if you don’t want anything to repeat. If you select “Repeat entire event (repeat all instruments together)” all the instruments in that event will be checked. If you select “Repeat instruments (repeat independently of each other),” then you’ll need to select which instruments you want to repeat in that event.
How do I give my repeating forms custom names?
Click on “Modify” next to “Repeatable instruments” in the “Optional modules and customizations” box on the Project Setup page. There will be a text box next to each instrument’s name; you can the custom names there. The most effective way to use this is to pipe in a key piece of information (such as the medication name) here. The custom name will then show up next to the completion status for the individual instances on the record home page.
If this is a longitudinal project and you are repeating the entire event, you cannot use custom naming for the repeating event.
Are repeating forms compatible with double data entry?
No. You can only compare the first instance of repeating forms with double data entry. From the Data Comparison Tool:
The Data Comparison Tool does not *fully* support the Repeating Instruments and Events feature, which appears to be enabled in this project. Data can be compared (and even merged if using Double Data Entry), but it will only allow comparison and merging of Instance #1 of a repeating instrument or repeating event. Thus all other repeating data will be ignored on this page. Also, all non-repeating data can still be compared and merged.
Are repeating forms compatible with the scheduling module?
Repeating forms are not compatible with the scheduling module.
Can I import data into repeating forms?
You can import data into reporting forms by using the redcap_repeat_instrument and redcap_repeat_instance fields to direct it to the appropriate form and instance. However, several people have found when they import into repeating forms the import is incomplete. It is highly recommended you manually check that the data imported correctly and completely after importing data into repeating forms.
The import columns for repeating forms are: record_id,redcap_event_name,redcap_repeat_instrument,redcap_repeat_instance,redcap_data_access_group,[data]
Can I use repeating instruments in surveys?
Yes, you can. First, you need to enable the form as repeating in the project in general on the Project Setup page. Then make sure the form is enabled as a survey and go into the Survey Settings. Under “Survey Termination Options” select “(Optional) Allow respondents to repeat the survey: Ask them to take the survey again upon completion, if they wish.”
This will allow your participants to repeat the survey. You will be able to choose if you want them to see the option to repeat the survey before or after they click submit, and you will be able to customize what the text on the repeat button says.
There are limitations to using repeating forms in surveys. You cannot schedule surveys that are in repeated instruments or repeated events to go out on a regular basis. You need to compose the survey invitation for each instance manually using either the compose invitations in the participant list or the option to send a survey invitation in the survey instance itself. Additional, survey queues in repeating events only work on the first instance of the event.
What are repeating forms and events?
Repeating forms is the ability to use the same form multiple times in a project or an event, without having to define how many times you want to use it. You can use it a different number of times for each record in the project and add new instances of the form as you need them for each record.
For example, if you are collecting a list of medications, you could create a form that asks for one of the medications, and then add a new instance for each additional medication:
In longitudinal projects, you have the option of repeating individual forms inside an event or repeating the event as a whole. If you choose to repeat just a form in an event, you will have multiple instances of just the form(s) you want to repeat. If you choose to repeat the entire event, all the forms in the event will be offered again, and you will have the same number of instances of each of the forms in the event, in that record. You cannot repeat an instrument inside a repeated event.
How can I use the data quality module to check all instances of data repeated instruments?
You can check by looking at the instance number next to the record ID when you click “view” after running the rule. However, you cannot filter by individual instances.
What does the data export look like for records using repeating forms?
When you export data that has repeating instances, there will be two new columns in the export: redcap_repeat_instrument (the instrument’s name) and redcap_repeat_instance (the instance number). All data that is not in a repeating form will be on one line, and then each instance of a repeating field will receive its own line, similar to how the data exports in a longitudinal study:
The formatting will be the same if the project is longitudinal; it will just include the event information as well.
How can I tell the completion status when an instrument repeats?
The completion status of a repeating instrument will have three small circles instead of just one. If the completion status of all the instruments is the same, the circles will be colored red (incomplete), yellow (unverified), or green (complete), just like with regular forms. If the completion status isn’t the same for all instances, then the circles will be blue.
On the record homepage, you’ll be able to see all the instances of a repeating form listed out with the completion status of each instance:
Can I pull information from repeating forms into reports?
You can add information from repeating forms in reports. You will just add the field(s) you need the same way as you would any field in the project. When you view the report, the information from the instances will be on their own line, similar to how information displays for different events in a longitudinal project:
Can I use piping, branching logic, or calculations with repeating forms?
You can pipe information from other forms into a repeating form, and you can pipe information from one field to another within an instance. You cannot pipe information out of a specific instance to someplace else in the project; there is no syntax to refer to a specific instance when you are piping. The same applies for branching logic and calculations—you can use items from outside the repeating form, and you can use information within an instance, but you cannot use information inside a single instance for piping or calculations outside of the specific instance.
How do Automated Survey Invitations work with repeating instruments?
The ASI will only fire once conditions are met for the first instance, and reminders will only be sent for that instance. You cannot automatically invite or remind a participant to repeat a survey. If you need to invite them again, you will need to send the repeat instance invitation manually or instruct them to click the “repeat” button at the correct time.
Are repeating forms compatible with the REDCap Mobile App?
Repeating forms are not compatible with the REDCap Mobile App.
Can repeating instruments be enabled after a project is in production?
Only REDCap administrators can enable repeating instruments for a project that is in production.
Be aware that adding repeating instruments can affect branching logic, calculations, piping, and survey set up.
Data Entry / Collection
In a longitudinal study where the first form is a demographic data collection form is there any way to force the first form to be completed before proceeding to subsequent forms?
You can use branching logic to hide the fields on the later forms and add a section header that explains why no fields are present in each form when the branching logic calls for the form to be 'blank'. The forms that follow the demographic form will still be accessible but fields will be viewable only if a particular field on the demographic form is completed or marked 'Yes'.
For calculated fields, sometimes the value pops up when you enter data for the questions and sometimes the value may not appear until you save the form. Is there any reason it's doing this?
Depending on which internet browser you are using, sometimes the calc fields are calculated during data entry. However, these are just preliminary calculations. You must click the save button for the system to correctly calculate the expression and commit the data to the database.Use the Data Quality rule H to find and fix all incorrect values for calculated fields in a project.
How do I delete all my records at once?
In development mode, the Other Functionality tab has a button to erase all data. This is useful when you are iteratively testing your project and want to practice your data entry several times, starting with an empty project each time.In production mode, records must be deleted individually. Because of this limitation, if you truly need to erase all data in production mode, you may want to consider copying your project and using the copied version instead. That copied version would be in development mode and have no records/data. (It would also be totally separate to the original project, ensuring you still had the original data and could quickly reference it in the future.)
Do I need to select the record number again each time I change data entry forms?
No. To navigate between forms within a given record, select the colored dots indicating form status (i.e. incomplete, unverified, and complete) which appear to the left of the form name when a record is open. Note that moving to a new form by selecting the form status indicator will close the current form without saving entries. In order to save entries, select the “Save and Continue” button located at the bottom of the form before using the form status indicators to move to a new form. Alternatively, you can select the “Save and go to Next Form” button if you wish to move to the next form for the current record.
What is the Record Status Dashboard?
This is a table listing all existing records/responses and their status for every data collection instrument (and for a longitudinal project, for every event). When viewing this page, form-level privileges are utilized (i.e. cannot see a form's status if user does not have access to that form), and if the user belongs to a Data Access Group, they will only be able to view the records that belong to their group.Note: Since projects may now have many surveys, REDCap no longer displays the Survey Response Summary on the Project Home page.
How do I delete an individual record?
Existing records must be deleted by opening each one individually and deleting them. To do so, you must first have permission to delete records.
Go to the User Rights page. (This link is in the Applications section of the project menu.) Open your account, and scroll to the bottom of the screen. There, you’ll find the permission to delete records. Select that option and save your account.
Then, open any record or survey response. You will find the delete options underneath the ‘save’ buttons at the bottom of the page. You can use the 'delete record' button to completely erase all data across all instruments for the given record.
NOTE for surveys: If the project uses surveys, you’ll additionally need the ‘Edit survey responses’ permission. This separate permission is in the Data Entry Rights section of your account, in the upper right of the screen. On the survey response page, you’ll first need to click the ‘Edit survey response’ button at the top of the record before the ‘delete record’ button will be enabled.
How do I enter / view my data?
To enter or view individual records, you can navigate to the "Data Collection" section on the left menu bar. Depending on your project type, you will see "Add or View Survey Responses", a listing of your form names, or a "Data Entry" icon. These options will navigate you to the drop down record lists so you can select or add a new record/response.
You can also use the "Data Exports, Reports and Stats" module under "Applications" to view your data. Create New Reports to search and view your project data in aggregate.
- When you click "View Report", it queries the database in real time and displays the resulting data in table format. Variables are listed in columns and individual records are displayed in rows.
- Clicking the "Stats & Charts" option within Data Exports, Reports and Stats module, displays graphical representations for all numerical and categorical variables and provides links for cleaning notable data (missing, highest, lowest values).
How do I rename a record ID in a multi-arm project?
When designing a project with multiple arms, its best practice to designate the first form with the record ID (unique identifier field) to each arm. This will allow for the unique identifier field to display within each arm so you have the ability to rename the record ID.
If the data you’re collecting in the subsequent arms does not include the data on the first form, create a record ID form with just the record ID so that it can be designated to all arms.
Can I edit survey responses?
Yes, survey responses CAN be edited so long as you have been given user privileges to do so (via the User Rights page). Once you have been given user privileges to edit survey responses, you will see an Edit Response button at the top of the data entry form when viewing the response (the response will be initially read-only). After clicking that button, the response will become editable as normal.
NOTE: Some institutions running REDCap may choose not to enable this feature for their users, so if a checkbox is not seen next to the survey/form rights for that survey on the User Rights page, then this feature has not been enabled and thus cannot be utilized. Contact your REDCap Administrator.
Is there a way to delete data in a given record for just single instrument or event (not the entire record)?
Yes! First, follow the instructions in the section above about deleting an individual record to ensure you have the correct permissions on your user account. Then, open any record or survey response. You will find the delete options underneath the 'save' buttons at the bottom of the page. There are options to erase all this record's data on the current instrument OR on the current event (longitudinal projects ONLY).
Surveys: Anonymous surveys
Can I use the Participant List to collect anonymous survey data from participants?
Technically, no. Data is not anonymous when collected using the Participant List; but it can be "coded" and "unidentifiable" to the project admins.
REDCap's user interface has two separate modules for (1) sending emails and tracking responders/non-responders [Participant List] and (2) viewing data/responses. Through the REDCap interface, there is no link between the modules and no connection between the email address entered and the responses collected unless you enter unique values into the "Participant Identifier (optional)" field. The Participant Identifier field links the email address to the survey responses.
To ensure confidentiality of the data, REDCap tracks responses by attributing it to an email address. If the Participant List > Participant Identifier field is not used, the project administrators are not privy to this information. Access to the association between the individual who took the survey and the survey responses is restricted in the database and can only be accessed by authorized privileged users(system engineers, database admins).
**Important to know: There is a link “behind the scenes” and REDCap / REDCap support personnel (system engineers, database admins) are really acting as an “Honest Broker”: information is provided to investigators in such a manner that it would not be reasonably possible for the investigator or others to identify the corresponding patients-subjects directly or indirectly. REDCap holds the key to the code.
** If you truly need Anonymous Data, use the Public Survey Link.
For the Participant List, the identifying emails can be forever stripped from the data with no way for anyone to go back and find out the identity of the individual from whom the data the was obtained. No re-identification is possible if you do the following:
- Export a copy of the REDCap dataset (so you have a copy of the data + date/time stamps if needed for future reference)
- EXPORT LIST for the Participant List to excel
- REMOVE ALL PARTICIPANTS from the Participant List. This will delete all links between the email addresses and data collected, INCLUDING survey date/time stamps. Date/time entered is still available in the Logging module.
This ensures that identities cannot be reversed engineered in REDCap.
**If data collection must be anonymous in "real time", then the Participant List should NOT be used. Use the Public Survey Link to collect anonymous survey data.
It is recommended that you keep access to the Manage Survey Participants tool restricted since a small number of respondents would be easily identifiable from the Participant List and the Add / Edit Records pages.
Additional guidelines to help you collect unidentifiable coded survey data:
Multiple Surveys: Be mindful that projects with multiple surveys present potential challenges to anonymous data collection.
Only participants that answer the first survey will be able to respond to the follow-up surveys. If you wish to collect additional surveys for the non-responders, you will need to create additional REDCap projects with the follow-up surveys or you may have to open the survey using the link provided and save the survey without data (issue will be required fields).
LACK OF DATA MAY INADVERTENTLY IDENTIFY PARTICIPANTS: If you are using the Participant List to send 3 surveys, a scenario may arise in which a high number of subjects respond to the first 2 surveys and only 1 or 2 subjects respond to the last survey.
As you know, each exported record will contain a subject's response to all of the survey questions. In this scenario, you will need to be aware that the lack of data for the third survey can inadvertently identify a subject's identity and his/her responses to all prior surveys.
For this reason,
1. Do not EXPORT any of the project data until the survey in question is completed and closed.
2. Before exporting survey data:
- Review the number of responses (for each survey in the project) and make a judgment as to whether or not enough responses have been received to ensure that subject identities can remain unidentified. This is particularly critical when using the Participant List, as this list will identify the individuals who have responded. A low count of responses could be problematic. Take care to ONLY export and view data from surveys that have a suitable number of responses. For example, if only one response has been received (and the Participant List identifies that firstname.lastname@example.org<mailto:email@example.com> has responded), you will know that this single response belongs to that subject.
- Only export the data associated with a closed survey (both single and multi-survey projects). Once data has been exported, no further responses should be received or allowed.
Also note: Projects containing data entry forms and surveys cannot be considered anonymous. Manually entered data needs to be identified by the team to be properly associated and linked with survey responses.
Surveys: Invite Participants
What is the Survey Invitation Log?
This log list participants who (1) Have been scheduled to receive invitation Or (2) Have received invitation Or (3) Have responded to survey.You can filter to review your participants response statuses.
If I'm using the Participant Contact List to email survey invites and our mail server fails, REDCap may still return success messages even when no emails have been sent. Can the error reporting be improved when sending emails?
In general, the error reporting for sending emails probably cannot be improved. The email sending process is embedded in a chain of events that involves different systems. The REDCap application is far removed from some of the other systems and therefore cannot always know if a system at the delivery end sent the email.
Is there a limit to the time that a participant has to complete a survey once they have clicked on the survey link?
There is a time limit of 24 hours per page. If a participant selects the "!Save&Return" option, their link is active until the project admin closes/de-activates the survey.
What is the “Start Over” feature for survey participants invited via Participant List?
The survey page allows participants invited via the Participant List to start over and re-take the entire survey if they return to the survey when they did not complete it fully, but the “Start Over” feature is only available if the Save & Return Later feature is disabled or if it is enabled and the participant did not click the Save & Return Later button. .
I only get a public link when the first survey instrument is a survey. Where can I find public links for the other surveys in my project?
A public link is only possible when the first instrument is a survey. Only that survey can have a public link.All later instruments are considered a continuation of the earlier one(s). Later surveys capture different data, but are completed by the same people. So the later instruments can only ever be distributed via Participant List.If different respondents will complete the other surveys, then a separate project should probably be used for each group of respondents.
Can email distribution lists or group email accounts be added to the Participant List to send survey invitations?
You should not use REDCap's Participant Email Contact list with group email addresses or distribution lists. The emailed invitations send only 1 uniquesurvey link per email address; therefore, only the first person in the distribution group who clicks on the email link will be able to complete the survey.
For group distribution lists, you can:
- Email the general "public" survey link provided at the top of the "Invite Participants" page directly from your email account, or
- Add each individual email address from the distribution list to the Participant Contact list. You can copy/paste the emails from a list (word or excel) into REDCap.
The advantages of using REDCap's Participant Contact list and the individual emails is that REDCap will track responders and non-responders.
You'll be able to email only non-responders if you want to send a reminder. With the general distribution email, you won't be able to track responses and participants will have the potential to complete the survey more than once.
How do I manage multiple surveys Participant Contact Lists?
For for projects with multiple surveys, there will be one participant list per survey. You’ll be able to select the survey specific to survey name and event (longitudinal projects).
Participant List may be used to:
- Send emails to many participants at once
- Send individual survey invites directly from a data entry form
The Public Survey Link and Participant List have been separated onto different pages within Manage Survey Participants because they each represent a different method for inviting survey participants.
Note: To be able to add participants directly to the Participant Contact List, the first data collection instrument (DCI) must be enabled a survey. All participants of all surveys must be added to the first survey of the project. If the first DCI is not a survey, you can add an email address to the first DCI and use the feature "Designate an Email" which will auto-populate the Participant Contact List.
How do I send out my survey?
The most common methods to send out a survey are the Public Link and the Participant List. These methods are on the "Manage Survey Participants" page, which is accessed through the project menu's Data Collection section.
Public Link: This is a single survey link for your project which all participants will click on. This link can be copy and pasted into the body of an email message in your own email client. It can also be posted to web pages. This is the most common method for large, anonymous surveys where you do not need to follow-up with survey respondents.
Participant List: This option allows you to send emails through REDCap and thereby track who responds to your survey. It is also possible to identify an individual's survey answers by providing an Identifier for each participant. This is the most common method when you need to know who has responded so far and who hasn't.
Designate an Email Field: You can capture email addresses for sending invitations to your survey participants by designating a field in your project. If a field is designated for that purpose, then any records in your project that have an email address captured for that particular field will have that email address show up as the participant's email address in the Participant List (unless an email address has already been entered for that participant in the Participant List directly).
Using the designated email address field can be especially valuable when your first data collection instrument is not enabled as a survey while one or more other instruments have been enabled as surveys. Since email addresses can only be entered into the Participant List directly for the first data collection instrument, the designated email field provides another opportunity to capture the email address of survey participants.
NOTE: If the participant's email address has already been captured directly in the Participant List, then that email address will supersede the value of the email field here when survey invitations are sent to the participant.
Compose Survey Invite: This option is available on the Participant List and on survey data entry pages for individual records. This allows you to create and send the actual survey invitations.
How can I review or cancel a scheduled survey reminder?
On the Survey Invitation Log page, there is a checkbox for displaying the reminders. Check that box and then click the button to apply the filters. Then you can use the red x to delete the reminders.
How can I remove survey participants or multiple scheduled surveys?
Once a survey invitation is in the Survey Invitation Log, the only way to get rid of them through the UI is to click on the red X next to each one.
The easiest way to simply stop future surveys from going out is to add a new field call "Do not send further survey" in a "Control Center" form, and add that to the ASI condition and click "Ensure logic is still true before sending invitation?" in the Survey Invitation pop up box
This effectively depends on "Ensure logic is still true before sending invitation?" to get the ASI condition to be re-check (and evaluate to false) just before the survey invitation goes out. Whether changes in ASI and the checkbox will affect invitation already in the queue I don't know. Hence, please check before you use it in anger.
Can I remove survey invites in batch?
No. You must select each invite and reminder and click delete (red x).
If you make changes to piping, logic... email invite text..., will it update already scheduled invites
No. You may have to delete scheduled invites and reschedule. And don't forget the reminders! They are not displayed by default.
Is there a way to prevent someone from accessing a survey after you've sent them their link?
There is no way to withdraw a sent survey link or deactivate a survey on the record level.
You could create field in the project, “Block” as a yes/no question, and apply branching logic to all questions in the survey to only display is [block]<> "1". If you need to prevent a participant from seeing the questions, you could then select “Yes” on the block question in their record. As long as this was done before they clicked on the link, they would not see the survey questions to answer.
If the survey is for an already-existing record and the record is deleted before the participant clicks on the survey link, the participant will receive the message “Thank you for your interest, but you are not a participant for this survey.”
If you've already sent survey invitations, can you change the Designate Email Field?
Yes, but it will only affect future invites. If you need to update the email field for already scheduled invites, you must delete the invites and reschedule.
Surveys: Automated Survey Invitations
If I create a timestamp field, including hours, minutes, and days, can I create an automated survey invitation that will detect how many days it has been since the timestamp?
It's possible, but if you do this be aware that the server-side (PHP) datediff function always treats the 'today' keyword as being the first second of the day. If your timestamp value is at six pm (18:00:00), then an ASI checking the datediff on the same day as that timestamp will actually return a result of 0.75 days. On the next day it will return 0.25 days, regardless of what time of day it is checked. On succeeding days it will return 1.25, 2.25, 3.25, etc.
If a survey has already been completed, will the scheduler still send out survey invitations?
There are a variety of reasons why survey invitations might be in the schedule to be sent even though a survey is already completed. The survey invite might have been both manually scheduled and automatically scheduled. The survey invite might have been scheduled but then the URL for the survey sent to the participant directly.Regardless, the scheduler will not send out a survey invitation for an already completed survey.
Do automated survey invitations preclude manual survey invitations?
Automated survey invitations do not preclude manual survey invitations or vice versa.An automated survey invitation will not be scheduled if an automated survey invitation has previously been scheduled, but if an automated survey invitation's logic is checked and found to be true, a survey invitation will be scheduled regardless of whether or not a survey invitation has been previously scheduled manually.Likewise, if an automated survey invitation has been scheduled, one can still schedule a survey invitation manually.
How can I schedule a survey invitation to go out at a specific time?
You can use a form of scheduling that allows you to specify next day, next Monday, etc. However that form of scheduling will not allow you to specify a lapse of a certain number of days.
What mathematical operations can be used in the logic for Automated Survey Invitations?
How can I use automated survey invitations to send invitations a specific number of days after a date given by a variable?
Suppose you want to send a followup survey seven days after a surgery. You could define the condition of an automated survey invitation rule to detect that six days have passed since the surgery date and then schedule the survey invitation to be sent on the next day at noon. By checking for the sixth day instead of the seventh day, you gain the ability to set the specific time to send the invitation and you gain the opportunity to stop the sending of the invitation, if it turns out that you don't really want to send it.
The condition logic would look like: datediff([surgery_date], 'today','d', true) = 6
You could, instead, check that one day has passed and then set the invitation to be sent six days later, but you would lose the ability to set the specific time that the invitation is sent.
When are automated survey invitations sent out?
Automated Survey Invitations are survey invitations that are automatically scheduled for immediate or future sending when certain conditions are true.
Creating an automated survey invitation requires:
- Composing an email message.
- Specifying the conditions that will trigger an email to be scheduled.
- Specifying how to schedule the triggered email (such as: immediately, after a delay, on a specific day).
NOTE: In previous versions, conditions that used the "today" variable would require extra effort to make sure they were checked every day, but REDCap now detects and checks those conditions daily. The conditions are checked every twelve hours. The specific times they are checked during the day varies from one instance of REDCap to the next and changes over time.
How do variables included via piping interact with an automatic survey invitation?
Piped variables are included in a survey invitation ONLY at the point that the ASI determines that an invitation should be scheduled. If the invitation is scheduled to be sent in the future, and a piped variable is later changed before the scheduled invitation is sent, that change will NOT be included in the already scheduled invitation.
How do you stop survey reminders?
First, change the ASI so that no more reminders get scheduled. Then, one by one, delete the reminders from the Survey Invitation Log.
Do participants with partially completed surveys receive the automated survey invitation reminders?
Yes, participants will continue to receive automated survey reminders if they have not completed the survey or they have a partially completed survey response.
What are Automated Survey Invitations?
For any survey in your REDCap project, you may define your conditions for Automated Survey Invitations that will be sent out for a specified survey. This is done on the Online Designer page. Automated survey invitations may be understood as a way to have invitations sent to your survey participants, but rather than sending or scheduling them manually via the Participant List, the invitations can be scheduled to be sent automatically (i.e. without a person sending the invitation) based upon specific conditions, such as if the participant completes another survey in your project or if certain data values for a record are fulfilled.
Below are some guidelines to keep in mind when creating automated survey invitations:
- The 'today' variable should be used only in conjunction with datediff. Comparing 'today' to a date is unreliable.
- It's a good practice to set up a field that can be used to explicitly control whether or not any invitations should be scheduled for a record. This allows for logic like the following:
datediff([surgery_arm_2][surgery_date], 'today', 'd', true) = 6 and [enrollment_arm_1][prevent_surveys] != '1'
- All fields in all forms on all arms are always available to the conditional logic of an ASI rule. If there is no value saved for that field, an empty string is used.
Surveys: How to pre-fill survey questions
Can I pre-fill survey questions so that some questions already have values when the survey initially loads?
Yes, his can be done two different ways as seen below. This only works for the first page if it is a multi-page survey.
NOTE: These two methods are likely to be only used for public survey links as opposed to using the Participants List. This is because there is not a real opportunity to modify the survey links sent to participants via the Participants List because REDCap automatically sends them out as-is.
1) Append values to the survey link: The first method is for pre-filling survey questions by appending URL parameters to a survey link. The format for adding URL parameters is to add an ampersand (&) to the end of the survey link, followed by the REDCap variable name you wish to pre-fill, followed by an equals sign (=), then followed by the value you wish to pre-fill in that question.
For example, if the survey URL is https://redcap.vanderbilt.edu/surveys/?s=dA78HM
then the URL below would pre-fill "Jon" for the first name question, "Doe" for last name, set the multiple choice field named "gender" to "Male" (whose raw/coded value is "1"), and it would check off options 2 and 3 for the "race" checkbox.
WARNING: This method is not considered secure for transmitting confidential or identifying information (e.g. SSN, name), even when using over SSL/HTTPS. If you wish to pre-fill such information, it is highly recommended to use method 2 below.
2) Submit an HTML form to a REDCap survey from another webpage: The second method is for pre-filling survey questions by posting the values from another webpage using an HTML form. This webpage can be *any* webpage on *any* server. See the example below. The form's "method" must be "post" and its "action" must be the survey link URL. The form's submit button must have the name "__prefill" (its value does not matter). Each question you wish to pre-fill will be represented as a field in the form, in which the field's "name" attribute is the REDCap variable name and its value is the question value you wish to pre-fill on the survey page. The form field may be an input, text area, or select field. (The example below shows them all as hidden input fields, which could presumably have been loaded dynamically, and thus do not need to display their value.) If submitted, the form below would pre-fill "Jon" for the first name question, "Doe" for last name, set the multiple choice field named "gender" to "Male" (whose raw/coded value is "1"), and it would check off options 2 and 3 for the "race" checkbox. In this example, the only thing that would be seen on the webpage is the "Pre-fill Survey" button.
<!-- Other webpage content goes here --> <form method="post" action="https://redcap.vanderbilt.edu/surveys/?s=dA78HM"> <input type="hidden" name="first_name" value="Jon"> <input type="hidden" name="last_name" value="Doe"> <input type="hidden" name="gender" value="1"> <input type="hidden" name="race___2" value="1"> <input type="hidden" name="race___3" value="1"> <input type="submit" name="__prefill" value="Pre-fill Survey"> </form> <!-- Other webpage content goes here -->
Double Data Entry
As a double data entry Reviewer, how can I make sure the Data Entry personnel do not modify their records after I create a final merged record?
If you do not want data entry personnel to update records after a review and merge, you can enable the User Right > "Lock/Unlock Records" for the Reviewers. The Reviewers can then lock any records prior to a merge. The data entry personnel without this right will not be able to make updates to the locked record without first contacting the Reviewer.
In a project using the double data entry module, can I make changes in one of the merged records?
A record can be merged only once. For example records "AA--1" and "AA--2" merge to create record "AA".After merging, the user in role Data Entry Person One can still make changes and only record "AA--1" will be changed.The person in role Data Entry Person Two can make changes and only record "AA--2" will be changed.A person in role Reviewer can view all three records that can be edited like any record in a database. The reviewer can use the Data Comparison Tool to see discrepancies in the three versions. The reviewer may then access the merged record and add data. What she adds in the "AA" record will not be added to either "AA--1" or "AA--2" unless she opens them and makes the addition. She can see, and make manual changes, but cannot use "merge" again.Analternative is to delete the merged version "AA", let the Data Entry people make changes themselves and then merge the records.
What is the Double Data Entry module?
As a preventive measure, REDCap prevents users from entering duplicate records. However, some projects may need to enter data twice for each record as a means of ensuring quality data collection by later comparing the records. This can be done using the Double Data Entry Module. When the module is enabled, REDCap collects data differently than normal. It allows you to designate any two project users or roles as "Data Entry Person 1" and "Data Entry Person 2", which is done on the User Rights page. Once designated, either of these two users can begin entering data independently, and they will be allowed to create duplicate records. They will not be able to access each other's data, and only normal users (called Reviewers) will be able to see all three copies of the data. Once each designated data entry person has created an instance of the same record, both instances can then be compared side by side on the Data Comparison Tool page and merged into a third instance.
How do you set up Double Data Entry?
The Double Data Entry (DDE) module that needs to be enabled by a REDCap administrator prior to any data is collected in the project. This module allows two project users or roles to be set as Data Entry Person 1 and Data Entry Person 2 (using User Rights page), and allows them to create records with the same name and enter data for the same record without seeing one another's data.
- Only one person or role at a time can be set as Data Entry Person 1 or 2.
- All other users are considered Reviewers.
- Reviewers have the ability to merge a record created by Data Entry Person 1 and 2 after viewing differences and adjudicating those differences using the Data Comparison Tool, thus creating a third record in the set.
It is sometimes recommended to use the Data Access Groups over the actual DDE module to implement a form of double data entry. The advantages of using DAGs include allowing an unlimited number of users to be in a group and enter data, to utilize the Data Import Tool, and to access all Applications pages. Discrepancies between double-entered records can be resolved by a “reviewer” (i.e. someone not in a group) using the Data Comparison Tool. However, two records can ONLY be merged together when using the DDE module. So if it is necessary for a third party "reviewer" to merge the two records into a third record, then in that case the DDE module would be advantageous over using DAGs.
How do I export only the merged records in a Double Data Entry project?
When exporting records (or viewing a report) from a double data entry (DDE) project, the exported record set will, by default, include three records for every merged record (the first user's entry, the second user's entry, and the merged record).
To limit the exported (viewed) records to only the final merged version of each record, follow these steps:
1. Create a filter.
2. Switch to Advanced Logic:
3. Add this code: not_contain([record_id], "--")
Note, change [record_id] to whatever field you are using as the record identifier.
Data Resolution Workflow
Can I edit the Field Comments?
Yes. Field Comments may be edited and deleted. For all existing projects and all new projects created, the ability to edit/delete a field comment will be enabled by default. If users do *not* wish to allow this functionality, they may disable it for the project on the Project Setup > Optional Customizations popup.
What is a Field Comment?
When the Data Resolution Workflow is not enabled, the field comments, indicated by the balloon icon next to a field, are enabled by default. Any user with data entry rights can create comments. These comments are recorded in the Field Comment Log, which appears in the list of Applications.
What is the Data Resolution Workflow?
The Data Resolution Workflow, sometimes called a data query, is a process for managing and documenting resolution of data entry issues. This tool can be enabled in the “Additional Customizations” section of the Project Setup tab. A data query can be initiated on a data entry form by clicking the balloon icon next to a field, or in the Data Quality module when discrepancies are found. Individual users must be granted appropriate User Rights to open, respond to, or close data queries. Further instructions for using the Data Resolution Workflow can be found on the “Additional Customizations” section of the Project Setup tab and in the “Resolve Issues” section of the Data Quality module.
Is it possible to import or export the data quality rules?
It is not possible to import or export the data quality rules.
Is it possible copy the Data Resolution Workflow (queries) into a new project when copying a project?
It is not.
Are the Field Comments logged?
Yes. All comments entered for the Field Comment Log and Data Resolution Workflow are now logged on the Logging page. In previous versions, the project Logging page noted the action performed and the record/event/field, but it did not explicitly display the comment entered.
Data Exports, Reports, and Stats
When I increase the font size on my data collection instruments using HTML tags it is not reflected when I print a pdf. Is there any way to increase the font size in the pdf?
No. The pdf prints in standard format and does not print the formats created with the HTML tags.
How can I export the graphs and charts to use in presentations?
You can "Print page" link at the top of the page and print to Adobe (tested with Adobe Acrobat Pro). Once you have an Adobe file, right click on the graphs and “save image as”. You can then paste into MS Word and Power Point.You can also “Print Screen” (Alt-Print Screen in Windows or Ctl+Cmd+Shift+4 in Mac) to copy to the clipboard and paste in MS Word and Power Point. The graphs can be manipulated as images.
Is there a way to specify variable lengths for different variable types for example when reading in the csv file into the SAS editor?
When exporting data, the format statements in REDCap's SAS editor specify that text fields have a length of 500 and numeric fields are set to BEST32. However once you read the data set into SAS you can run a macro that will specify the "best" length for character variables and numeric variables.
Can I export all my data as PDFs or do I have to download each subject’s PDF individually?
You may export data for all records in a project into a single PDF file. This option is on the Data Export Tool page. The file will contain the actual page format as you would see it on the data entry page or survey and includes all data for all records for all data collection instruments.
Can I export data in Development to practice this function?
Yes. It is recommended that you export your test data for review prior to moving your project into Production. In development, all the applications function like they would in Production; however changes in Production cannot be made in real time. So it's best to make sure your database is tested thoroughly, including the data export.
What are the dark gray sections of my report?
When viewing reports in longitudinal projects, any fields displayed in the report that are not designated for that particular event (i.e., row in the report) will be grayed out to show that the field is not designated. This makes it easier for users to discern if a field's value is not applicable or if it is missing.
Why can I order the results three times (e.g. First order by last name, then first name, finally middle name)?
This is useful when you are ordering the report with a field that can contain duplicates (last name, date of birth, etcetera). The second and third order layer will allow you to fine-tune your report more.
Can I copy my report over to another project?
Not if the project already exists. You can copy all reports into a copy of your project as an optional setting during the copying process.
Can I include the survey identifier field and survey time stamp fields in my report?
Yes. Time stamps and survey id are not included in reports by default. You can enable it in step 2 "Additional fields" of the “Create New Report” tab.
Can I give access for a report to an user that’s not part of my project?
No, people that can access reports need to be part of the project. You can add users in the user rights menu.
How can I use the reports to find “blank”, “null”, or “missing” data?
If you want to find instances in your data where a field's value is blank/null, you can use the report “Filter”. Include the variable and leave the value text box blank. Conversely, to find instances where the field has a value (i.e., is non-blank), set the operator as 'not =' with a blank text box.
Can I add entire instruments to my report, instead of individual variables?
Yes, “Create New Report” tab under Step 2, look to the top right corner for a dropdown menu. Selecting any form from the drop down will add all variables in that form to the report.
When exporting data from redcap into SPSS, will the variable codes that you've defined be automatically imported into SPSS (for ex 1, Female 2, Male)?
Yes. REDCap uses the metadata you have defined in your data dictionary to create syntax files for SPSS, SAS, R, and Stata. The Data Export tool includes instructions for linking the exported syntax and data files. Note that SPSS has several variable naming conventions:
- The name MUST begin with a letter. The remaining characters may be any later, digit, a period or the symbols #, @, _, or $
- Variable names cannot end with a period
- The length of the name cannot exceed 64 bytes (64 characters)
- Spaces and special characters other than the symbols above cannot be used
- No duplicate names are acceptable; each character must be unique
- Reserved keywords cannot be used as variable names (ALL, AND, BY, EQ, GE, GT, LE, LT, NE, NOT, OR, TO, and WITH)
How do I create a custom report?
Go to the “Data Exports, Reports, and Stats” application and hit the “Create New Report” button.Then take the following actions
- Provide a proper name for the report
- Set the User Access
- Select which fields you want to include in your report
- Set up filters to select the appropriate records
- Set up the proper order for your report
- Hit “Save Report”
You will have successfully create a new report and saved it to the project.
How can I pull the data enterer’s username into reports?
To do this, you’ll want to create a username field on any data forms you need to know about for the report. Use the action tags @USERNAME and @READONLY to capture the username of the first person saving data on the form, and then include your username field on the report.
If you need more detailed information about every user who may have entered data on the form, you will have to refer to the log and won’t be able to pull it into a REDCap report.
What algorithm/method is used to calculate the percentiles of numerical fields on the Stats & Charts page?
The method used for calculating the percentile values is the same algorithm utilized by both R (its default method - type 7) and Microsoft Excel.
How can I ensure that the leading zeros of numbers entered into text fields are retained when the data is exported?
Excel will discard the leading zeros if you open your export file in Excel. The leading zeros will be retained if you open the file in Notepad. Rather than opening the file directly in Excel you should open the data into Excel and specify that the column with the leading zeros is a text column.
How do I export non-English/non-Latin characters to .csv files and allow characters to render correctly?
If you’re using MS Excel, it does not render all languages and characters unless multi-language updates are purchased. The use ofOpenOffice.org CALC (free download) application enables you to build the data dictionary, save as .csv and upload to REDCap. CALC will ask you for a character set every time you open a .csv file. Choose "unicode (utf-8)" from the options listed. REDCap does not render UTF8 characters to the PDFs.
How do I export my entire data set?
Go to the "Data Exports, Reports, and Stats" application and hit the "Export Data" button in the very first report (A: All data (all records & fields)). Then follow the prompts.
Can I restrict access to a custom report?
Yes. You can choose who sees the report on their sidebar by selecting “All users” or “Custom user access”. You can customize access based on individual users and data access groups. All users with "Add / Edit Reports" user rights will see all reports listed if they go to the "Data Exports, Reports, and Stats" page.
Data Import Tool
Why am I getting "IMPORT ERROR" when I do a data import?
Check the encoding of the import CSV file - it should be UTF-8. If you are on Windows, Notepad++ is a useful tool to check or change the encoding of a text file.
Why does REDCap display an out of memory message and ask me to break up my file into smaller pieces when I try to upload a 700 KB file using the Import Tool? Will it help to increase the server's memory limit?
Memory will always be a limit for the Data Import Tool. A lot depends on how much data resides in the uploaded CSV file because the Data Import Tool does the validation checking and data processing in memory. So a 500KB CSV file may be too big to process even though the server memory limit for REDCap might be 256 MB. A csv file can be pretty small and yet cause a lot of memory to be used if you keep the columns (or rows) for all of the variables, but are only providing data for a few of the variables. So you'll still have to follow the solution that REDCap gives you.
How do I import longitudinal data?
The Data Import Tool requires you to use the "redcap_event_name" column when importing data. You must specify the event name in the file using the unique "redcap_event_name". You can upload multiple event data per subject.The unique "redcap_event_name"s are listed on each project's Define My Events page.You can insert this field after the unique identifier as the second column or you can add it to the end of your import spreadsheet (last column).
How do I import data from another source?
Data from another source can be imported using the Data Import tool or the API (Application Programming Interface).The Data Import Tool requires that data to be imported is in CSV (comma separated variables) format. The order of the fields or the number of fields being imported does not matter, except that the record identifier (e.g. Subject ID) must be the first field.
How do I import form status (Incomplete, Unverified, Complete)?
Form status can be imported into variables named form_name_complete. The data import template, available on the Data Import Tool page, will contain the appropriate form status variable name for your project forms. Form status is imported as dropdown field type coded as
How do I import data for calculated fields?
Data cannot be directly imported into calculated fields. If you are importing data to a field you have set up to calculate a value, follow these steps:
- Temporarily change the field type to text
- Import data
- Change the field type back to a calculated field
Can REDCap auto-number records when you are importing new records?
REDCap can auto-number records during the data import process. To do this, set “Name the imported records automatically” to “Yes”. You will also need to provide a placeholder value as the record ID in the import file. Each individual record will need a unique placeholder value for the import to be successful.
Is there any way to organize files in the file repository, such as a folder tree or section headers?
No. The files in the File Repository cannot be sorted alphabetically or otherwise. The table headers are not clickable. The File Repository displays files in descending order by time of upload. Oldest files are at the bottom, while more recent uploads are at the top. If you have uploaded files of different formats (e.g. Word, Excel, PDF), then a dropdown box in the upper right of the table will let you additionally sort/filter the list to show only files of a certain format.
What is the File Repository?
The File Repository can be used for storing and retrieving project files and documents (ex: protocols, instructions, announcements). In addition, it stores all data and syntax files when data is export using the Data Export Tool.
Are transfers to and from the file repository secure and done using SSL?
As long as the REDCap server and the connection to the file storage server (if not the same as the REDCap server) uses SSL/TLS or another type of secure tunneling behind-the-firewall type method, then the transfers will be secure.
What are the User Rights that can be granted/restricted?
|User Right||Access||Notes||Potential to Access Protected Health Info (PHI)?|
|Data Entry Rights||Grants user “No Access”, “Read Only”, “View&Edit”, “Edit Survey Responses” rights to the project’s data collection instruments.||WARNING: The data entry rights only pertain to a user's ability to view or edit data on the web page. It has NO effect on what data is included in data exports or downloaded to a device*.||YES. If access to a form with PHI is “Read Only” or “View&Edit”, user will be able to view PHI.|
|Expiration Date||Automatically terminates project access for the user on date entered.|
|Project Design and Setup||Grants user access to add, update or delete any forms within the project. Also allows user to enable and disable project features and modules.||This should be allocated only to trained study members and should be limited to a very few number of users per study.|
|User Rights||Grants user access to change the rights and privileges of all users on a particular project, including themselves.||WARNING: Granting User Rights privileges gives the user the ability to control other users’ project access. This user should be very trusted and knowledgeable about the project and REDCap. Giving user rights to team members should be a carefully thought out decision. The consequences of poor user rights assignments could be damaging to both the security and integrity of your project. For instance, giving record deletion or project design rights to an unqualified person could result in data loss or database integrity issues.||YES. User can change own User Rights and grant access to any module where PHI can be viewed or downloaded to a device.|
|Data Access Groups||Grants user access to create and add users to data access groups. User should not assign their self to a data access group or they will lose their access to update other users to data access groups. Therefore, user with this privilege should be able to see all project data regardless of group.||For multisite studies this allows the ability to place barriers between sites' data (i.e. group A cannot see, export, or edit group B's data).|
|Data Exports||Grants user “No Access”, “De-identified Only”, “Remove all tagged Identifier fields” and “Full Data Set” access to export all or selected data fields to one of the 5 default programs in REDCap (SAS, SPSS, R, Stata, Excel). Default Access: De-Identified; De-identified access shifts all dates even if they are not marked as identifiers. Non-validated text fields and note fields (free text) are also automatically removed from export. "Remove all tagged Identifier fields" ONLY removes fields marked as identifiers and does NOT automatically remove non-validated text fields or field notes and does NOT date shift. In reports and in the API data exports, any fields that have been tagged as "Identifer" fields will be removed from the export file. In the PDF exports, it will include the Identifier field but it will indicated with text [*DATA REMOVED*].||WARNING: The "de-identified" and "remove all tagged identifier field" options are contingent upon correctly flagging identifiers in each field. It is advised to mark all PHI fields as identifiers and restrict export access to “de-identified”.||YES. PHI can be exported and downloaded to a device. Exporting data is NOT linked to Data Entry Rights. User with Full Export Rights can export ALL data from all data collection instruments. Please see “Data Exports, Reports, and Stats” FAQ for additional info.|
|Add / Edit Reports||Grants user access to build reports within the project. If user does not have access to a data collection instrument that the report is pulling data from, those fields will not appear in the report||For complex querying of data, best results are acquired by exporting data to a statistical package.||YES. Depending on Data Entry Rights, PHI can be viewed.|
|Stats & Charts||Grants user access to view simple statistics on each field in the project in real time. If user does not have access to a data collection instrument, that instrument will not be listed on the page.||Outliers can be identified and clicked on which will take you immediately to the record, form and field of the individual with the outlier data.||YES. Depending on Data Entry Rights, PHI can be viewed.|
|Manage Survey Participants||Grants user access to manage the public survey URLs, participant contact lists, and survey invitation log.||YES. Email addresses (PHI) may be listed for the participant contact lists and invitation logs. Emails can be downloaded to a device.|
|Calendar||Grants user access to track study progress and allows user to update calendar events, such as mark milestones, enter ad hoc meetings.||In combination with the scheduling module the calendar tool can be used to add, view and update project records which are due for manipulation.||YES. PHI can be entered and viewed in the “notes” field. Data entered can be printed to PDF and downloaded to a device.|
|Data Import Tool||Grants user access to download and modify import templates for uploading data directly into the project bypassing data entry forms.||WARNING: This will give the user the capability to overwrite existing data. Blank cells in the data import spreadsheet do not overwrite fields with data.|
|Data Comparison Tool||Grants user access to see two selected records side by side for comparison.||Extremely helpful when using double data entry.||YES. PHI can be viewed. Data can be printed and downloaded to a device. ALL data discrepancies for all fields in project are displayed and can be downloaded to user with access to this module – NOT linked to Data Entry Rights or Data Export Tool Rights.|
|Logging||Grants user access to view log of all occurrences of data exports, design changes, record creation, updating & deletion, user creation, record locking, and page views. This is the audit trail for the project.||Useful for audit capability.||YES. ALL data entered, modified and changed is listed in module, can be viewed and downloaded to a device.|
|File Repository||Grants user access to upload, view, and retrieve project files and documents (ex: protocols, instructions, announcements). In addition, it stores all data and syntax files when data is exported using the Data Export Tool.||WARNING: While users with restricted data export rights will not be able to access saved identified exports, they will be able to view any other sensitive information stored in the file repository such as photos or scanned documents. Limit this privilege to those who should have access to PHI.||YES. Depending on Data Export Tool rights, PHI can be downloaded to a device.|
|Data Quality||Grants user access to find data discrepancies or errors in project data by allowing user to create & edit rules; and execute data quality rules. If user does not have access to a data collection instrument that the query is referencing, access will be denied for query results.||YES. Depending on Data Entry Rights, PHI can be viewed.|
|Create Records||Grants user access to add record and data to database.||Basic tool and need of data entry personnel.|
|Rename Records||Grants user access to change key id of record.||WARNING: Should only be given to trained staff - can cause problems in data integrity.|
|Delete Records||Grants user access to remove an entire record.||WARNING: Records deleted are records lost. Few, if any, team members should have this right.|
|Record Locking Customization||Grants user access to customize record locking text.||Will only be applicable to users with Lock/Unlock rights. Sometimes used for regulatory projects to provide “meaning” to the locking action.|
|Lock/Unlock Records||Grants user access to lock/unlock a record from editing. Users without this right will not be able to edit a locked record. User will need “Read Only” or “View&Edit” to lock/unlock a data collection instrument.||A good tool for a staff member who has verified the integrity of a record to ensure that the data will not be manipulated further. Works best if few team members have this right.||Yes. Depending on Data Entry Rights, PHI can be viewed.|
*Please Note: REDCap is a web-based system. Once data is downloaded from REDCap to a device (ex: computer, laptop, mobile device), the user is responsible for that data. If the data being downloaded is protected health information (PHI), the user must be trained and knowledgeable as to which devices are secure and in compliance with your institution’s standards (ex: HIPAA) for securing PHI.
How can I differentiate between the Data Access Groups and User Rights applications since both control the user’s access to data?
The User Rights page can be used to determine the roles that a user can play within a REDCap database. The Data Access group on the other hand determines the data visibility of a user within a REDCap database.The following example will illustrate the distinction that was made above. Let's say that users 1 and 2 have identical data entry roles. In this situation the Create and Edit Record rights would be assigned to both users. However a particular project may require that they should have the ability to perform data entries on the same set of forms without seeing each other’s entries. This can be done by assigning User1 into the access group1 and User2 to the access group2.
Who can unlock a record?
Any user with Locking/Unlocking privileges can unlock a record, regardless of who originally locked the record.
Can I restrict a user from viewing certain fields?
To restrict a user from viewing sensitive fields, you must group all of the sensitive fields on one form and set the user’s data entry rights to “None” for that form. This will prevent the user from viewing the entire form. You cannot selectively prevent a user from viewing certain fields within a form.
How can I give someone access to my project?
If you have rights to the User Rights application, add a new user by entering their user name in the “New User name” text box and hit the Tab key. Assign permissions and save changes.
Can I lock a record's event in a longitudinal project?
No, you can not lock an event. You can lock a record's form and you can lock all forms across all events (the entire record).
What are the password rules for table-based accounts?
The REDCap password for users in the table-based authentication mode must be at least 9 characters in length and must consist of at least one lower-case letter, one upper-case letter, and one number.
If I remove a user from my project, will that user also be purged from the log files?
No. The log files will stay intact when a user is removed from the project or suspended. Even if the user is completed removed from the entire REDCap installation (which requires a REDCap Administrator), the log file will still reflect the actions performed by that user.
Data Access Groups
Is there a way of separating data collected by various users so that a normal user can see only the records that he or she has completed?
You can use Data Access Groups and assign each user to a specific group. This will isolate recordsto specific groups. Anyone not assigned to a group can see all records.
How do you assign specific subjects to a Data Access group?
If you have User Rights to the Data Access Group (DAG) tool, then for every record at the top of the forms, you should see a drop down list that says "Assign this record to a Data Access Group". Here you can add the record to a DAG.You can assign/re-assign records to Data Access Groups via the Data Import Tool or API data import. For projects containing Data Access Groups, the Data Import Tool and API data import allow users who are *not* in a DAG to assign or re-assign records to DAGs using a field named "redcap_data_access_group" in their import data. For this field, one must specify the unique group name for a given record in order to assign/re-assign that record.The unique group names for DAGs are listed on each project's Data Access Groups page and API page.
Can I export a list of all subjects and their assigned Data Access group?
Yes, you can export Data Access Group names. For projects containing Data Access Groups, both the Data Export Tool and API data export now automatically export the unique group name in the CSV Raw data file, and they export the Data Access Group label in the CSV Labels data file. The unique group names for DAGs are listed on each project's Data Access Groups page and API page.NOTE: The DAG name will only be exported if the current user is *not* in a DAG. And as it was previously, if the user is in a DAG, it is still true that it will export *only* the records that belong to that user's DAG.
What are Data Access Groups?
Data Access Groups restrict viewing of data within a database. A typical use of Data Access Groups is a multi-site study where users at each site should only be able to view data from their site but not any other sites. Users at each site are assigned to a group, and will only be able to see records created by users within their group.
Data Quality Module
What’s the difference between running a Data Quality Rule and the real time execution of a Data Quality rule?
A Data Quality rule run manually in the Data Quality module will evaluate all the records in the project and show you the number of records that match the criteria of the rule. A Data Quality rule that is run through real time execution will only look at the record that the user is currently working on and is run automatically when the user saves the form.
Does real time execution work for survey participants?
No, real time execution is not enabled for surveys. Real time execution is only available in data entry forms.
How does the real time execution work?
When real time execution has been enabled, the rule will be run every time a REDCap user saves a form. If the rule finds a discrepancy, it will generate a popup, notifying the user. The user can then take the appropriate action.
How do I set-up real time execution of a Data Quality rule?
Each custom Data Quality rule has a checkbox in the column labeled “Real Time Execution”. Checking this box will enable the real time execution of the rule in this project for all forms.
I ran my custom Data Quality rule and it came up with zero results. What did I do wrong?
This means that none of your records match the criteria of your custom rule. This usually means that you have no data integrity issues, but may also mean that the criteria you’ve entered are logically impossible. (e.g. Having multiple options of a radio button variable be true). If the latter is the case, you will have to rework your criteria.
Can I use the same syntax for a custom Data Quality rule as I would use when constructing branching logic?
Yes, you can use the same syntax as you would use for branching logic.
What functions can be used in Data Quality custom rules?
The Data Quality module can perform many advanced functions for custom rules that users create. For a complete list with explanations and examples for each, see List of functions for logic in Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations.
What mathematical operations can be used in the logic for Data Quality rules?
What is the Data Quality Module?
The Data Quality module allows you to find discrepancies in your project data. You can create your own custom rules that REDCap will execute to determine if a specific data value is discrepant or not. Your custom rules can include mathematical operations and also advanced functions (listed below) to provide you with a great amount of power for validating your project data. You can also activate the real time execution of your custom rules to continually ensure the data integrity of your project.
Note: Although setting up a Data Quality custom rule may at times be very similar to constructing an equation for a calculated field, calc fields will ALWAYS have to result in a number, whereas the Data Quality custom rule must ALWAYS result with a TRUE or FALSE condition and NEVER a value.
Functions for logic in Report filtering, Survey Queue, Data Quality, and ASIs
List of functions that can be used in logic for Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations
REDCap logic can be used in a variety of places, such as Report filtering, Survey Queue, Data Quality Module, and Automated Survey Invitations. Advanced functions can be used in the logic. A complete list of ALL available functions is listed below. (NOTE: These functions are very similar - and in some cases identical - to functions that can be used for calculated fields and branching logic.)
|Function||Name/Type of function||Notes / examples|
|if (CONDITION, VALUE if condition is TRUE, VALUE if condition is FALSE)||If/Then/Else conditional logic||Return a value based upon a condition. If CONDITION evaluates as a true statement, then it returns the first VALUE, and if false, it returns the second VALUE. E.g. if([weight] > 100, 44, 11) will return 44 if "weight" is greater than 100, otherwise it will return 11.|
|datediff ([date1], [date2], "units", returnSignedValue)||Datediff||Calculate the difference between two dates or datetimes. Options for "units": "y" (years, 1 year = 365.2425 days), "M" (months, 1 month = 30.44 days), "d" (days), "h" (hours), "m" (minutes), "s" (seconds). The parameter "returnSignedValue" must be either TRUE or FALSE and denotes whether you want the returned result to be either signed (have a minus in front if negative) or unsigned (absolute value), in which the default value is FALSE, which returns the absolute value of the difference. For example, if [date1] is larger than [date2], then the result will be negative if returnSignedValue is set to TRUE. If returnSignedValue is not set or is set to FALSE, then the result will ALWAYS be a positive number. If returnSignedValue is set to FALSE or not set, then the order of the dates in the equation does not matter because the resulting value will always be positive (although the + sign is not displayed but implied). NOTE: This datediff function differs slightly from the datediff function used in calculated fields because it does NOT have a "dateformat" parameter. Calc fields require that extra parameter, but in this datediff it is implied. However, if the "dateformat" parameter is accidentally used, it will not cause an error but will simply ignore it. See more info and examples below.|
|round (number,decimal places)||Round||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round 14.384 to one decimal place: round(14.384,1) will yield 14.4|
|roundup (number,decimal places)||Round Up||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round up 14.384 to one decimal place: roundup(14.384,1) will yield 14.4|
|rounddown (number,decimal places)||Round Down||If the "decimal places" parameter is not provided, it defaults to 0. E.g. To round down 14.384 to one decimal place: rounddown(14.384,1) will yield 14.3|
|sqrt (number)||Square Root||E.g. sqrt([height]) or sqrt(([value1]*34)/98.3)|
|(number)^(exponent)||Exponents||Use caret ^ character and place both the number and its exponent inside parentheses. NOTE: The surrounding parentheses are VERY important, as it wil not function correctly without them. For example, (4)^(3) or ([weight]+43)^(2)|
|abs (number)||Absolute Value||Returns the absolute value (i.e. the magnitude of a real number without regard to its sign). E.g. abs(-7.1) will return 7.1 and abs(45) will return 45.|
|min (number,number,...)||Minimum||Returns the minimum value of a set of values in the format min([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the lowest numerical value. There is no limit to the amount of numbers used in this function.|
|max (number,number,...)||Maximum||Returns the maximum value of a set of values in the format max([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the highest numerical value. There is no limit to the amount of numbers used in this function.|
|mean (number,number,...)||Mean||Returns the mean (i.e. average) value of a set of values in the format mean([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the mean value computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|median (number,number,...)||Median||Returns the median value of a set of values in the format median([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the median value computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|sum (number,number,...)||Sum||Returns the sum total of a set of values in the format sum([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the sum total computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|stdev (number,number,...)||Standard Deviation||Returns the standard deviation of a set of values in the format stdev([num1],[num2],[num3],...). NOTE: All blank values will be ignored and thus will only return the standard deviation computed from all numerical, non-blank values. There is no limit to the amount of numbers used in this function.|
|log (number, base)||Logarithm||Returns the logarithm of the number provided for a specified base (e.g. base 10, base "e"). If base is not provided or is not numeric, it defaults to base "e" (natural log).|
|isnumber (value)||Is value a number?||Returns a boolean (true or false) for if the value is an integer OR floating point decimal number.|
|isinteger (value)||Is value an integer?||Returns a boolean (true or false) for if the value is an integer (whole number without decimals).|
|contains (haystack, needle)||Does text CONTAIN another text string?||Returns a boolean (true or false) for if "needle" exists inside (is a substring of) the text string "haystack". Is case insensitive. E.g. contains("Rob Taylor", "TAYLOR") will return as TRUE and contains("Rob Taylor", "paul") returns FALSE. NOTE: This function will *not* work for calculated fields but *will* work in all other places (Data Quality, report filters, Survey Queue, etc.).|
|not_contain (haystack, needle)||Does text NOT CONTAIN another text string?||The opposite of contains(). Returns a boolean (true or false) for if "needle" DOES NOT exist inside (is a substring of) the text string "haystack". Is case insensitive. E.g. not_contain("Rob Taylor", "TAYLOR") will return as FALSE and not_contain("Rob Taylor", "paul") returns TRUE. NOTE: This function will *not* work for calculated fields but *will* work in all other places (Data Quality, report filters, Survey Queue, etc.).|
|starts_with (haystack, needle)||Does text START WITH another text string?||Returns a boolean (true or false) if the text string "haystack" begins with the text string "needle". Is case insensitive. E.g. starts_with("Rob Taylor", "rob") will return as TRUE and starts_with("Rob Taylor", "Tay") returns FALSE. NOTE: This function will *not* work for calculated fields but *will* work in all other places (Data Quality, report filters, Survey Queue, etc.).|
|ends_with (haystack, needle)||Does text END WITH another text string?||Returns a boolean (true or false) if the text string "haystack" ends with the text string "needle". Is case insensitive. E.g. ends_with("Rob Taylor", "Lor") will return as TRUE and ends_with("Rob Taylor", "Tay") returns FALSE. NOTE: This function will *not* work for calculated fields but *will* work in all other places (Data Quality, report filters, Survey Queue, etc.).|
Can I use the same format of the datediff function that is used for calculated fields, which requires the dateFormat ("ymd", "mdy", or "dmy") as the fourth parameter?
Yes, you can use the calculated field version of the datediff function. If the fourth parameter of the datediff function is "ymd", "mdy", or "dmy", it will ignore it (because it is not needed) and will then assume the fifth parameter (if provided) to instead be the returnSignedValue.
Can a date field be used in the datediff function with a datetime or datetime_seconds field?
Yes. If a date field is used with a datetime or datetime_seconds field, it will calculate the difference by assuming that the time for the date field is 00:00 or 00:00:00, respectively. Consequently, this also means that, for example, an MDY-formatted DATE field can be used inside a datediff function with a YMD-formatted DATETIME field.
Do the two date fields used in the datediff function both have to be in the same date format (YMD, MDY, DMY)?
No, they do not. Thus, an MDY-formatted date field can be used inside a datediff function with a YMD-formatted date field, and so on.
Can I use conditional IF statements in the logic?
Yes. You may use IF statements (i.e. IF/THEN/ELSE statements) by using the function if (CONDITION, value if condition is TRUE, value if condition is FALSE)
This construction is similar to IF statements in Microsoft Excel. Provide the condition first (e.g. [weight]=4), then give the resulting value if it is true, and lastly give the resulting value if the condition is false. For example:
if([weight] > 100, 44, 11) < [other_field]
In this example, if the value of the field 'weight' is greater than 100, then it will give a value of 44, but if 'weight' is less than or equal to 100, it will give 11 as the result.
IF statements may be used inside other IF statements (“nested”). For example, if you wanted to look for values above ten if the chosen color was blue, but look for values below 20 if any other color was chosen, you could use:
if([chosen_color] = "blue", if([given_value] > 10, 1, 0), if([given_value] < 20, 1, 0))
Other advanced functions (described above) may also be used inside IF statements.
|datediff([dob], [date_enrolled], "d")||Yields the number of days between the dates for the date_enrolled and dob fields|
|datediff([dob], "today", "d")||Yields the number of days between today's date and the dob field|
|datediff([dob], [date_enrolled], "h", true)||Yields the number of hours between the dates for the date_enrolled and dob fields. Because returnSignedValue is set to true, the value will be negative if the dob field value is more recent than date_enrolled.|
Can I base my datediff function off of today's date?
Yes, for example, you can indicate "age" as: rounddown(datediff("today",[dob],"y")). NOTE: The "today" variable CAN be used with date, datetime, and datetime_seconds fields, but NOT with time fields. (This is the same as in calc fields.)
Making Production Changes
Are the numbers of the remaining events reordered if I delete some of the events in an ongoing longitudinal project?
The original numbering is retained for the remaining events.
For radiobutton, checkbox and dropdown fields, can I modify / re-order my response options?
Modifying / recoding field choices does not change the data saved to the database, it only updates the labels. This will change the meaning of the data already entered and you will have to re-enter responses for those records to ensure accuracy. REDCap will flag this as:
*Possible label mismatch
The best thing to do when making field choice changes for radiobuttons, checkboxes or dropdowns is to leave the current response choices as is and start with the next available code. The coded choices do not have to be in order, so you can insert/list choices as you want them displayed.
For example, if your current codes are:
1, red | 2, yellow | 3, blue
and you want to add "green", "orange" and re-order alphabetically, DO NOT update to:
1, blue | 2, green | 3, orange | 4, red | 5, yellow
If you re-code like this, after the changes are committed any options selected for "1, red" will change to "1, blue"; "2, yellow" to "2, green"; "3, blue" to "3, orange".
That will completely change the meaning of the data entered. Instead you will want to update to:
3, blue | 4, green | 5, orange | 1, red | 2, yellow
If I delete events from an ongoing longitudinal project is the data that is unconnected with these events affected in any way?
In general you can assume that only the data that is tied to the deleted events is affected and that there will be no adverse impact on the data that has been entered for the remaining events. However there could be an impact on this data if you are using branching logic or calculations across events.
What happens to the data in an ongoing longitudinal project if I delete some of the events?
The data which was tied to the deleted events will not be erased. It remains in the system but in “orphaned” form.
Does the project go offline until the changes are approved? Can new surveys and records still be added to the project?
The project does not go offline during the change request process. All the functionality remains the same so you can continue adding and updating records as needed while the changes are pending.
For radiobutton, checkbox and dropdown fields, can I delete response options?
Deleting radiobutton or dropdown choices does not change the data saved to the database, but it deletes the ability to select that option.Deleting a checkbox option deletes the data saved for that option (0=unchecked, 1=checked), and it deletes the ability to select that option.REDCap will flag this as: *Data WILL be lost
How do I make changes after I have moved my project to Production?
To make changes after you have moved your project to Production, first download the current Data Dictionary so that you can revert to the current version, if necessary, if something goes wrong with making changes. Then, select “Enter Draft Mode” on the Online Designer or Data Dictionary page. After making your changes, you can review them by clicking on "view a detailed summary of all drafted changes" hyperlink at the top of the page.
REDCap will flag any changes that may negatively impact your data with the following critical warnings in red:
*Possible label mismatch
*Possible data loss
*Data WILL be lost
After making and reviewing changes, you can click “Submit Changes for Review.” The REDCap Administrator will review your changes to make sure there is nothing that could negatively impact data you’ve already collected. If anything is questionable or flagged as critical, you may receive an email from the Administrator with this information to confirm that you really want to make the change.
Certain changes to the structure of the database, such as deleting events in a longitudinal project can only be done by the REDCap Administrator.
What are the risks of modifying a database that is already in Production?
Altering a database that is in Production can cause data loss and challenges to your data analysis.
If a Production database must be modified, follow these rules to protect your data:
- Do not change existing variable names, or data stored for those variables will be lost. To restore data that has been lost in this way, revert to previous variable name(s).
- Do not change existing form names via a data dictionary upload, or form completeness data will be lost. Form names may be changed within the Online Designer without data loss.
- Do not modify the codes and response options for existing dropdown, radio, or checkbox variables; or existing data will be lost or confused.
It is acceptable to add choices to a dropdown, radio, or checkbox field; however adding an option or even an entire field may present other analytical challenges. For example, if a response option is added, it is added to all instruments for all records. For records and/or study participants who have already completed the instrument, that option was not present at the time and not available for selection. Their results may not accurately reflect their situation given the updated version of the instrument/survey. One must either consider their results in light of the instrument contents at the time of data capture or one must be careful to avoid making conclusions which would be affected by the change to the instrument.
Versioning your instruments and tracking changes over time is recommended. Use the Project Revision History to confirm changes and revisions.
For radiobutton, checkbox and dropdown fields, can I add response options without impacting my data?
Yes. Adding new choices has no data impact to data entered. New choices will be added and display on all records.
NOTE: Adding new response choices to a question does make it a slightly different question and, for that reason alone, could impact the integrity and analysis of your data. It is a new "version" of the question.
Optional Modules and Services
Can I send survey invites via text message?
REDCap has the capability to make voice calls and send SMS text messages to survey respondents by using a third-party web service named Twilio (www.twilio.com). In this way, you could invite a participant to take a survey by sending them an SMS message or by calling them on their phone. There are many different options available for how you can invite participants and how they can take your surveys, either as a voice call survey or as an SMS conversation.
If you do not see the option to enable “Twilio SMS and Voice Call services for surveys” on the Project Setup page > Enable optional modules and customizations, contact your local REDCap Administrator.
For those not using Twilio, there are many providers that let you convert an email into an SMS. You have to register your email address with them for billing, then you construct your messages using a particular pattern, e.g.
To: @ provider.com
Body: The message text
This mechanism would work fine from within REDCap - even for automated invitations - although the built-in text containing the survey link may not be particularly nice in an SMS. Contact your REDCap Administrator who may be willing to adjust the language file.
How to activate Modules and Services
These modules and services must be enabled system-wide for your REDCap instance. If you do not have access to these modules or services, contact your local REDCap Administrator.
API / Data Entry Trigger
What is the REDCap API (Application Programming Interface)?
The REDCap API is an interface that allows external applications to connect to REDCap remotely, and is used for programmatically retrieving or modifying data or settings within REDCap, such as performing automated data imports/exports from a specified REDCap project. More information about the API can be found on the Project Setup > Other Functionality page. For more information on the API, contact your REDCap Administrator.
What is an easy way to get started with the API?
The first step in accessing the API for any project is to check if you have the appropriate user rights in the project in order to use the API.
Secondly, you will need to request an API token. This API token will be linked to your user ID and to that specific project & and your respective user rights for that project. Please note: you will need to request a different API token for each project.
You will need that API token in each API call, because REDCap uses that token to authenticate each API call.
While you wait for your API token to be approved, we recommend that you check out the API documentation page in your REDCap installation. The link to the API documentation page can be found in the API application in each project.
Once you have your API token, you can utilize another tool called the API playground to learn how to use the REDCap API.
The playground will allow you to "test drive" each API method and tweak the various options for each API method. You can run the method in your browser to see what type of response you'll get.
The API playground will also supply you with the code (including your API token & server URL) for that specific API method in the following languages:
You can copy and paste your chosen language code into your preferred scripting tool and run it there.
We recommend the R program for demo purposes: it's free, light weight and will run on both Windows and Mac environments.
Another nice tool to "test" the API from your local computer is POSTMAN - a Chrome add-in which allows you to test and save API queries from your local computer.
What are the situations that trigger DET (Data Entry Trigger), ASI (Automated Survey Invitations) and server side calculations?
The situations that trigger DET, ASI and server side calculations are shown below in table format:
|Functionality||Triggered by conditions listed below|
|Survey Submit (next page, prev page, missing required fields, and complete)|
|Essentially any time a save button is clicked on a survey or form|
|Survey Submit (next page, prev page, Missing required fields, and complete)|
|API Import (records import and file import)|
|Data Import Tool|
|12-hour cron job (But only for ASIs that have datediff() with "today" in their conditional logic)|
|Plugin/hook calling REDCap::saveData()|
|Server side calculation||Form save--only if calculated field that is triggered exists on another instrument or event|
|Survey submit (next page, prev page, missing required fields, and complete--only if calculated field that is triggered exists on another instrument or event|
|API Import (records import and file import)|
|Data Import Tool|
|Plugin/hook calling REDCap::saveData()|
What is the Data Entry Trigger?
The Data Entry Trigger is an advanced feature. It provides a way for REDCap to trigger a call to a remote web address (URL), in which it will send a HTTP Post request to the specified URL whenever *any* record or survey response has been created or modified on *any* data collection instrument or survey in this project (it is *not* triggered by data imports but only by normal data entry on surveys and data entry forms). Its main purpose is for notifying other remote systems outside REDCap at the very moment a record/response is created or modified, whose purpose may be to trigger some kind of action by the remote website, such as making a call to the REDCap API.
For example, if you wish to log the activity of records being modified over time by a remote system outside REDCap, you can use this to do so. Another use case might be if you're using the API data export to keep another system's data in sync with data in a REDCap project, in which the Data Entry Trigger would allow you to keep them exactly in sync by notifying your triggered script to pull any new data from at the moment it is saved in REDCap (this might be more optimal and accurate than running a cron job to pull the data every so often from REDCap).
DETAILS: In the HTTP Post request, the following parameters will be sent by REDCap in order to provide a context for the record that has just been created/modified:
- project_id - The unique ID number of the REDCap project (i.e. the 'pid' value found in the URL when accessing the project in REDCap).
- instrument - The unique name of the current data collection instrument (all your project's unique instrument names can be found in column B in the data dictionary).
- record - The name of the record being created or modified, which is the record's value for the project's first field.
- redcap_event_name - The unique event name of the event for which the record was modified (for longitudinal projects only).
- redcap_data_access_group - The unique group name of the Data Access Group to which the record belongs (if the record belongs to a group).
- [instrument]_complete - The status of the record for this particular data collection instrument, in which the value will be 0, 1, or 2. For data entry forms, 0=Incomplete, 1=Unverified, 2=Complete. For surveys, 0=partial survey response and 2=completed survey response. This parameter's name will be the variable name of this particular instrument's status field, which is the name of the instrument + '_complete'.
NOTE: If the names of your records (i.e. the values of your first field) are considered identifiers (e.g. SSN, MRN, name), for security reasons, it is highly recommended that you use an encrypted connection (i.e. SSL/HTTPS) for the URL you provide for the Data Entry Trigger.
Mobile App for iOS and Android
Can we share one device and have multiple users access the app?
Yes, you can add multiple users to the app installed on a single device in the Add & Manage Users section. Each user will have a unique PIN for access. However, each app user maintains unique project copies on the device (not shared). An app user will collect data separately from anyone else even if on same device, same project. Data is consolidated when it is synced to the online server.
Why can’t I create new projects on the app?
New project creation is not possible in the REDCap Mobile App itself. The app’s purpose is to collect data offline that will later be added to an existing project on the “online” web based REDCap application. The project’s data collection instruments must be created and managed within the “online” instance.
What is the remote lockout feature?
Remote lockout: If a user sets up a REDCap project on the mobile app, and then another user revokes their "REDCap Mobile App" user privileges on the User Rights page in that project, then it will prevent them from accessing it on their mobile device by locking them out of that particular project. In this way, you may perform "remote lockout" to further protect data stored on mobile devices. Additionally, a user can revoke/delete their API token for the project, which will also cause a remote lockout, although the lockout will be permanent and will cause all data currently stored in the app to be lost.
What is the User Right: "Allow user to download data for all records to the app?" ?
There is an additional user privilege "Allow user to download data for all records to the app?" that specifically governs whether or not the user is allowed to download records from the server to the app. This may be done to prevent users from unwittingly (or wittingly) downloading lots of sensitive data to their mobile device. If a user is given this privilege, then when they initialize the project in the app and the project contains at least one record, then the app will prompt the user to choose if they wish to download all the records to the app or not.
How can I access the Mobile App?
Before users can use the mobile app for a project, they must first be given "Mobile App" User Right. This module must be enabled system-wide for your REDCap instance. If you do not have access to the module in the "User Rights" module, contact your local REDCap Administrator. Once you have rights you'll be able to see the "REDCap Mobile App" link on the project's left-hand menu and then be able to access that page, which will provide links to download the Android and iOS app and instructions for initializing that project in the app on their mobile device. Note: When a user creates a new project, they will automatically be given "Mobile App" privileges by default.
Can this app be used to collect data directly from participants?
The Mobile App is for REDCap users to access an offline version of their projects and enter data in areas of low/no internet connection. A REDCap login is required to use the app. The app therefore cannot be downloaded by participants, to their own personal devices.However, REDCap users can secure instruments on their own devices and let a participant use it temporarily, for direct data collection. In this way, participants only have the option to enter data to that instrument (and not use the rest of the app).
What should I do if I can't find anywhere nearby in my rural setting to sync the mobile app?
1. Get online.
2. Contact http://opensignal.com/
3. Download their app.
4. Next time you struggle, check out the maps in their app.
Can I use the randomization module with the mobile app?
The Mobile App does not support the Randomization Module and will not display the “randomize” button on a project instrument. The Mobile App is used for "offline" data collection, so it cannot assume access to REDCap’s ‘online’ server where the project's randomization table is stored and accessed in real-time to make assignments.
How should a mobile app user report a bug?
- Go to the main menu on the app.
- Tap Report a Bug.
- Fill out the Bug Report.
- Await a response within 1-2 business days.
What is the best design practice for the REDCap Mobile App?
There are several factors to consider when designing a project which will use the REDCap Mobile App, including but not limited to:
- Who will install and initialize the REDCap App on the mobile devices
- Who will initialize the user account(s) and create and manage user tokens for the accounts
- Will each device be tied to a single user or will multiple users access a given device.
- What data (if any) can be downloaded to the device.
- Who is responsible for ensuring that the project metadata is kept up to date on the device
- Who is responsible for ensuring that project data is uploaded (downloaded) at appropriate intervals
- What PIN management techniques will be specified and used.
How does data sync between the app and the REDCap server?
When the user has collected some data in the app and wishes to send the data back to the server, they will go to the "Send data to server" page in the app.
First, the metadata/data dictionary is checked for any project changes (e.g., deleted field names, modified labels, multiple choice options, etc.)
- If there are major changes, the user will be prompted that the upload will not proceed.
- If there are no changes or minor changes, the process will proceed.
Next, records are sent, one at a time.
- For new records:
If new record id's are needed, they are assigned values for auto-numbered projects.
- For existing records:
Modifications to existing records are adjudicated, one record at a time. They can be reassigned to a new record id or merged with an existing record.
There are three categories: overlooked values (values on the device are the same), device-only modifications (in yellow), and device-and-server-modified values (in pink/red). The user is allowed to inspect them at the record- and field-level, and then send to the server after review.
For instance, if the project uses record auto-numbering, and a record already exists on the server with the same record name, then it will let the user know that it will rename the record accordingly during the sync process in order to prevent any overwriting of the record already on the server.
If there are any possible issues that might arise when sending the data to the server, the app will prompt the user to make a decision before sending the data. There are many different scenarios that can occur in which a user might be prompted to make a decision, and the app is fully capable of providing the user with just the right amount of guidance so that they feel confident sending their data to the server with no issues.
What devices are supported in the REDCap Mobile App? How do I get it?
Apple (iOS), Android, and (probably) coming soon, the Kindle Fire.
It is available via the Apple App Store, the Google Play store, and possibly a custom REDCap store.
What do I do if I'm having trouble with the Mobile App?
- Login as your usual app user, except add a 00 to the end of your PIN. This will make the 6-digit PIN 8 digits long.
- Go to the page that has the error. Reproduce the error.
- Tap "Send Diagnostic Info" at the bottom of the screen. This will send an email to the redcap app folks.
- Send a plain-text, narrative description of your error to firstname.lastname@example.org. You can use the Report a Bug feature on the main menu to do this via the app, or you can use normal email if you want as well.
Where can I find REDCap Mobile App's Release Notes for new versions?
You can find the release notes at: https://projectredcap.org/wp-content/resources/change-log.txt
Is there a good place to start learning about the mobile app?
Yes, there are several great places to learn.
- The about section in the app itself. https://projectredcap.org/wp-content/resources/about.pdf
- The FAQ in the app itself.
- The documentation which is stored somewhere in this AnswerHub. (Search for Mobile App documentation.) These are from partners in the consortium to help each other.
- Trial and error. I find software is best learned, at least at the initial stages, by trying it out. Download a project onto the app and see what it does!
What security documentation is available for the Mobile App?
What is the REDCap Mobile App?
The REDCap Mobile App is an app that is installed on a tablet or mobile device so that data can be collected offline on that device. Data collected offline is later synced (i.e. uploaded) back to an online REDCap project.
Once a user is given 'REDCap Mobile App' privileges in a project, they can navigate to the Mobile App page on the left-hand menu and set up the project inside the app on their device. Once the project is set up on the device, the user can collect data (which is stored locally on the device). Users can later sync (i.e. upload) that data back to their project when they have a reliable internet connection.
The app is therefore most useful when data collection will be performed where there is unreliable or no internet service (e.g., no WiFi or cellular service).
- Download iOS app: https://itunes.apple.com/us/app/redcap-mobile-app/id972760478
- Download Android app: https://play.google.com/store/apps/details?id=edu.vanderbilt.redcap
- About the REDCap Mobile App (PDF): https://projectredcap.org/wp-content/resources/about.pdf
- Security in the REDCap Mobile App (PDF): https://projectredcap.org/wp-content/resources/security.pdf
If a randomized record is deleted, does the randomization module know to “re-use” the cell of the allocation table that had been used for that deleted record, or is that cell gone forever?
If a randomized record is deleted (regardless of whether it was the first, last, or some other record to be randomized), then its allocation will be freed up and available for another record in the future.
Is it possible to allow the randomization field to display on a form utilized in both (multiple) arms of a longitudinal project? It appears as though you can only choose 1 arm for which the randomization field displays.
It is designed so that the randomization field is enabled for randomization on *only* one event for a record (that includes all arms). A work around (depending on your project's use case) could be:
Create one "arm" that is for pre-randomization. The arm could include the eligibility, demographics forms, etc. up to the form on which the participant should be randomized. After randomization, the participant can be added into one of the actual study arms.
You can add a record to multiple arms, but you can only schedule events in one arm. This design may be a limitation if you are using the scheduling module.
Can calculated fields be used with the randomization module?
The short answer: No, calculated fields can not be used to stratify randomization. REDCap requires one or more multiple choice fields (drop downs & radio buttons, yes/no & true/false questions) for stratification.
However, a work-around would be to have a relevant multiple choice field underneath a calculated field and then manually fill out that field based on the value in the calculated field. You could then use the multiple choice field to stratify your randomization.
Can I change the randomization strata when a project is in production?
Once your project is in production status, the allocation tables will become locked and unmodifiable. They can be appended by a superuser but this will only add additional rows to the allocation table. It will not change any of the rows already in the table.
Does REDCap support dynamic randomization in the randomization module?
REDCap does not support dynamic randomisation (e.g. a minimisation algorithm) only the selection of the next entry from an externally generated randomisation schedule (stratified, permuted blocks).
How are updates to the instruments that have been shared handled? Is there any versioning?
New versions will not replace old versions, but if more than one version is submitted it will be annotated.
If one of our users uploads an instrument and accidentally shares it with the consortium, instead of just their institution, how can the instrument be updated to only be shared within the institution?
The submitter can choose Share the instrument again and will be given an option to delete the instrument or resubmit. The submitter can then resubmit/share again and choose the correct option.
Once uploaded, is an instrument immediately available for download either for the consortium or the institution depending on the sharing selection or is it reviewed by REDLOC before being available?
An initial review is done and a confirmation obtained from the submitter that they do want to share the instrument in the library. A REDCap Administrator then approves the submission prior to its being added to the library. The instrument is taken to REDLOC for review only if there are issues that the committee needs to discuss.
When I attempt to download forms from the REDCap shared library I get the following error message. What is the problem?
ERROR: Could not find XML document.
This likely occurred from an error communicating with the REDCap Shared Library server athttps://redcap.vanderbilt.edu/consortium/library/
The import of the instrument from the REDCap Shared Library did not complete successfully.
Some institutions are not allowed to utilize the library, or there may be a connection issue. Check with your REDCap Administrator and IT staff to verify that the connection between your REDCap server and the Vanderbilt server is working. It could be purposely or accidently blocked by a firewall or problems with proxy settings in the REDCap Control Panel.
How do I add an instrument from the Shared Library into my project?
- Go to the Online Designer.
- Choose Import a new instrument from the official REDCap Shared Library.
- Do a Keyword search for the subject or instrument title.
- Choose Import into my REDCap project.
- Read and agree to the license agreement.
- Click Add the imported instrument with the name “Instrument”.
- Choose Return to previous page and the instrument will be at the bottom of your instrument list.