Q: 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.
Q: 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.
Q: 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.
Q: Can I access REDCap on Android devices, e.g. HTC phones, Galaxy tab etc.?
REDCap can be used on mobile devices in a limited way. It displays a special format for data entry forms when these are accessed on mobile devices. You can select a project, select a form and do data entry or review data that was previously entered. To see what it looks like on a smart phone add “/Mobile” after the version number in the URL as follows (substituting your redcap URL and version number): https://your.redcap.url/redcap_v4.2.2/Mobile.
Q: Why can’t I pinch in/pinch out when I view REDCap on an iphone?
With the iPhone and iPad, pinch/zoom works correctly on regular REDCap pages. There are two modes where pinch/zoom does not work. These are the survey page on the iphone or the mobile REDCap view. However the Desktop Site view of REDCap pages should render normally and allow zoom.
Q: 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.
Q: What can REDCap Administrators do that REDCap end users can’t?
REDCap administrators, also knows as superusers, have the ability to do several things that REDCap end users (regular users) can’t do. The following is a list of some of these capabilities. Please contact your REDCap administrators if you would like changes made to any of your projects that require administrative REDCap privileges.
- 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, aka moving drafted changes to production.
- Add/modify events.
- Designate instruments to events.
- Convert an instrument that is a survey to being a data entry instrument only.
- 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.
Q: 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.
Q: 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.
Q: 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”)?
Q: 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.
|Display||Friendly Code||Numerical Code||Description|
|«||«||«||Left angle quotes|
|»||»||»||Right angle quotes|
|¿||¿||¿||Inverted question mark|
|¡||¡||¡||Inverted exclamation point|
Q: 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.
Q: 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.
Project Setup / Design
Q: 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.
Q: 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.
Q: 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:
|Surveys||Classic Database||Longitudinal Database|
|Main Project Settings||Yes||Yes||Yes|
|Design Data Collection Instruments||Yes||Yes||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|
Q: 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://xxx.xxx.xxx/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.
Q: 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’.
Q: 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.
Q: 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.
|Survey||Classic Database||Longitudinal Database|
|Unique Identifier||Participant ID (participant_id) can be defined as First field of First Form.||First field of first form||First field of first form|
|Secondary Unique Field (optional)||Define a Secondary Unique Field||Define Auto-numbering Enabled||Define Auto-numbering Enabled|
In Data Entry projects, you must define the unique identifier field. For projects where a survey is the first data collection instrument, it is automatically defined as the Participant ID. The Participant ID value is numeric and auto-increments starting with the highest value in the project. If no records exist, it will begin with ‘1’.
Users can define the unique ID for projects with surveys instead of using the participant_id by having the first data collection instrument as a data entry form (do NOT enable it as a survey).
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 Participant ID (for surveys) or next to 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.
Q: 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.
Q: 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.
Q: 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.
Q: How do I enable surveys for my project?
Project Setup page > Main Settings > Enable: “Use surveys in this project?”
Then on the Online Designer page > Enable: “Enabled as survey” for each instrument you would like to collect as a survey.
Complete and save changes to the Set Up My Survey page.
Changes to these survey options can be made at any time by selecting Survey-related options > Survey settings on the Online Designer page.
Q: How can I send multiple surveys to participants and link their responses?
If the responses need to be anonymous, please see the section
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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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:
1) Export a copy of the REDCap dataset (so you have a copy of the data + date/time stamps if needed for future reference)
2) EXPORT LIST for the Participant List to excel
3) 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.
**It is recommended that 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.
RECOMMENDED: 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, please:
- 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.
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.
Q: 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 = section header) where you would like those breaks to occur.
Q: 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.
Q: 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).
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
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.
Q: 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.
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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: In REDCap is there a way to 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.
Q: 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.
Q: 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 [REDCAP ADMIN INFO].”
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: Were can I setup survey reminders?
You can setup survey reminders wherever REDCap will allow you to send out a survey invitation (Automatic Invitations, Participant List, Compose survey invitations).
Q: I want to set more than 5 survey reminders. How do I do that?
The current maximum for reminders is 5 in order to prevent spamming people.
Q: 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.
Q: 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”.
Q: Are there different languages available for the text to speech feature?
Yes, there are about 30 different languages available. You can change the language in the survey settings of each survey. Note: Please be aware that your survey needs to be in the same language as the chosen language to get the best results.
Q: 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.
Q: 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).
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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
Q: 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.
Data Collection Instrument Design
Q: 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 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.
Q: 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.
Q: 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”.
Q: 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.
Q: 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.
Q: Is it possible to change the format (colors, text) of the form, field or text display?
The general survey and data entry templates are static and cannot be changed. 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.
For example, to format text in a Field Label or Field Note to superscript/subscript:
You can use the string <span style=””></span> to manipulate visual attributes. For instance, for superscript the style may be “font-size:75%;vertical-align:super;”. For subscript the relevant code is “vertical-align:sub”.
So the whole label may be the following:
Plain text <span style=”font-size:75%;vertical-align:super;”>superscript text</span> another plain text <span style=”font-size:75%;vertical-align:sub;”>subscript text</span>
Check out this example survey for additional formatting ideas: https://redcap.vanderbilt.edu/surveys/?s=u7B74tUTsa
Online Designer / Data Dictionary
Q: 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.
Q: 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.
Q: 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).
Q: 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.
Q: 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.
Q: 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|
Q: What to consider when choosing radio button vs drop-down?”
Dropdown: 1) ability to use short cut keys 2) Less space on forms; use when you have limited space
Radio Button: 1) Good when you need your choices visible 2) Good option for minimal response options 3) available with the matrix options when building forms
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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:
— when you are importing 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, they would not work when importing values using the Data Import Tool, API and cause problems when exporting data into a statistical analysis package. Now the negative signs will be 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
The default settings in REDCap code each checkbox answer choice as a 0 if unchecked and 1 if checked. A checkbox field can be thought of as a series of yes/no questions in one field. Therefore, a yes (check) is coded a 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.
Text Validation Types
Q: What are the possible Text Validation Types?
Used for data validation for TEXT fields. Appropriate categories and examples are given below:
|TIME||– (19:30, 04:15) – Military time|
|DATETIME_YMD||– (2011-02-16 17:45)|
|DATETIME_MDY||– (02-16-2011 17:45)|
|DATETIME_DMY||– (16-02-2011 17:45)|
|DATETIME_SECONDS_YMD||– (2011-02-16 17:45:23)|
|DATETIME_SECONDS_MDY||– (02-16-2011 17:45:23)|
|DATETIME_SECONDS_DMY||– (16-02-2011 17:45:23)|
|– ( firstname.lastname@example.org)|
|NUMBER||– (1.3, 22, -6.28) a general number|
|INTEGER||– (1, 4, -10) whole number with no decimal|
|ZIPCODE||– (37212, 90210) 5-digit zipcode|
*Note: Data entered in fields with phone validation must meet the following criteria:
•Area codes start with a number from 2–9, followed by 0–8, and then any third digit.
•The second group of three digits, known as the central office or exchange code, starts with a number from 2–9, followed by any two digits.
•The final four digits, known as the station code, have no restrictions.
The following validation types are optional, and may not be activated at your instition:
|Letters only||– (name)|
|MRN||– (0123456789)10 digits|
|Number (1 decimal place)||– (1.2)|
|Number (2 decimal places)||– (1.23)|
|Number (3 decimal places)||– (1.234)|
|Number (4 decimal places)||– (1.2345)|
|Phone (Australia)||– ((03) 1234 1234)|
|Postal Code (Australia)||– (2150,7799)4-digit number|
|Postal Code (Canada)||– (K1A 0B1, K0H 9Z0) format: A0A 0A0 where A is a letter and 0 is a digit|
|Social Security Number (US)||– (111-11-1111)|
|Time (MM:SS)||– (31:22) time in minutes and seconds|
Q: 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.
Q: 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
Q: 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:
Q: What are the Custom Alignment codes for the data dictionary?
|RV||– right vertical|
|RH||– right horizontal|
|LV||– left vertical|
|LH||– left horizontal|
Q: 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.
Q: 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|
Q: 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.
Q: How do I indicate “dates” in the data dictionary?
Text Validation Types: Use for text field data validation
|DATETIME_DMY||Example: 16-02-2011 17:45|
|DATETIME_MDY||Example: 02-16-2011 17:45|
|DATETIME_YMD||Example: 2011-02-16 17:45|
|DATETIME_SECONDS_DMY||Example: 16-02-2011 17:45:23|
|DATETIME_SECONDS_MDY||Example: 02-16-2011 17:45:23|
|DATETIME_SECONDS_YMD||Example: 2011-02-16 17:45:23|
Q: 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.
Q: 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).
Q: Why can’t I see the different date formats in the Online Designer?
When REDCap is upgraded to version 4.1, the new validation types are not automatically available. They will only be available if your REDCap administrator enables the feature. Once enabled, they’ll appear in the text validation drop-down list in the Online Designer. However, you can still use these formats via the Data Dictionary.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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])for units in kilograms and centimeters
([weight]/([height]*[height]))*703 for units in pounds and inches
A more complex example for another calculated field might be as follows:
Q: 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.
Q: 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.
Q: Can calculated fields be referenced or nested in other calculated fields?
It is strongly recommended that you do not reference calc fields within calc fields. When multiple calculations are performed, the order of execution is determined by the alphabetical order of the associated field names.
Therefore, if you have nested calc fields, it may not be possible to set up the equation so it evaluates in the desired order. Instead of using calc fields based off of other calc fields, incorporate the original calculations using the mathematical distributive property:
|calc1 = 3 + [age]|
|calc2 = 7 * (3 + [age])|
Instead of programming calc2 = 7 * [calc1]
Q: How can I calculate the difference between two date or time fields (this includes datetime and datetime_seconds 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.
- 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.|
Q: Can I base my datediff calculation off of today?
Yes, for example, you can indicate “age” as: datediff(“today”,[dob],”y”). NOTE: The “today” variable can ONLY be used with date fields and NOT with time, datetime, or datetime_seconds fields.
It is strongly recommended that you do not use “today” in calc fields. This is because every time you access and save the form, the calculation will run. So if you calculate the age as of today, then a year later you access the form to review or make updates, the age as of “today” will also be updated (+1 yr). Most users calculate ages off of another field (e.g. screening date, enrollment date).
Q: 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.
Q: What mathematical operations are available for calc fields?
Null or blank values can be referred to as “” or “NaN”. Be careful to include the quotes around NaN.
Q: 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 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.|
Q: 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”). Other advanced functions (described above) may also be used inside IF statements.
Q: 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, you must resave the form for each existing record for the calculation to be performed.
Q: 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.
Q: 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.
Q: 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 only hide calc fields if you include conditional logic and enter the “false” statement to result in null: ” ” or “NaN”. For example: if([weight] > 100, 44, “NaN”) Then the field will remain hidden (depending on branching logic) unless the calculation results in a value. Be careful to include the quotes around NaN.
Q: 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.
Q: 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.
Q: 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 (=,<,>,<=,>=,<>) and Boolean logic (and/or). 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)|
Q: 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|
Q: Can you program branching logic using dates?
Yes. The > and < operators are really only intended to be used for numerical comparison. So it is STRONGLY recommended NOT to use them with dates – e.g. [date] > “2012-06-30”. You should instead use the datediff() function to compare dates or to compare a date to today’s date. You can see the full documentation on datediff() at List of functions for use in calculated fields and branching logic.Q: Can you utilize calculated field functions in branching logic?
Yes, all the functions available for use in calculated field equations can also be used in branching logic, such as if(), datediff(), and a variety of mathematical functions. You can see the full documentation on all available functions at List of functions for use in calculated fields and branching logic.Q: 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.
Q: 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.
Q: 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.
Q: 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.
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 4.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 4.3.0. In 4.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.
Q: 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 uncompleted 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.
(Below is a general example of a common matrix layout. A matrix of fields will look slightly different in REDCap than here on the Help page.)
Rate the following ice cream flavors:
|Hate it||Dislike it||Indifferent||Like it||Love it|
Q: 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.
Q: 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 merely display the fields separately as normal radio buttons or checkboxes.) 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. 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: 1) must be either a “radio” or “checkbox” field type, 2) must have the *exact* same choices options in column F, 3) 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.
Q: 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: 1) those fields must all be a Radio Button field or all be a Checkbox field, 2) they must have the *exact* same multiple choice options (same option label AND same raw coded value), and 3) 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, you will first need to download the existing data dictionary for the project, which can be done on the “Upload Data Dictionary” page. Secondly, go to column P (i.e. Matrix Group Name) and provide *every* field that you wish to be in the matrix with a matrix group name. 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. 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). Once you have added the matrix group name in column P for each field, you can upload your data dictionary on the “Data Dictionary Upload” page in your REDCap project, and those fields will now be displayed as a matrix on your data collection instrument instead of separate fields.
Q: 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.
Q: 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
Copy / Share Data Collection Instruments
Q: 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.
Q: 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.
Q: 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.
Q: 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 Report Builder tool to view your data. The Report Builder tool serves as the search engine of a REDCap database. The Report Builder 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.
You can also use the Graphical Data View & Stats tool to view your data. The Plots tab displays graphical representations for all numerical and categorical variables and provides links for cleaning notable data (missing, highest, lowest values). The Descriptive Stats tab displays descriptive statistics for all variables.
Q: 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.)
Q: 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.
Q: Is there a way to delete a record?
Yes. Navigate to the User Rights page and assign yourself the “Delete Record” option. The Delete button will appear at the bottom of your forms. This deletes ALL forms (or survey entries) for the record. Once you delete the data, there is no way to get it back!
Q: Is there a way to delete data for just a record’s form or event (not the entire record)?
Yes. Navigate to the User Rights page and assign yourself the “Delete Record” option. The delete buttons at the bottom of data entry forms allow users to delete all data on the current form of a given record and also (for longitudinal projects) to delete all data on the current event of a given record. The user must have “Delete records” user privileges in order for these buttons to be displayed and utilized.
Q: 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.
Q: 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’.
Surveys: Invite Participants
Q: How do I administer my survey?
Navigate to the “Manage Survey Participants” page. You have two options to administer your survey:
Public Survey URL: 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.
Participant Contact List: This option allows you to send emails and track who responds to your survey. It is also possible to identify an individual’s survey answers by providing an Identifier for each participant.
Q: 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: (1) Send emails to many participants at once (2) 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, the first data collection instrument must be a survey. All participants of all surveys must be added to the first survey of the project.
Q: Can email distribution lists or group email accounts be added to the Invite Participants Email Contact 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 unique survey 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 survey link provided at the top of the “Invite Participants” page directly from your email account.
Or you can 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 for you. 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.
Q: 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. .
Q: 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.
Q: 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.
Q: 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.
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:
1. The “today” variable should be used only in conjunction with datediff. Comparing ‘today’ to a date is unreliable.
2. 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”
3. 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. This was actually a change in version 5.9.7. Before then, the logic checker would get an error and the logic would evaluate to false.
Q: What mathematical operations can be used in the logic for Automated Survey Invitations?
Q. What functions can be used in the logic for Automated Survey Invitations?
Automated Survey Invitations can utilize many advanced functions for their custom conditional logic to determine when survey invitations should be scheduled. 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
Q: 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.
Q: 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:
1. Composing an email message.
2. Specifying the conditions that will trigger an email to be scheduled.
3. 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
How to pre-fill survey questions
Q: Can I pre-fill survey questions so that some questions already have values when the survey initially loads?
Yes, this can be done so that when a survey participant initially loads the survey page, it already has questions pre-filled with values. This can be done two different ways as seen below. Please note that even if a survey is a multi-page survey, questions on later pages can also be pre-filled using these methods. 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 simply 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 of the question 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, textarea, 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
Q: 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.
Q: 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.
Q: 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.
An alternative is to delete the merged version “AA”, let the Data Entry people make changes themselves and then merge the records.
Q: 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.
Data Resolution Workflow
Q: 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.
Q: 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.
Q: 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.
Q: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
The data export tool, the report builder and the statistics applications have been merged into one application called “Data Exports, Reports, and Stats”. You can now export any report (custom or default) and view the statistics for that report.
Q: I just want to export my entire data set. How do I do that?
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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: Can I restrict access to a custom report?
Yes. You can choose who sees the report by selecting “All users” or “Custom user access”. You can customize access based on individual users and data access groups.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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)
Q: 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.
Q: 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.
Q: My REDCap project contains non-English/non-Latin characters, but when I export, why aren’t the characters rendering correctly?
If you’re using MS Excel, it does not render all languages and characters unless multi-language updates are purchased. The use of OpenOffice.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.
Q: How can I ensure that the leading zeros of the id numbers in a database where this data is stored in a text field 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.
Q: 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.
Q: 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.
Q: What algorithm/method is used to calculate the percentiles of numerical fields on this 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.
Data Import Tool
Q: 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.
Q: 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).
Q: 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:
1. Temporarily change the field type to text
2. Import data
3. Change the field type back to a calculated field
Q. 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
Q: 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.
Q: 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.
Q: 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.
Q: Is there any way to organize files in the file repository, such as a folder tree or section headers?
No. The only way to organize the files is by an alphabetical naming convention.
Q: 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.
Q: 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.
Q: 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.
Q: Who can unlock a record?
Any user with Locking/Unlocking privileges can unlock a record, regardless of who originally locked the record.
Q: 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.
Data Access Groups
Q: 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.
Q: 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.
Q: 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.
Q: 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 records to specific groups. Anyone not assigned to a group can see all records.
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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Q: What mathematical operations can be used in the logic for Data Quality rules?
Q. 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
Making Production Changes
Q: 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 designating instruments to events or modifying events in a longitudinal project can only be done by the REDCap Administrator.
Q: What are the risks of modifying a database that is already in Production?
Altering a database that is in Production can cause data loss. If a Production database must be modified, follow these rules to protect your data:
(a) 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).
(b) 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.
(c) Do not modify the codes and answers for existing dropdown, radio, or checkbox variables; or existing data will be lost or confused. It is only acceptable to add choices to a dropdown, radio, or checkbox field.
Q: For radiobutton, checkbox and dropdown fields, can I add response options without impacting my data?
Yes. Adding new choices has no data impact. New choices will be added and display on all records.
Q: 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
Q: 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
Q: 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.
Q: 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.
Q: 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.
Q: 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.
Optional 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
Q: 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.
Q: 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’s sake 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 for iOS and Android
Q: What is the REDCap mobile app?
The REDCap mobile app is an app that can be installed on a tablet or mobile device so that data may then be collected in an offline fashion on that device, after which it may then be synced back to a project on the REDCap server. The app is most useful when data collection will be performed where there is no internet service (e.g., no WiFi? or cellular service) or where there is unreliable internet service. 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 mobile app on their device. Once the mobile project is set up on the device, the user can collect data (which is stored locally on the device), and then at some point sync that data back to their project on the REDCap server.
– About the REDCap Mobile App (PDF): http://projectredcap.org/app/about.pdf
– Security in the REDCap Mobile App (PDF): http://projectredcap.org/app/security.pdf
Q: Can this app be used to collect data directly from participants?
The app cannot be downloaded by participants to their personal devices. This app is for REDCap project admins to access their projects and enter data (login required). However, project admins can secure instruments on their devices/apps so that participants will only have the option to enter data to that instrument and not traverse the rest of the app.
Q: 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.
Q: 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.
Q: How does data sync between the app and the REDCap server?
When the user has collected some data in the app and now wishes to send the data back to the server, they will go to the “Send data to server” page in the app. 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. 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. 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.
Q: 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.
Q: 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.
Q: 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.
Note: It’s highly advisable that you consult a statistician before using the randomization module. Most statisticians have experience with creating and maintaining allocation tables, which are necessary for the proper use of the randomization functionality.
Q: 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.
Q: 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.
Q: 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.
Q: 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.
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.).|
Q: 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”). 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.|
Q: 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.
Q: 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.
Q: 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 different from datediff in calc fields, in which the “today” variable can ONLY be used with date fields and NOT with time, datetime, or datetime_seconds fields.)
Q: 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.