Body
TABLE OF CONTENTS
How do I enable surveys for my project?
How can I send multiple surveys to participants and link their responses?
Can I create multiple surveys in the same project?
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?
What is “Designate an email field to use for invitations to survey participants” option?
Can I collect anonymous survey data from participants?
Can I use the Participant List to collect anonymous survey data from participants?
If my survey is really long, can I create page breaks?
My survey has matrix fields and it’s creating undesirable page breaks. What is causing this?
If I enable survey pagination, do answers get saved after the respondent hits goes to the next page?
When survey pagination is enabled and entire sections/questions are hidden due to branching logic, are blank pages displayed to the participant?
For surveys with multiple pages, is there a progress indicator on the survey?
For surveys with multiple pages, can participants go back to a previous page to change answers?
For surveys with multiple pages, can the “Previous Page” button be disabled?
Can survey respondents save, leave, and then go back to a survey to complete the questions?
What is the Survey Login feature?
Can survey respondents return and modify completed surveys?
Can I receive a notification when a survey has been completed?
Why am I getting duplicate notifications when a survey has been completed?
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?
When a “Stop Action” condition is met, can I customize text to display to participants prior to the survey closing?
In REDCap is there a way to automatically display the current date/time on a survey?
What happens when I take the survey “offline”? What does the participant see if they click on the link?
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?
Is there a survey preview feature?
How do I set a survey expiration date for a specific survey?
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 work to confirm that you are collecting data for the most appropriate statistical analysis for your project.
Q: Can I still maintain a paper trail for my study when using 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 transfer data collected in other applications (e.g., Microsoft Access or Excel) into REDCap?
It depends on the project design and application from which you are transitioning. For example, there are a few options to get metadata out of 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.
- Extract info 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.)
Once you have a REDCap project programmed, data can be imported using the Data Import Tool. For additional details, contact your 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 capacity. Data entry forms are displayed in a special format when accessed on mobile devices. You can select a project, select a form, and either enter data or review previously entered data.
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:
- Survey pages on the iPhone and
- Mobile 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 under the "Help and Information" header located at the bottom of the left sidebar that appears when you access a project.
Q: What can REDCap Administrators do that REDCap end users can’t?
REDCap administrators (i.e., superusers) have the ability to do several things that REDCap end users (i.e., regular users) can’t do. The following is a list of some of these capabilities. Please contact your REDCap administrator[s] 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 (Application Programming Interface) token requests.
- Delete all API tokens.
- Create an SQL field, generally used to create a dynamic drop-down 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 (i.e. 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 un-suspend 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: 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 both single- or multi-center studies) and 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, your network grant funding covers infrastructure and training support for the entire network).
Q: Can I create projects/forms in languages other than English?
The label text of individual fields on a survey or data entry form can be displayed in any language. Setting the text label for non-English languages follows the same procedure used with English text: Setting 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 REDCap administrator about which languages are available. They can switch a REDCap project over so that it will display the text in another.
Q: Can the survey buttons at the bottom of the page (e.g., ‘Next Page’ and ‘Submit’) and the other descriptors (e.g., 'These fields are required.’, ‘Reset value’) appear in a different language in a project with non-English language survey questions?
In a project where a non-English language is enabled, some features (e.g., ‘Next Page’ and ‘Submit’ buttons) cannot be translated for technical reasons. In these cases, the researcher may add descriptive text fields at the end of each page to provide translations as needed.
Q: Can I use a language translation file to change the wording in the calendar widget to display a different language (e.g., “hoy” instead of “today” for Spanish)?
Some features in REDCap, such as the calendar widget, are hard-coded JavaScript and/or 3rd party code and cannot be abstracted.
Q: Can I use special Latin characters in my REDCap forms?
Yes, you can type in special Latin characters like you normally would. However, these characters potentially can be replaced by a question mark outlined by a black diamond, which makes users or participants unable to see these characters properly. It is possible to “hard-code” special Latin characters into REDCap. Just type in either the friendly code or numerical code variant of the special character, as listed in the table of acceptable HTML codes shown below, instead of the character itself.
DISPLAY |
FRIENDLY CODE |
NUMERICAL CODE |
DESCRIPTION |
Á |
Á |
Á |
Capital A-acute |
á |
á |
á |
Lowercase a-acute |
É |
É |
É |
Capital E-acute |
é |
é |
é |
Lowercase e-acute |
Í |
Í |
Í |
Capital I-acute |
í |
í |
í |
Lowercase i-acute |
Ñ |
Ñ |
Ñ |
Capital N-tilde |
ñ |
ñ |
ñ |
Lowercase n-tilde |
Ó |
Ó |
Ó |
Capital O-acute |
ó |
ó |
ó |
Lowercase o-acute |
Ú |
Ú |
Ú |
Capital U-acute |
ú |
ú |
ú |
Lowercase u-acute |
Ü |
Ü |
Ü |
Capital U-umlaut |
ü |
ü |
ü |
Lowercase u-umlaut |
« |
« |
« |
Left angle quotes |
» |
» |
» |
Right angle quotes |
¿ |
¿ |
¿ |
Inverted question mark |
¡ |
¡ |
¡ |
Inverted exclamation point |
€ |
&euro |
€ |
Euro |
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”:
- The longitudinal feature (repeating forms)
- Surveys for data collection. In a longitudinal project, for each instrument that is designated as a survey, data can be entered directly by a participant for any/all events in the project with which the survey is associated.
Q: After my project is created, can I change the name and/or purpose of my project?
Yes, you can update the title and purpose of the project, regardless of its status. After your project is created:
- Navigate to the "Project Setup" page.
- Click on the “Modify project title, purpose, etc.” button underneath the "Main project settings" header.
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 Setup" page:
|
SURVEYS |
CLASSIC DATABASE |
LONGITUDINAL DATABASE |
Main Project Settings |
|
|
|
Design Data Collection Instruments |
|
|
|
Define Events and Designate Instruments |
|
|
|
Enable optional modules and customizations |
|
|
|
User Rights and Permissions |
|
|
|
Move to Production |
|
|
|
Q: Are there specific requirements to set up a project?
For projects with surveys, you must enable at least one instrument as a survey and complete the “Set up my survey” step in order to activate the survey URL. If this step is not complete, you will be redirected to the "Online Designer" page, and the following error message will be displayed in a popup window:
Survey-related options (e.g., Survey Settings and Notifications) can be accessed on the "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 auto-numbering for records.
Unique Identifiers |
EXAMPLE
Study-assigned ID
|
Non-unique Identifiers |
EXAMPLES
Name, Date of birth, Consent date
|
NOTES
- The unique identifier must be a text field.
- 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. As such, it is strongly recommended that you DO NOT USE Protected Health Information (PHI) (e.g., MRN, DOB+initials) as the unique identifier. This is an additional precaution to preserve research participant confidentiality from displaying in the URL and becoming cached.
EXAMPLE
An example of the incorporation of unique identifiers in URLs is shown below:
https://xxx.xxx.xxx/redcap/redcap_vx.x.x/data_entry.php?pid=xxx&page=xxx&id=ID_VARIABLE_VALUE
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 the “Auto-numbering for records” option, which is found under the "Enable optional modules and customizations" header on the "Project Setup" 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. By default, if no records exist, it will begin with ‘1’.
NOTES
- Auto-numbering is automatically enabled once an instrument is enabled as a survey in a project and cannot be disabled as long as at least one survey exists in that project.
- Auto-numbering progresses in increments of one; record numbers increase by 1.
- If auto-numbering isn't enabled, each record has to be manually named when created.
Q: How can I set the default auto-numbering to start at a particular number (e.g., 2000)?
Make sure that auto-numbering disabled and add the first record using the desired start value and formatting. Once this record is saved, you can enable auto-numbering.
If records exist before auto-numbering is enabled or set up as desired, it is also possible to manually rename currently existing records to configure auto-numbering for records that will be subsequently created. See the notes below for the limitations.
NOTES
- Auto-numbering operates with the assumption that unique identifiers are integers that are greater than or equal to 1 and that the next value to be generated is the next highest integer value. As a result, the value of the next record will automatically be set to the integer that is expected to appear next in the sequence.
- Unique identifiers with non-numerical characters (i.e., letters and symbols) don't establish patterns and are treated as the corresponding integer value that was automatically assigned upon creation.
- Auto-numbering does not reconfigure for records that are renamed to have a lower integer value than what is expected to be automatically generated for them, even if they still have the highest integer values. The only time when the starting point of the sequence is changed is when a record is renamed to an integer value that's greater than what is expected to have been automatically generated for it.
- REDCap treats leading zeros as non-numerical characters, even if there are truly no non-numerical characters present in the unique identifier.
- If you want to format unique identifiers to have non-numerical characters, you must either:
- Manually rename the record or
- Create another variable that will contain the desired values and/or formatting of the record value.
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 (i.e., participant_id
). participant_id
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 identifier for projects with surveys instead of using 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. participant_id
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?
When first created, all projects start in Development. During this stage, 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 "Move project to production" button under the "Move your project to production status" at the bottom of 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 your 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 by the REDCap admin. Review and approval time will vary and are institution-specific.
From Production, you can move projects to the following statuses on "Other Functionality" tab on the "Project Setup" page:
Move to Analysis/Cleanup status |
Moves the project to Analysis/Cleanup status if data collection is complete. This will disable most project functionality, although all collected data will remain intact. Once in Analysis/Cleanup status, the project can be moved back to production status at any time.
NOTE
The project must be in Production for this option to appear.
|
Mark project as Completed |
If you are finished with a project and wish to make it completely inaccessible, you may mark the project as 'Completed.' Doing so will take it offline and remove it from all users' project lists, after which it can only be seen again by clicking the "Show Completed Projects" link at the bottom of the "My Projects" page.
NOTES
- Once marked as 'Completed,' no one in the project (except for REDCap administrators) can access the project, and only administrators may undo the 'Completion' and return it back to an accessible state for all project users. Marking a project as 'Completed' is typically only done when you are sure that no one needs to access the project anymore, and you want to ensure that the project and its data remain intact for a certain amount of time.
- You can also mark a project as 'Completed' during Development.
|
Additionally, under the "Data Management" header on the "Other Functionality" tab, you have the options to:
- Delete the project and
- Delete all data.
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 the section titled 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 by entering data. Entering and saving data is the only way to test that the branching logic and calculated fields are working properly.
NOTE
Real data should NOT be entered until the project has been moved to Production status.
When you click the “Move project to production” button on the "Project Setup" page, the following popup will appear:
Q: What is the Online Designer?
The Online Designer allows you to make create, modify, and delete data collection instruments and fields (i.e., questions) using your web browser. Changes are made in real-time and available immediately for review and testing (during Development).
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. The modified file must first be uploaded successfully before changes are committed to the project.
The columns are organized as follows:
COLUMN |
FIELD METADATA |
NOTES |
A* |
Variable / Field Name |
Must contain underscores (i.e., _) in place of spaces. |
B* |
Form Name |
Must contain underscores (i.e., _) in place of spaces. |
C^ |
Section Header |
Only contains information if corresponding with field that's designated as the section header |
D* |
Field Type |
Options are:
- text
- notes
- dropdown
- radio
- checkbox
- file
- calc
- sql
- descriptive
- slider
- yesno
- truefalse
See this question for more information about each field type.
|
E*^ |
Field Label |
|
F |
Choices, Calculations, OR Slider Labels |
- Options must be formatted as option number/raw value, option text/label and must be separated by |.
- Does not have to be filled in when field type is yesno or truefalse
- Functions for calculated fields must follow formatting/conventions explained here.
Slider labels:
- The maximum number of slider labels is 3.
- The order in which the labels are entered are left to right (if the slider is to be displayed horizontally using LH or RH) or bottom to top (if the slider is to be displayed vertically using LV or RV).
- Slider labels must be separated by |, so they must be entered in the format of label 1|label 2|label 3.
- If a specific label location must be blank, replace it with a space.
|
G^ |
Field Note |
For additional explanations/information. |
H |
Text Validation Type OR Show Slider Number |
Text validation types:
- date_ymd
- date_mdy
- date_dmy
- time (time in hh:mm format)
- time_hh_mm_ss
- datetime_ymd
- datetime_mdy
- datetime_dmy
- datetime_seconds_ymd
- datetime_seconds_mdy
- datetime_seconds_dmy
- phone
- email
- number
- integer
- zipcode
Validation for other field types:
- If the field type is dropdown, you can set the validation type to autocomplete to enable the auto-complete feature, which transforms the drop-down into a combobox that functions as a normal drop-down list but has the additional capability of employing a text search on the options in the drop-down to help you find an option much more quickly. Instead of having to scroll through the whole drop-down list to find a particular option to select, you can just type a few characters of the option you want to select, and it will return a short list of matching options. The auto-complete feature is most useful if your drop-down list is very long with lots of options.
- While it is possible to select 'Signature' as the field type on the Online Designer, you must specify the field type as file and the validation type as signature on the Data dictionary.
- If the field type is slider, adding number under this column as the validation type will cause the numerical value corresponding to the position of the slider to be displayed.
|
I |
Text Validation Type Min |
- For sliders:
- This value must be an integer.
- If a minimum value is not specified for slider fields, it will be set to 0 by default.
- For text fields, you may use the word today or now (not wrapped in quotes) for date/time fields to set dynamic range limits. Also, you may pipe a value from another field (e.g.,
[visit_date] or [event_1_arm_1][age] ).
|
J |
Text Validation Type Max |
- For sliders:
- This value must be an integer.
- If a maximum value is not specified for slider fields, it will be set to 100 by default.
- For text fields, you may use the word today or now (not wrapped in quotes) for date/time fields to set dynamic range limits. Also, you may pipe a value from another field (e.g.,
[visit_date] or [event_1_arm_1][age] ).
|
K |
Identifier? |
Is assumed to be 'no' by default. Enter y to specify that it's an identifier. |
L |
Branching Logic (Show field only if...) |
Must follow logic described in the Branching Logic section. |
M |
Required Field? |
Is assumed to be 'no' by default. Enter y to specify that it's a required field. |
N |
Custom Alignment |
One of four possible positions listed here. A position must ALWAYS be specified for slider fields, but for other fields types, it's assumed to be RV (right vertical) by default. |
O |
Question Number (surveys only) |
|
P |
Matrix Group Name |
|
Q |
Matrix Ranking? |
|
R |
Field Annotation |
|
*Required
^Can contain HTML formatting
Q: What is the Field Annotation?
Field annotations can be used to add explanatory notes or commentary about a given field. This 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 just 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). Summarily, field annotations do not have a specifically defined purpose, so users may use them in whatever way they so choose.
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 column in the data dictionary? (FOR SURVEYS ONLY)
For surveys, you can use this column to enter number of the survey question for screen display.
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 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?
- (OPTIONAL) If the project is still in Development, then download the current data dictionary. 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.
- Make a copy of the downloaded database.
- Make edits/additions/deletions to this database copy.
- Upload the entire revised data dictionary (i.e., the database copy wherein changes were made) to your project and click on the 'Commit Changes' button in the blue field that appears when upload has been successful.
WARNING
Uploading a new Data Dictionary will overwrite - not update - the original data dictionary, so it is necessary to upload the revised file in its entirety.
Q: What is a longitudinal project?
Longitudinal projects are most commonly created for clinical and research data. A longitudinal project is created by enabling the “Use longitudinal data collection with defined events?” option under the "Main project settings" header on the "Project Setup" page. 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 exists only once in the Data Dictionary but can be repeated N number of times using the longitudinal model.
In longitudinal projects, you can define “events” that allow for the use of data collection forms multiple times for any given database record. An “event” may be a temporal event in your project, such as a participant visit or a task to be performed. After defining events, you will need to designate the data entry forms that you wish to utilize for any or all events. This allows you to use a form for multiple events for the same database record.
Each event belongs to an "arm" in your project. You may create one or more “arms” for your project, which can each 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 when a longitudinal project is created.)
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 (i.e., event) per database record.
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.
Q: In longitudinal projects, how can I set up linkages between events and data entry forms?
You can use the "Designate Forms for My Events" page, which can be accessed either from the "Define your events and designate instruments for them" header on the "Project Setup" page or as a related tab when visiting the "Define My Events" page, to create linkages between events and data entry forms.
NOTE
At least 2 events need to be defined before you can start linking instruments to events.
Each arm of your study has its own tab on the "Designate Forms for My Events" page. Choose an arm and click the "Begin Editing" button to link data entry forms to events. Check off boxes to indicate the forms that should be completed for any given event and then click the "Save" button. You will see a grid that indicates the data entry forms that are assigned to each event with green checkmarks. Take care to designate forms for your events while the project is still in Development. These "assignments" can only be changed by your REDCap administrator after the project is in production and should be made with caution to ensure existing data is 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. After events have been defined, you may use them and their "Days Offset" value to generate schedules.
NOTE
In order to set up the scheduling interval[s] for a longitudinal project, you must first enable the "Scheduling module (longitudinal only)" option under the "Enable optional modules and customizations" header on the "Project Setup" page.
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. To add new events provide an Event Name and Date Offset for that event and click the "Add New Event" button.
Q: How can I register a subject in a multi-arm study before the determination of the arm to which they belong can be made?
You can set up an arm as a “screening and enrollment” arm. Once a subject becomes enrolled, they 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.
How do I create a set of variables for an unknown number of possible responses for the same questions?
Q: What is the difference between a data entry form and a survey?
SURVEYS |
- Collect data directly from participants
- Questions accessed via a secure webpage
- No authentication needed
|
DATA ENTRY FORMS |
- Data entered by authorized REDCap project user[s]
- Login access and project rights required to view and edit 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 in a 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 frequently.
For long surveys, you can use section headers and change the pagination option, which is found under the "Survey Customizations" header on the "Survey Settings" tab, from "Single page" to "Multiple pages (display one section per page)." In the instrument, add a Section field wherever you want the next page to begin (i.e., between the final field on a current page and the first field that will appear on the next page).
NOTE
Since each survey has its own corresponding settings page, you must change the pagination setting for each survey that you want to break into multiple pages.
Q: Are there any restrictions to what you can name a data collection instrument?
The Online Designer does not impose any naming restrictions, but the Data Dictionary limits you to lowercase characters and may only contain 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.
- Must be lowercase and may contain only letters, numbers, and underscores.
- Cannot be longer than 26 characters
- 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 formatting (e.g., colors, text) of a 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.
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 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.
NOTE
REDCap strips HTML coding when creating PDF exports/forms, so PDF documents will not have any formatting and will only display text.
Q: How do I enable surveys for my project?
- Under the "Main project settings" heading on the "Project Setup" page, enable "User surveys in this project?"
- On the "Online Designer" page, click on the "Enable" button under the “Enabled as survey” column for each instrument that will be a survey. (This will redirect you to the "Set Up My Survey" page.)
- Configure everything as desired on the "Survey Settings" tab that appears (called "Set Up My Survey").
- Click on "Save Changes" to complete the survey creation process.
Changes to these survey options can be made at any time by:
- Clicking on the green shield containing a white check mark that replaced the "Enable" button on the Online Designer page.
- Clicking on the "Survey settings" button appearing on the top left after opening that specific survey on the Online Designer.
Both of these actions will redirect you to the "Survey Settings" tab (now called "Modify survey settings"), where you can make changes to the survey as needed. This is also where you can undo turning this instrument into a survey into a survey and revert it to a data entry form by clicking on the "Delete Survey Settings" button at the bottom of the page.
Q: How can I send multiple surveys to participants and link their responses?
If the responses need to be anonymous, please see the response to this question.
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:
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 the text validation type being set to "email" to collect the participant’s email address.
- Under the "Enable optional modules and customizations" section on the "Project Setup" page, enable the "Designate an email field to use for invitations to survey participants (including survey invitations and alerts)."
- From the drop-down menu in the popup that appears, select the field corresponding to the email address to which the surveys will be sent.
- Click "Save."
When participants complete the first survey, their email addresses will pre-populate the "Participant List", which will allow you to send additional surveys for the same record.
Surveys will be automatically linked by record ID. The Participant Identifier on Participant List will not be editable.
ADDITIONAL NOTES
You will still be able to use the Participant List to send emails containing links to the first survey, if needed. Participants will be prompted to enter their email addresses into the survey. 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 followup surveys.
PROJECT'S FIRST INSTRUMENT IS A SURVEY & USE OF PARTICIPANT LIST
If you 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 followup surveys. If you wish to collect additional surveys from the non-responders, you will need to create additional REDCap projects with the followup surveys. Because of this limitation, you may want to try the next method.
PROJECT'S FIRST INSTRUMENT IS DATA ENTRY AND 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:
- The first form is a data entry form (e.g., “Email Form”). On the “Email Form”, at minimum, you can have the participant ID number field and an email field (i.e., a text field with the validation type set to "email").
- Follow the instructions for enabling surveys as outlined in the response to this question.
- Follow the steps outlined in the first option provided in the response to this question ("PROJECT'S FIRST INSTRUMENT IS A SURVEY & USE OF PUBLIC URL & DESIGNATE AN EMAIL FIELD") to designate the email field you created on the “Email Form” instrument as the email field to use for invitations to survey participants.
- You can either import (Data Import Tool) or enter the email addresses directly into “Email For.m” 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 participants' responses and completion statuses for other surveys.
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 participants' email addresses to which survey invitations will be sent. See the steps outlined in the first option provided in the response to this question ("PROJECT'S FIRST INSTRUMENT IS A SURVEY & USE OF PUBLIC URL & DESIGNATE AN EMAIL FIELD")
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 to send survey invitations for any survey in that project .
Q: Can I collect anonymous survey data from participants?
Responses can only be collected anonymously using the Public Survey URL, which can be found on the "Public Survey Link" tab on the "Survey Distribution Tools" page.
The survey questionnaire must not contain any questions asking the participants for identifying data (e.g., name, email, date of birth). Survey responses are considered anonymous unless the participant has a Participant Identifier defined OR if the participant's email address was added via the Designated Email field. Any response on this page that is considered anonymous will have the icon displayed in place of its record name in order to prevent users from identifying which record belongs to the participant.
WARNING
Projects with multiple surveys might present potential challenges to anonymous data collection. If you are analyzing data in aggregate, you can have multiple REDCap projects that each use a Public Survey URL. If you need to track individual responses over time, using the Public Survey Link for each survey (pre, post, followups) requires that you collect data points using the survey questionnaire to export and merge later. The data points should not be identifying information, but specific enough question(s) that participants will answer consistently (e.g., 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.
NOTE
REDCap displays messages on the Participant List tab to indicate whether or not the project setup allows for anonymity:
- Survey Response Status: Anonymous
Based on the current survey settings, survey responses in this project are considered anonymous. A participant's record is not able to be identified.
- Survey Response Status: Not Anonymous
Based on the current survey settings, some survey responses on this page might not be considered anonymous.
Survey responses in REDCap can never truly be considered 100% anonymous. In some cases it may be possible to identify a participant's record through the process of elimination and deduction and/or by monitoring a record's data values and survey submission times very closely. But when collecting data in a typical manner, it may be said that the survey responses in a project that REDCap deems to pass the requirements for anonymity can be casually considered as "anonymous" and thus not identifiable.
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
- Sending emails and tracking responders/non-responders (i.e., Participant List) and
- Viewing data/responses.
Through the REDCap interface, there is no link between the modules and no connection between the email address entered and survey responses unless you enter unique values into the optional “Participant Identifier” field on the Participant List, which links email addresses to survey responses.
To ensure confidentiality of the data, REDCap tracks responses by attributing it to an email address. If the "Participant Identifier" field is not enabled, 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 users who are authorized/given that privilege (e.g., system engineers, database admins).
NOTE
There is a link “behind the scenes.” REDCap / REDCap support personnel (e.g., system engineers, database admins) really act 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 directly or indirectly identify subjects. REDCap holds the key to the code.
If you truly need anonymous data, use the Public Survey URL. For the Participant List, the identifying emails can be forever stripped from the data with no way for anyone to go back and find out the identity of the individual from whom the data the was obtained. No re-identification is possible if you do the following:
- Export a copy of the REDCap dataset, so that you have a copy of the data + date/timestamps for future reference.
- EXPORT LIST for the Participant List to Excel.
- REMOVE ALL PARTICIPANTS from the Participant List. This will delete all links between the email addresses and data collected, including survey date/timestamps. Date/time entered is still available in the Logging module.
This ensures that identities cannot be reversed engineered in REDCap.
RECOMMENDATIONS
- Keep access to "Survey Distribution Tools" restricted, since respondents would be easily identifiable from the Participant List and the "Add / Edit Records" page if they are few in number.
- If data must be anonymously collected in real-time, then the Participant List should NOT be used. Use the Public Survey URL.
ADDITIONAL GUIDELINES FOR COLLECTING UNIDENTIFIABLE CODED SURVEY DATA
MULTIPLE SURVEYS
Projects with multiple surveys present potential challenges to anonymous data collection.
Only participants that answer the first survey will be able to respond to followup 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. (Required fields could present an issue.)
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.
In this scenario, since each exported record will contain a subject’s response to all of the survey questions, the lack of data for the third survey can inadvertently identify a subject and his/her responses to all prior surveys. For this reason,
- DO NOT EXPORT any of the project data until the survey in question is completed and closed.
- 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 subjects can remain unidentified. This is particularly critical when using the Participant List, as this list will identify the individuals who have responded. A low response rate 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 jsmith@yahoo.com< mailto:jsmith@yahoo.com> has responded, you will know that this single response belongs to that subject.
- For both single and multi-survey projects, only export the data associated with a closed survey. Once data has been exported, no further responses should be 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?
Follow the steps in the response to this question to paginate your surveys. Then, on your questionnaires, you can create page breaks by adding section headers (Add a new field and select "Begin a New Section" as the field type on the Online Designer) to indicate 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 an optional “Matrix Header Text” field, 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 field and enter your text there.
Q: If I enable survey pagination, do answers get saved after the respondent hits goes 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 survey pagination is enabled and entire sections/questions are hidden due to branching logic, are blank pages displayed to the participant?
No. Sections where ALL questions are hidden due to branching logic are skipped.
Q: For surveys with multiple pages, is there a progress indicator on the survey?
Yes. While REDCap doesn't have a progress bar feature, there is an option to display “Page # of #” at the top right of the survey, so that respondents can know how many pages they have left. You can enable or disable this feature on the "Survey Settings" tab for a given survey by selecting or unselecting the "Display page numbers at top of survey page" checkbox that is located beneath the drop-down menu where you enabled survey pagination.
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.
NOTE
Participants should only click the “Previous Page” button, 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 can be disabled on the "Survey Settings" tab. The checkbox corresponding to this setting is also located beneath the drop-down menu where pagination is enabled.
Q: Can survey respondents save, leave, and then go back to a survey to complete the questions?
Yes. You can enable the “Save and Return Later” option that's under the "Survey Access" header in the "Survey Settings" tab. This option provides respondents with a 'Save & Return Later' button on the survey page, which allows them to save their progress and return where they left off to complete the survey any time in the future. If the 'Survey Login' feature has been enabled for a given survey (or for all surveys in the project), then the respondent will be required to enter their login credentials in order to continue the survey. However, if 'Survey Login' is not used, then the respondent will instead be given an auto-generated return code, which they will be required to enter upon returning to the survey in order to continue.
By default, when respondents click the 'Save & Return Later' button on a survey, they will need the return code provided to them in order to return to the survey later to begin where they left off, but this can be changed by checking "Allow respondents to return without needing a return code" beneath the drop-down menu that enables or disables the "Save and Return Later" feature. This will allow anyone with only the survey link to return to the survey and view all previously entered responses WITHOUT needing a return code.
NOTE
If you are collecting identifying information (e.g., PII, PHI), for privacy reasons it is HIGHLY RECOMMENDED that you leave the option unchecked so as to enforce a return code.
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.
NOTE
If the survey is "anonymous,” you will not be able to recover participants' Return Codes.
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 the "Survey Login" settings as a popup. Users who wish to enable "Survey Login" may choose up to 3 fields in their project to be 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. To enable it for specific surveys, select "Only selected surveys (set on Survey Settings page)" from the drop-down menu in in response to "Apply the survey login to all surveys in project?" This will create the "Enforce 'Survey Login'?" option on the "Survey Settings" tab, and this can be configured individually for each survey.
NOTE
If a survey has the “Save & Return Later” feature enabled, Return Codes will not be used to return to the survey, but the login credentials from the "Survey Login" feature will be used instead.
Q: Can survey respondents return and modify completed surveys?
By default, respondents are not allowed to modify their survey responses if the survey has been fully completed, but checking the "Allow respondents to return and modify completed responses" option under the 'Allow 'Save & Return Later' option for respondents?" question will allow respondents to return to a completed survey response and modify any of their answers. The survey response will remain as a completed response during this process and afterward. 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. The only change to the actual status of their survey response is that, if the respondent gets to the end of the survey again and completes it again, the survey completion time will be updated with the new time of completion. If the survey has the "Survey Login" feature enabled, then the user will have to log in with their login credentials to return to the completed survey response. If that feature is not enabled, then their auto-generated return code will be required to allow them to return.
NOTE
If Survey Notifications have been enabled for a survey that has the "Allow respondents to return and modify completed responses" option enabled, then whenever the respondent returns to the survey 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, click on the ‘Survey Notifications’ button 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.doe@vanderbilt.edu vs. jane.doe@vanderbilt.edu). There is another possibility: After a survey participant finishes a survey, he or she may refresh the acknowledgement page, which 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 assign “Stop Actions” to survey fields. 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.
NOTE
"Stop Actions" can only be set up for surveys.
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 displayed to participants.
An alternative to the "Stop Action" feature is hiding 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/timestamped. 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 "Today's Date" field to your survey. The calendar pick list will have a button for “Today” or “Now” that the participant can click to automatically populate the field today's date.
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 be directed 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's status during updates, please contact your REDCap admin.
Q: Is there a survey preview feature?
No. Branching logic or calculated fields would not always work correctly. To preview surveys, it is recommended to view the survey as a test participant when testing the project in Development.
Q: How 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" to set up when REDCap will deactivate the survey.
NOTE
The survey will be deactivated for all instances of that survey in all arms and events in a project. It’s currently not possible to put expiration dates on specific surveys in specific events.
Q: How do I set up a survey confirmation email?
You can set up a confirmation email in the "Survey Settings" tab for each survey. In response to "Send confirmation email?" (found at the bottom of the page), select "Yes" from the drop-down menu to reveal the “From”, “Subject,” and “Body” fields of the message to be sent. You can also add an optional attachment.
NOTES
- REDCap must have an email field defined for the project in order to send out the survey confirmation automatically.
- Since email is not considered a secure form of communication, the PDF attachment option is NOT RECOMMENDED if the survey contains questions asking for identifying information (e.g., PHI).
Q: What kinds of attachments can I include with survey confirmation emails?
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: Where can I set up survey reminders?
You can set up survey reminders wherever REDCap will allow you to send out a survey invitation (e.g., Automatic Invitations, Participant List).
Q: Is it possible to send more than 5 survey reminders?
No. 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 a participant or a REDCap user fills out a specific survey, 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 under the “Survey Customizations” section the "Survey Settings" tab of each survey.
Q: Are there different languages available for the text-to-speech feature?
Yes, the following languages are available.
Language |
Gender[s] of Voice |
Brazilian Portuguese |
Female |
English - United Kingdom |
Female, Male |
English - United States |
Female, Male |
French |
Female, Male |
German |
Female, Male |
Italian |
Female |
Japanese |
Female |
Spanish - Castilian |
Female, Male |
Spanish - Latin American |
Female |
Spanish - North American |
Female |
You can change the language in the "Survey Settings" tab of each survey.
NOTE
Your survey needs to be in the same language as the selected 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" tab. 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: How do I administer my survey?
Navigate to the “Survey Distribution Tools” 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. This option will only be available if the first instrument in your project is a survey.
- Participant Contact List: This option allows you to send emails and track who responds to your survey. It is also possible to identify a participant's survey answers by providing an identifier for each participant.
Q: How do I manage the Participant Lists of multiple surveys?
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 (in the case of longitudinal projects).
The Participant List may be used to:
- Send emails to many participants at once
- Send individual survey invites directly from a data entry form
The Public Survey Link and Participant List have been separated into different tabs on the "Manage Survey Participants" page, 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 include group email addresses or distribution lists in REDCap’s Participant Email Contact list. The emailed invitations send only one unique survey link per email address, so only the first person in the distribution group who clicks on the email link will be able to complete the survey using the link sent via email.
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.
- 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 on a Word or Excel file into REDCap.
The advantage of using REDCap’s Participant 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 retake 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, the participant did not click on "Save & Return Later."
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 clicks on "Save & Return Later," their link is active until the project admin closes/deactivates the survey.
Q: Can the error reporting be improved when emailing survey invites using the Participant List, so that REDCap won't return success messages when no emails could be sent due to issues (e.g., server failure)?
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 lists participants who
- Have been scheduled to receive invitation,
- Have received invitation, or
- Have responded to survey.
You can filter to review your participants' response statuses.
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 on the Online Designer. Rather than sending or scheduling survey invitations manually via the Participant List, the invitations can be scheduled to be sent automatically (i.e., without a person sending the invitation) based on specific conditions (e.g., the participant completing another survey in your project, certain data values for a record being fulfilled).
GUIDELINES FOR CREATING AUTOMATED SURVEY INVITATIONS
- ‘today’ (the value corresponding to today's date) should be used only in conjunction with
datediff
. Comparing ‘today’ to a date is unreliable.
- It’s a good practice to set up a field that can be used to explicitly control whether or not any invitations should be scheduled for a record. This allows for logic like the following:
datediff([surgery_arm_2][surgery_date], ‘today’, ‘d’, true) = 6 and [enrollment_arm_1][prevent_surveys] != “1”
- All fields in all forms on all arms are always available to the conditional logic of an ASI rule. If there is no value saved for that field, an empty string is used.
Q: What mathematical operations can be used in the logic for Automated Survey Invitations?
+ |
Addition |
– |
Subtraction |
* |
Multiplication |
/ |
Division |
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 the 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?
EXAMPLE
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:
- Composing an email message.
- Specifying the conditions that will trigger an email to be scheduled.
- Specifying how to schedule the triggered email (i.e., immediately, after a delay, on a specific day).
NOTE
REDCap detects and checks conditions using the ‘today’ value daily every twelve hours. The specific times that they are checked 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/value 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, and, on succeeding days, it will return 1.25, 2.25, 3.25, etc.
Q: What are repeating forms and events?
The "Repeating instruments" and "Repeating instruments and events" features allow you to use the same form multiple times in a project or an event without having to define how many times you want to use it. You can use it a different number of times for each record in a project and add new instances of the form as needed for each record.
EXAMPLE
If you are collecting a list of medications, you could create a form that asks for one of the medications and then add a new instance for each additional medication:
In longitudinal projects, you have the option of repeating individual forms inside an event or repeating the event as a whole. If you choose to repeat just a form in an event, you will have multiple instances of just the form(s) you want to repeat. If you choose to repeat the entire event, all the forms in the event will be offered again, and you will have the same number of instances of each of the forms in the event, in that record. You cannot repeat an instrument inside a repeated event.
NOTE
In classic (i.e., non-longitudinal) projects, the feature is called "Repeating instruments." In longitudinal projects, it's called "Repeating instruments and events."
Q: How do I enable repeating forms and events?
To enable repeating forms in a non-longitudinal project
- Navigate to the "Project Setup" page.
- Scroll down to the "Enable optional modules and customizations" section.
- Enable the "Repeating instruments" feature.
- In the popup box that appears, select which instruments in the project you want to repeat.
In a longitudinal project that has multiple events defined, you will follow the steps outlined above, except the feature is now called "Repeating instruments and events." For each event, you will need to choose between the following options:
- Repeating nothing ("-- not repeating --"), or
- Repeating the entire event ("Repeat Entire Event (repeat all instruments together)"), or
- Repeating specific forms within an event ("Repeat Instruments (repeat independently of each other)").
The default for each event is set to "--not repeating--"
If you select "Repeat Entire Event (repeat all instruments together)," all the instruments in that event will be checked, and you cannot un-select any of them. If you select "Repeat Instruments (repeat independently of each other)," then you'll need to select which instruments you want to repeat in that event.
Q: Are repeating forms compatible with Double Data Entry?
No. You can only compare the first instance of repeating forms with Double Data Entry.
From the Data Comparison Tool:
The Data Comparison Tool does not FULLY support the Repeating Instruments and Events feature, which appears to be enabled in this project. Data can be compared (and even merged if using Double Data Entry), but it will only allow comparison and merging of Instance #1 of a repeating instrument or repeating event. Thus, all other repeating data will be ignored on this page. Also, all non-repeating data can still be compared and merged.
Q: Are repeating forms compatible with the scheduling module?
No, repeating forms are not compatible with the scheduling module.
Q: Are repeating forms compatible with the REDCap Mobile App?
No, repeating forms are not compatible with the REDCap Mobile App.
Q: Can I use repeating instruments in surveys?
- Enable the form as repeating in the project in general on the "Project Setup" page following the steps outlined here.
- Make sure the form is enabled as a survey on the Online Designer.
- Select "(Optional) Repeat the survey: Ask participants to take the survey again upon completion" under the "Survey Termination Options" section on the "Survey Settings" tab.
This will create a button that your participants can click to repeat the survey. You will be able to choose if you want them to see the option to repeat the survey before or after they submit their response, and you will be able to customize the text on the button. There is also an option to hide the button.
LIMITATIONS
- You cannot schedule surveys that are in repeated instruments or repeated events to go out on a regular basis.
- You need to compose the survey invitation for each instance manually using either the "Compose Survey Invitations" feature in the Participant List or the option to send a survey invitation in the survey instance itself.
- Survey queues in repeating events only work on the first instance of the event.
Q: How can I use the data quality module to check all instances of data repeated instruments?
You can check by looking at the instance number next to the record ID when you click "View" after running the rule. However, you cannot filter by individual instances.
Q: What does the data export look like for records using repeating forms?
When you export data that has repeating instances, there will be two new columns in the export:
- redcap_repeat_instrument (the instrument's name) and
- redcap_repeat_instance (the instance number).
All data that is not collected using a repeating form will be displayed on one line, and then each instance of a repeating field will receive its own line, similar data exports from a longitudinal study, as shown in the following example with medication:
The formatting will be the same if the project is longitudinal; it will just include the event information as well.
Q: How can I tell the completion status when an instrument repeats?
The completion status of a repeating instrument will have three small circles instead of just one. If the completion status of all the instruments is the same, the circles will be colored red (incomplete), yellow (unverified), or green (complete), just like with regular forms. If the completion status isn't the same for all instances, then the circles will be blue.
On the record homepage, you'll be able to see all the instances of a repeating form listed out with the completion status of each instance:
Q: Can I pull information from repeating forms into reports?
You can add information from repeating forms in reports. You will just add the field(s) you need the same way as you would any field in the project. When you view the report, the information from the instances will be on their own line, similar to how information displays for different events in a longitudinal project:
Q: Can I use piping, branching logic, or calculations with repeating forms?
You can pipe information from other forms into a repeating form, and you can pipe information from one field to another within an instance. You cannot pipe information out of a specific instance to someplace else in the project; there is no syntax to refer to a specific instance when you are piping. The same applies for branching logic and calculations-you can use items from outside the repeating form, and you can use information within an instance, but you cannot use information from a single instance for piping or calculations outside of that specific instance.
Q: How do Automated Survey Invitations work with repeating instruments?
The ASI will only fire once conditions are met for the first instance, and reminders will only be sent for that instance. You cannot automatically invite or remind a participant to repeat a survey. If you need to invite them again, you will need to send the repeat instance invitation manually or instruct them to click the "repeat" button at the correct time.
Q: How do I give my repeating forms custom names?
Click on the "Modify" button that appears next to "Repeating instruments"/"Repeating instruments and events" under the "Enable optional modules and customizations" section on the "Project Setup" page. (This appears in place of the "Enable" button, since the feature has been enabled.) There will be a text box next to each instrument's name under a column titled "Custom label for repeating instruments (optional)," where you'll have the option to enter custom names for each instance of a repeating instrument. 'Custom Labels for Repeating Instruments' are similar to Custom Record Labels in that both of these features allow you to display piped data (i.e., data acquired through piping) from a given instrument on the homepage of a record in a special table containing all instances of this instrument. The most effective way to use this feature is to pipe in a key piece of information (e.g., medication name) here. The custom name will then show up next to the completion status for the individual instances on a record's homepage.
EXAMPLE
An instrument that represents a single visit by a person and that collects the date of that visit in a field called visit_date
can be set as a repeating instrument, so that each instance of the instrument corresponds to each visit by that person. You could set the Custom Label as [visit_date] to have useful context when viewing a table all repeated instances of the instrument on a person's record homepage (i.e., seeing all visits by that person).
You can also get more advanced with the piping by using multiple fields and even static text (e.g., [visit_date], [weight] kg).
NOTE
You cannot use custom naming for repeating events.
Q: Can repeating instruments be enabled after a project is in production?
Only REDCap administrators can enable repeating instruments for a project that is in production.
NOTE
Adding repeating instruments can affect branching logic, calculations, piping, and survey setup.
Q: Can I import data into repeating forms?
You can import data into repeating forms by using the redcap_repeat_instrument and redcap_repeat_instance fields to import data into the appropriate form and instance. However, several people have found that imports into repeating forms are incomplete. It is highly recommended you manually check that the data imported correctly and completely after importing data into repeating forms.
The import columns for repeating forms are:
- record_id,
- redcap_event_name,
- redcap_repeat_instrument,
- redcap_repeat_instance,
- redcap_data_access_group, and
- [data]
Q: Can you delete a single instance of a repeating form?
Yes, you can. As long as you have the right to delete records (i.e., the "Delete Record" user right), you will see a button at the bottom of the form that says "Delete data for THIS FORM only," which will delete the data in that instance only.
The instances in repeating forms are autonumbered. Therefore, if you have instances 1, 2, 3, and 4 and delete instance 2, the next time you add a new instance of that form it will be numbered as 5. It will not go back and fill in the gap in the numbering, and you cannot renumber instances. However, you delete instance 4 and then add a new instance, the new instance will also be 4. REDCap simply looks at the highest existing instance number and adds one.
Q: In a report, can I combine filters from repeating instruments and non-repeating instruments?
You cannot combine filters from fields that are on repeating instruments with fields that are not. The information from repeating forms is stored on different rows than information on non-repeating forms, so you can't filter using both at the same time.
EXAMPLE
If you have a project where "State" is captured in a non-repeating instrument and "Medicine" is captured in a repeating instrument, you could filter on "State" or on "Medicine" individually, but you cannot filter with both "State" and "Medicine" at the same time, since it is not possible to have both in the same row of data.
Q: What are the field types?
The Field Type dictates how the field will be shown on the data entry form.
Options include:
text |
Single-line text box (for text and numbers) |
notes |
Large text box for lots of text |
calc |
Perform real-time calculations |
dropdown |
Drop-down menu with options |
radio |
Radio buttons with options |
checkbox |
Checkboxes to allow selection of more than one option |
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 |
file |
Upload a document |
slider |
Visual analog scale; coded as 0-100 by default |
descriptive |
Text displayed with no data entry and optional image/file attachment |
sql |
Select query statement to populate drop-down choices |
The options listed above are also the way that they are defined in column D of the Data Dictionary; one specifies the type of a given field using the names as listed in the table above in lowercase.
NOTE
On the Online Designer, there are also options for signature fields and section headers, which are defined differently in the Data Dictionary. Signatures are coded as file fields and have their validation type set as signature in column H of the Data Dictionary. The names of new sections are entered in column C of the Data Dictionary on the row corresponding to the field that you want to designate as the first field of that section. You only write enter section names in the Data Dictionary wherever you want to create a new section.
Q: What should I consider when choosing between radio buttons (i.e., radio) and drop-down menus (i.e., dropdown)?
dropdown |
- Ability to use shortcut keys
- Less space on forms; use when you have limited space
|
radio |
- Good when you need your choices to be visible
- Good option for minimal response options
- 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 to 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 provides an "Other, specify" option (or a similar option) along with a text box for questions formatted as radio, checkbox, or dropdown fields?
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 (e.g., 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, but 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 for medication, 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:
field1: [count]>0
field2: [count]>1
field3: [count]>2
and so on.
If your variable of interest 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” (i.e., 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 options for radio, dropdown, and checkbox fields using conditional logic (i.e., if statements)?
There is currently no way to dynamically populate field choices. 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 drop-down menu from another REDCap field, but this is a very specific use case and requires contacting a REDCap Admin.
Q: Are data from checkbox (i.e., "Choose all that apply." question) fields handled differently from other field types when imported or exported?
Yes. When your data is 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 as '0' (i.e., the option hasn't been checked), so, even if you have not yet collected any data, you will see '0' for each checkbox option. The variable names will be the name of the field followed by the option number.
EXAMPLE
A field
Race
can be coded as follows:
1, Caucasian
2, African American
3, Asian
4, Other
In your exported dataset, you will have four variables representing the field
Race
that will be set as
'0' by default and coded
'1' if the option is checked in a record:
race_1
race_2
race_3
race_4
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 and 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
EXAMPLE
In the case of a
checkbox field named
Race
, its choices
'2' and
'-2' would export as follows:
race_2
race__2
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' (checked) is coded '1' and a 'no' (unchecked) is coded a '0'. An unchecked response on a checkbox field is still regarded as an answer (i.e., 'no') and is not considered missing.
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 selecting the corresponding option for 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
date_dmy |
EXAMPLE
16-02-2011
|
date_mdy |
EXAMPLE
02-16-2011
|
date_ymd |
EXAMPLE
2011-02-16
|
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 (i.e., period, dash, slash, or even no delimiter) but will be reformatted to dashes before saving it.
EXAMPLE
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?
The date validation types will only be available if your REDCap administrator enables the feature. Once enabled, they’ll appear in the text validation drop-down menu in the Online Designer. However, you can still specify 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 to allow for consistency 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 to 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 drop-down choices to include numbers (i.e., 1-31, 1-12, respectively) and the value UNK (i.e., unknown). For the year, you can define a text field with its validation type set to number and set a min and max value (e.g., 1920 and 2015, respectively).
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 (e.g., ensure no Feb. 30 and 31) 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 fields not be excessively utilized on REDCap data collection instruments and that they instead be used ONLY 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?
Calculated fields need to be formatted in a particular way in order to function. 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 (i.e., []) 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?
EXAMPLE
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:
- Set the field type of the new field as a Calculated Field in the Online Designer, or calc, if you are working in the data dictionary spreadsheet.
- Provide the equation for the calculation in the Calculation Equation section of the Online Designer or the ‘Choices, Calculations, OR Slider Labels’ column (Column F) in the Data Dictionary spreadsheet. Below is an example equation for the
BMI
field discussed above that uses fields named height
and weight
as variables.
[weight]*10000/([height]*[height])
for units in kilograms and centimeters
([weight]/([height]*[height]))*703
for units in pounds and inches
EXAMPLE
An example of a more complex calculation that can be carried out is
(([this]+525)/34)+(([this]/([that]-1000))*9.4)
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? (FOR LONGITUDINAL PROJECTS ONLY)
Yes, for longitudinal projects, a calculated field’s equation may utilize fields from other events (e.g., 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 to the beginning of the variable name in square brackets (i.e., [unique_event_name][variable_name]
). Unique event names are listed under the second column from the right on the table (titled 'Unique event name') displaying the events for a given arm on the project’s "Define My Events" page. These unique event names are auto-generated from the user-defined event name.
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 on other calc fields, incorporate the original calculations using the mathematical distributive property, as shown in the example below:
EXAMPLE
An alternative to programming
calc2 = 7 * [calc1]
calc1 = 3 + [age] |
calc2 = 7 * (3 + [age]) |
Q: How can I calculate the difference between two date or time fields (including 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)
, where date1
and date2
are variables in your project.
units
“y” |
years |
1 year = 365.2425 days |
“M” |
months |
1 month = 30.44 days |
“d” |
days |
|
“h” |
hours |
|
“m” |
minutes |
|
“s” |
seconds |
|
dateformat
“ymd” |
Y-M-D (default) |
“mdy” |
M-D-Y |
“dmy” |
D-M-Y |
If the dateformat
parameter is not specified, it will default to “ymd”.
Both dates MUST be in the format specified in order to work.
returnSignedValue
The parameter returnSignedValue
denotes the result to be signed or unsigned (i.e., its absolute value) and is set to false by default. This returns the absolute value of the difference. If [date1]
is larger than [date2]
, setting returnSignedValue
is set to true will result in a negative value being returned.
If returnSignedValue
is not set or is set to false,
- The result will ALWAYS be a positive number.
- The order of the dates in the equation does not matter, because the resulting value will always be positive. (The + sign won't be displayed, but implied).
EXAMPLES
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 on today's date?
Yes, for example, you can indicate age
as: datediff(“today”,[dob],”y”)
.
NOTE
The 'today' value can ONLY be used with date fields -- NOT with time
, datetime
, or datetime_seconds
fields. It is STRONGLY RECOMMENDED that you DO NOT USE 'today' in calc fields, because every time you access and save the form, the calculation will run. So, if you access a form that calculates age as of the date that information is entered (i.e., 'today') a year after you entered data into the form to review or make updates, the value 'today' becomes the date the form is accessed, and the age will be mistakenly increased by 1 year. Most users calculate ages based on the date entered in another field (e.g., screening date, enrollment date).
Q: Can I calculate a new date by adding days/months/years to a date entered (e.g., [visit1_dt] + 30days
)?
No. Calculations can only display numbers.
Q: What mathematical operations are available for calc fields?
+ |
Addition |
– |
Subtraction |
* |
Multiplication |
/ |
Division |
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.
FUNCTION |
NAME/TYPE OF FUNCTION |
NOTES & EXAMPLES |
if (CONDITION, VALUE if condition is TRUE, VALUE if condition is FALSE) |
If/Then/Else conditional logic |
Returns a value based upon a condition. It returns the first value if the condition is true and the second value if it's false.
EXAMPLE
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 |
Calculates 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), and
- “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 denotes the result to be signed or unsigned (i.e., its absolute value) and is set to false by default. This returns the absolute value of the difference. If [date1] is larger than [date2] , setting returnSignedValue is set to true will result in a negative value being returned.
If returnSignedValue is not set or is set to false,
- The result will ALWAYS be a positive number.
- The order of the dates in the equation does not matter, because the resulting value will always be positive. (The + sign won't be displayed, but implied).
|
round(number,decimal places) |
Round |
EXAMPLE
To round 14.384 to one decimal place: round(14.384,1) will yield 14.4
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
roundup(number,decimal places) |
Round Up |
EXAMPLE
To round up 14.384 to one decimal place: roundup(14.384,1) will yield 14.4
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
rounddown(number,decimal places) |
Round Down |
EXAMPLE
To round down 14.384 to one decimal place: rounddown(14.384,1) will yield 14.3
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
sqrt(number) |
Square Root |
EXAMPLES
sqrt([height]) or
sqrt(([value1]*34)/98.3)
|
(number)^(exponent) |
Exponents |
Use the caret character (^) and place both the number and its exponent inside parentheses, as shown in the examples below:
EXAMPLES
(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).
EXAMPLES
abs(-7.1) will return 7.1.
abs(45) will return 45.
|
min(number,number,…) |
Minimum |
Returns the minimum value of a set of values, which are input into the function 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, which are input into the function 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, which are input into the function 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, which are input into the function 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, which are input into the function 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.
|
NOTE
All function names are case sensitive.
Q: Can I use conditional logic in a calculated field?
Yes. You may use conditional logic (i.e., an if/else statement) by using the function if (CONDITION, value if condition is TRUE, value if condition is FALSE)
NOTE
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 finally give the resulting value if the condition is false.
EXAMPLE
To have
44 returned if the value of the field
weight
is greater than
100 or
11 if the value of
weight
is less than or equal to
100, the conditional statement will be written as follows:
if([weight] > 100, 44, 11)
if statements may be used inside other if statements (i.e., nested if statements). Other advanced functions (described above) may also be used inside if statements.
Q: Why doesn't a calculated field that I created after entering data on a form seem to be working?
If you add a calculated field where data already exists in a form, you must resave the form for each existing record to perform the calculation.
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 on the “View equation” button that appears on that field when viewing entire form on the Online Designer or clicking on the edit button for that specific field. 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 (e.g., “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 (i.e., “ ” or “NaN”).
EXAMPLE
The statement if([weight] > 100, 44, “NaN”)
makes hides the field remain (depending on branching logic), unless the calculation results in a value.
NOTE
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 H (i.e., "Incorrect values for calculated fields") 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 to find any incorrectly calculated values and display a button that, when clicked, will auto-fix ALL of these errors for the project admin.
Q: If I import data, will the calculated fields be updated accordingly?
Yes. When performing a data import (via the Data Import Tool or API), REDCap will perform the calculations for any calculated fields that are triggered by the values being imported.
EXAMPLE
If you have a BMI
field that is calculated based on the values of a height
field and a weight
field and you perform a data import of height
and weight
values, it will automatically calculate the value of BMI
for each record that is imported and also save those calculations and log them on the "Logging" page.
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 and make data entry forms and surveys appear much shorter. Matrix fields are especially desirable on surveys, because survey respondents will find seemingly shorter surveys less daunting and be more likely to complete them, which can, in turn, improve survey response rates.
A matrix can have as many rows or columns as needed, and any field in a matrix can have its own branching logic and/or be designated as a required field. A matrix can also have a section header.
A matrix of fields will look slightly different in REDCap.
EXAMPLE
Rate the following ice cream flavors
|
Hate it |
Dislike it |
Indifferent |
Like it |
Love it |
Chocolate |
|
|
|
|
|
Butter Pecan |
|
|
|
|
|
Vanilla |
|
|
|
|
|
NOTE
The more options your provide in a matrix of fields, the narrower the column corresponding to each option will be.
Q: How do I create a matrix of fields using the Online Designer?
- Create or open the form to which you want to add the matrix of fields.
- Click the “Add Matrix of Fields” button to indicate where you'd like to add the matrix on the form. This will open up a popup window, where you:
- Supply the field label and variable name for each field in the matrix,
- Determine whether the answer format for the fields will be single answer (i.e., radio buttons) or multiple answers (i.e., checkboxes)
- Enter the options from which the value for each field can be selected,
- Provide a matrix group name for your matrix of fields.
- Designate required fields,
- Display an option header above the matrix (NOT RECOMMENDED for multi-page surveys),
- Click the "Save" button to create and display the matrix along other fields in the Online Designer.
NOTES
- Setting up the choices follows the same procedure as normal multiple choice questions in the Online Designer: You provide one choice (i.e., column) per line in the text box in the window that appears.
- The matrix group name is merely a tag that is used to group all the fields together in a single matrix group. It is used only for design and organizational purposes and is never displayed on the instrument during data entry.
- The matrix group name can consist only of lowercase letters, numbers, and underscores and must not duplicate any other matrix group name in the project.
- The matrix group name can be any value (even an arbitrary value) as long as it meets the conditions listed in the previous bullet point, 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).
Q: How do I create a matrix of fields using the Data Dictionary?
- Add the first field in the matrix to a new row in the Data Dictionary and specify whether it is a radio or checkbox field in column D.
- Set the field label in column E.
- Set the multiple choice options in column F.
- Provide the Matrix Group Name in column P. (This is how REDCap knows to display these fields together as a matrix.)
- Create the other fields in the matrix in the rows directly below that field following the steps above.
NOTES
All fields in a matrix:
- Must have their own variable names (i.e., a unique variable name per row/field in the matrix),
- Must be either a radio or checkbox field,
- Must have the EXACT same choices options in column F, and
- Must have the same matrix group name in column P.
If these requirements are not met, you won't be able 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?
The following are the requirements to convert an existing group of radio or checkbox fields in a REDCap project into a matrix of fields:
- Those fields must all be a radio field or all be a checkbox field.
- They must have the EXACT same multiple choice options (i.e., same option label AND same raw-coded value).
- They must all be adjacent to each other on the same data collection instrument. (If they aren't, they can be moved first so that they are adjacent.)
This conversion process can only be done using the Data Dictionary. To accomplish this,
- Download the existing Data Dictionary for the project.
- Write the Matrix Group Name in column P (i.e., Matrix Group Name) of the Data Dictionary in the row[s] corresponding to every field that you want to add to the matrix.
- Upload your Data Dictionary to your REDCap project.
The Matrix Field Header is really just a Section Header, so, like all Section Headers, it is only hidden if all 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 are the possible text validation types?
date_ymd |
EXAMPLE
2008-12-31
|
date_mdy |
EXAMPLE
12-31-2008
|
date_dmy |
EXAMPLE
31-12-2008
|
time |
Military time in HH:MM format
EXAMPLES
19:30
04:15
|
time_hh_mm_ss |
Military time in HH:MM:SS format
EXAMPLES
19:30:00
04:15:00
|
datetime_ymd |
EXAMPLE
2011-02-16 17:45
|
datetime_mdy |
EXAMPLE
02-16-2011 17:45
|
datetime_dmy |
EXAMPLE
16-02-2011 17:45
|
datetime_seconds_ymd |
EXAMPLE
2011-02-16 17:45:23
|
datetime_seconds_mdy |
EXAMPLE
02-16-2011 17:45:23
|
datetime_seconds_dmy |
EXAMPLE
16-02-2011 17:45:23
|
phone |
U.S. phone number
EXAMPLE
615-322-2222
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.
|
email |
EXAMPLE
john.doe@vanderbilt.edu
|
number |
A general number
EXAMPLES
1.3
22
-6.28
|
integer |
A whole number with no decimal
EXAMPLES
1
4
-10
|
zipcode |
5-digit U.S. zip code
EXAMPLES
37232
33431
90210
|
The following validation types are optional, so they may not be activated at your institution:
Letters only |
EXAMPLE
Someone's name
|
MRN |
10-digit Medical Record Number (can have any of the following digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) |
Number (1 decimal place) |
EXAMPLE
1.2
|
Number (2 decimal places) |
EXAMPLE
1.23
|
Number (3 decimal places) |
EXAMPLE
1.234
|
Number (4 decimal places) |
EXAMPLE
1.2345
|
Phone (Australia) |
EXAMPLE
(03) 1234 1234
|
Postal Code (Australia) |
4-digit postal code
EXAMPLES
2150
7799
|
Postal Code (Canada) |
Format: A0A 0A0, where A is a letter and 0 is a digit
EXAMPLES
K1A 0B1
K0H 9Z0
|
Social Security Number (U.S.) |
EXAMPLE
111-11-1111
|
Time (MM:SS) |
Time in minutes and seconds
EXAMPLE
31:22
|
Q: Is it possible to restrict text input to a defined length or digit/character combination?
You can restrict text input 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 for evaluation, 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 variable names, field labels, short text (i.e., text entered in a “text box”), and paragraph text (i.e., text entered in a “notes box”)?
The maximum number of characters are as follows:
Field name |
100 (Recommended length is <26) |
Field label |
~65,000 |
“Text box” (i.e., text field) input |
~65,000 |
“Notes box” (i.e., notes field) input |
~65,000 |
Q: Can I set minimum and maximum ranges for certain fields?
The following text validation types may utilize min and/or max values, although neither is required:
- date_ymd
- date_mdy
- date_dmy
- time
- time_hh_mm_ss
- datetime_ymd
- datetime_mdy
- datetime_dmy
- datetime_seconds_ymd
- datetime_seconds_mdy
- datetime_seconds_dmy
- number
- integer
Q: What are identifiers?
There are 18 pieces of information that are considered identifiers (also called protected health information, or PHI) to comply with the Health Insurance Portability and Accountability Act of 1996 (HIPAA). When you designate a variable as an identifier on REDCap, you have the option to “de-identify” your data in 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:
- Name
- Fax number
- Phone number
- E-mail address
- Account numbers
- Social Security number
- Medical record number
- Health plan number
- Certificate/license numbers
- URL
- IP address
- Vehicle identifiers
- Device ID
- Biometric ID
- Full face/identifying photo
- Other unique identifying number, characteristic, or code
- Postal address (geographic subdivisions smaller than state)
- Date precision beyond year
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 was designated male at birth. If you wish to make a field visible ONLY when the value[s] of another field/other fields meet[s] certain conditions and keep it invisible otherwise, you may provide these conditions in the Branching Logic section in the Online Designer (an icon at the top of each field in a form that shows two green arrows starting from the same place and breaking off into different directions), or the Branching Logic column (column L) 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 you are working in the Data Dictionary, you will need to create equations using the syntax described below.
In the equation you must surround project variable names with brackets (i.e., []).
You may:
- Use mathematical operators (=,<,>,<=,>=,<>) and Boolean logic (and/or).
- Nest within multiple 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 to be true. For items that are coded numerically (e.g., drop-down menus and radio buttons), you will need to provide the coded numerical value in the equation, rather than the text label (i.e., what's displayed in instruments).
EXAMPLES
[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 (i.e., last_name field has data). |
Q: Is Branching Logic for checkboxes different?
Yes, special formatting is needed for the Branching Logic involving checkbox fields. You must add the coded numerical value inside parentheses after the variable name, as shown below:
[variablename(code)]
To check the value of the checkboxes:
- ‘1’ --> checked
- ‘0’ --> unchecked
EXAMPLES
Suppose the field
race
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 170 cm 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 that you DO NOT 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()
here.
Q: Can you utilize calculated field functions in Branching Logic?
Yes, all the functions available for use in calculated field equations (e.g., if()
, datediff()
) can also be used in Branching Logic and a variety of mathematical functions. You can see the full documentation on all available functions here.
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 from other forms in the same project. The equation format is the same, so no special formatting is required.
Q: Can fields from different EVENTS be used in Branching Logic? (FOR LONGITUDINAL PROJECTS ONLY)
Yes, Branching Logic may utilize fields from other events in longitudinal projects (e.g., 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 (also in square brackets), (i.e., [unique_event_name][variable_name]
). Unique event names are automatically generated from the event names that you have defined and can be found listed in the second column from the right (titled 'Unique event name') of the table on the project’s "Define My Events" page that displays all arms and events in the project.
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: Why doesn't Branching Logic work when previewing forms?
All questions will be displayed when previewing a form within the Online Designer. 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.
Q: Why does REDCap slow down or freeze and display a message about a JavaScript problem when I try to use Branching Logic syntax or Drag-N-Drop Logic Builder in a longitudinal project with over 1000 fields?
You are encountering a limitation that stems from having a lot of fields (particularly multiple choice fields) in your project. If a good number of your fields have multiple choices, then the Drag-N-Drop Logic Builder has to load a large number of choices (from all questions containing multiple choices). Performance is further affected, because REDCap uses JavaScript (powered by the user’s browser) for the Drag-N-Drop Logic Builder and also to process the switch between the Advanced Branching Logic Syntax to the Drag-N-Drop Logic Builder (if you decide to switch methods for setting up the a particular field's Branching Logic within the popup).
The slower your computer and the slower your browser, the slower the Drag-N-Drop Logic Builder method of setting up Branching Logic will be. Google Chrome is much faster at handling JavaScript than other browsers and is recommended. The only other option is to use the Data Dictionary for building your branching logic.
Q: What are Action Tags?
Action Tags are special terms beginning with @
that can be placed inside a field's Field Annotation. Each Action Tag has a corresponding action that is performed for the field. Such actions may include hiding or disabling a given field either on a survey, data entry form, or both. Because the action tags are used as part of the Field Annotation, they are not displayed anywhere on the page.Because the action tags are used as part of the Field Annotation, they are not displayed anywhere on the page.
There is a comprehensive list of all available action tags that you may use within the Online Designer "Edit Field" popup box, and there are many different use cases for each action tag. You can use as many Action Tags as you want for a single field, but, if you do use more than one tag for a field, make sure to put a space or line break between them.
EXAMPLE
If you put @HIDDEN-SURVEY
in a field's Field Annotation text box, then the field will always stay hidden when viewed on a survey page, but the field will be visible when viewing the same instrument as a data entry form (i.e., as a user). This might be helpful if you want to hide specific fields from your survey participants so that they do not see them.
Q: What types of Action Tags are available in REDCap?
TAG TYPE |
FUNCTION |
TAGS |
Auto-fill |
Pre-fill a variable with a value |
@DEFAULT
@LATITUDE
@LONGITUDE
@NOW
@TODAY
@USERNAME
|
Cosmetic |
Change the look and feel of a variable without impacting the data |
@PASSWORDMASK
@PLACEHOLDER
@RANDOMORDER
@HIDEBUTTON
|
Entry Limits |
Limit what can be entered in a variable |
@CHARLIMIT
@WORDLIMIT
@MAXCHECKED
@NONEOFTHEABOVE
@MAXCHOICE
@HIDECHOICE
|
Obscuring |
Action tags that hide a variable or make it uneditable |
@HIDDEN
@HIDDEN-FORM
@HIDDEN-SURVEY
@READONLY
@READONLY-FORM
@READONLY-SURVEY
|
Mobile App |
Action tags that are only useful when using the mobile app |
@APPUSERNAME-APP
@BARCODE-APP
@HIDDEN-APP
@READONLY-APP
@SYNC-APP
|
Q: Does the @DEFAULT
Action Tag work with fields hidden by Branching Logic?
No, the @DEFAULT
Action Tag is incompatible with branching logic, and it will not populate a field that's hidden when the form loads. REDCap populates default values to fields as instructed using the @DEFAULT
Action Tag when the instrument is rendered/loaded, but, if that field does not appear due to upstream branching, you will receive an error message.
Q: Do Action Tags that automatically collect data (e.g., @NOW
or @TODAY
) capture that information when importing data using the Data Import Tool?
No. The data import process will not trigger the Action Tags to populate those fields with data.
Q: Where can I find more information about Action Tags?
- Navigate to the "Project Setup" page.
- At the bottom of the "Design your data collection instruments & enable your surveys" section, click on the stylized "@Action Tags" link/button.
This will open a popup box that describes all Action Tags in greater depth.
Other methods for accessing this popup are:
- Opening any form on the Online Designer and clicking on the stylized "@Action Tags" link/button that appears in a static sidebar on the right.
- Editing or adding a field in any form.
- Scroll to the "Action Tags / Field Annotation (optional)" section at the bottom of the "Edit Field" or "Add New Field" popup box.
- Click on the stylized "@Action Tags" link/button that appears beneath the field that displays all Action Tags and/or annotations used for that field.
Q: What are Smart Variables?
Smart Variables are an extension of REDCap's variable-referencing functionality (e.g., [dob]
) that is often used in features such as Branching Logic and Piping. Instead of referencing a single static variable, however, Smart Variables allow you to dynamically reference other variables.
EXAMPLE
Instead of referring to a medication variable in a specific event (e.g.,
[baseline_arm_1][rx1]
), you can refer to it like so:
[previous-event-name][rx1]
The meaning of that reference changes depending on the event you are in, which allows you to build more elegant Branching Logic or calculations.
Q: What is the difference between names and labels with Smart Variables?
With Smart Variables, name of the variable will pull the official REDCap name for the Data Access Group, record, event, or instance. This is what you will need to use if you are trying to pull information in a calculation or Piping, just like you will need to use the variable name.
Label refers to the designation you've given a DAG, event, etc. (e.g., "Hospital 1" or "First Visit"). This is more useful when you are pulling information about the item itself, rather than trying to pull a specific data point from the item.
Q: Can Smart Variables be used with Action Tags?
Smart Variables can be used with the @DEFAULT
Action Tag.
When using the Smart Variable [survey-queue-link]
in a context where the current record does not yet exist (e.g., on the first page of a public survey), this Smart Variable will return a blank value, since the record does not exist yet.
Q: How do you use Smart Variables in Piping?
Smart Variables can be used in Piping in the same manner as static variables. You can use them to pipe information into field labels, survey invitations, or use them in conjunction with the @DEFAULT
Action Tag. You will just need to include the desired Smart Variable command in brackets either before the variable you are piping (such as when piping longitudinal items) or after (when piping from repeating forms). If you attempt to pipe information from the previous instance of/event with (i.e., [previous-instance]
) the first form or the next instance of/event with (i.e., [next-instance]
) the last form, the result will either be blank or appear as ______.
Q: Can Next/Previous instances refer to repeating instruments (forms) in a different event?
No. [previous-instance]
and [next-instance]
cannot be used to reference across events. [previous-instance]
and [next-instance]
only reference:
- An instance of a repeating instrument in the same non-repeating event or
- An event instance of a repeating event.
Q: Where can I find more information on smart variables?
For popup providing a full overview of Smart Variables and in-depth descriptions of all available Smart Variables,
- Navigate to the "Project Setup" page.
- At the bottom of the "Design your data collection instruments & enable your surveys" section, click on the stylized "Smart Variables" link/button.
Other methods for accessing this popup are:
- Opening any form on the Online Designer and clicking on the stylized "Smart Variables" link/button that appears in a static sidebar on the right.
- Clicking on the stylized "Smart Variables" link/button that appears underneath the "Variable Name" field when editing or adding a field in any form.
There may be variables on this list that aren't in use at your institution yet.
If you have any additional questions, contact your REDCap administrator.
Q: What is the Record Status Dashboard?
This is a table listing all existing records/responses and the status for every data collection instrument (and, in the case of longitudinal projects, for every event and arm). When viewing this page, form-level privileges are utilized (e.g., a user being unable to see a form’s status if they do not have access to that form). If a user belongs to a Data Access Group (DAG), they will only be able to view the records belong to the group.
NOTE
Since projects may now have many surveys, REDCap does not display a survey response summary on the "Project Home" page.
Q: How do I enter/view my data?
To enter data for or view individual records, navigate to the “Data Collection” section on the left sidebar that appears when you access the project. Depending on your project type, you will see "Record Status Dashboard" and “Add / Edit Records” links. The Record Status Dashboard lists all existing records/responses and the status for every data collection instrument (and, in the case of longitudinal projects, for every event and arm) and allows you to create new records. The "Add / Edit Records" page gives you other interfaces for viewing existing records through providing:
- A drop-down menu that allows you to search for records (by arm, if the project is longitudinal) and
- A "Data Search" option that allows you to search the project data by field. It also provides the option to create a new record.
This page also allows you to create new records.
You can also create searchable reports to view your data. REDCap reports query your database in real-time and display the resulting data in a table. When accessing reports, you can also click on the "Stats and Charts" button that appears at the top of the report to visualize your data. The "Plots" viewing option displays graphical representations for all numerical and categorical variables and gives you the option to overlay individual records (by record id and event) over the graphic for comparison. The "Stats" viewing option displays descriptive statistics for all variables in the report (e.g., minimum, maximum, mean), as well the total number responses and missing responses for that field.
Q: Can I edit survey responses?
Yes, survey responses CAN be edited so long as you have been given user privileges to do so. Once you have been granted the right to edit survey responses, you will see an "Edit response" button at the top of the form when viewing the response. After clicking that button, the response will become editable as normal.
NOTE
Since some institutions may choose not to enable this feature for their users, if an "Edit survey responses" checkbox is not seen next to the survey/form rights for that survey in the popup that appears 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. Once you've opened a form in a record, a section will appear in the left sidebar that displays the record id and all forms. (If there are events in your project, only the forms assigned to the event to which the form you're currently viewing belongs will be displayed.) To navigate between forms within that record (or that event for that record), click on the dot indicating the completion status (i.e., incomplete, unverified, and complete) of the form. 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 view the next form for the current record.
Q: Is there a way to delete a record?
Yes. You must first have been given the “Delete Records” right on the "User Rights" page. When you go to the "Record Home Page" for a given record, click on the "Choose action for record" drop-down menu and select "Delete record (all forms/events)." You will see a popup displaying the following message:
Are you sure you wish to PERMANENTLY delete this record and its data? This will delete ALL DATA for ALL EVENTS.
This process is permanent and CANNOT BE REVERSED.
Click on the "DELETE RECORD" button at the bottom of the popup to confirm.
Q: Is there a way to delete data for just a record’s form or event (not the entire record)?
Yes. You must first have been given the “Delete Records” right on the "User Rights" page.
To delete the data entered for a single form, scroll to the bottom of the form and click on "Delete data for THIS FORM only." You will see a popup displaying the following message:
Are you sure you wish to PERMANENTLY delete this record's data on THIS INSTRUMENT ONLY for THIS EVENT ONLY?
This process is permanent and CANNOT BE REVERSED.
Click on the "Delete data for THIS FORM only" button at the bottom of the popup to confirm.
To delete all the data from an entire event,
- Go to the "Record Home Page" of the given record.
- Scroll to the final row of the status table (i.e., "Delete all data on event").
- Click on the X in the column corresponding to the event that you want to erase for this record.
This will reset all forms for that event for that record.
Q: Why does a value appear in calculated fields only sometimes during data entry?
Depending on your internet browser, sometimes calc fields make preliminary calculations during data entry. You must save your work to correctly calculate the expression and commit the data to the database.
Use 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 forms that appear sequentially later 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.’
Q: What is Piping?
The Piping feature 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.
Q: What is the Double Data Entry module?
As a preventive measure, REDCap prevents users from entering duplicate records, but some projects may require that data be entered twice for each record to create two datasets that can be compared later as a way to ensure quality data collection. 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” on the "User Rights" page. These two users can enter data independently, which creates duplicate records, and they will not be able to access each other’s data. Once each designated data entry person has created an instance of the same record, both instances can be compared on the "Data Comparison Tool" page and merged into a third instance. Only normal users (called Reviewers) can merge the two separate datasets and see all three copies of the data.
Q: How do you set up Double Data Entry?
The Double Data Entry (DDE) module needs to be enabled by a REDCap administrator prior to data collection in the project. This module allows two project users or roles to be set as Data Entry Person 1 and Data Entry Person 2 on the "User Rights" page, so that they can 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 Data Entry Person 2. All other users are considered Reviewers; they have the ability to merge records created by Data Entry Person 1 and Data Entry Person 2 after viewing and adjudicating those differences using the Data Comparison Tool, thereby creating a third record in the set.
It is sometimes recommended to use Data Access Groups (DAGs) instead of the actual DDE module to implement a form of Double Data Entry. DAGs provide the advantage of allowing an unlimited number of users to:
- Be in a group and enter data,
- Utilize the Data Import Tool, and
- Access all Applications pages.
Discrepancies between double-entered records can be resolved by a “Reviewer” (i.e., someone not in a Data Access 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, the DDE module would be the more advantageous choice.
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.
EXAMPLE
After records “AA–1” and “AA–2” are merged to create record “AA,” the user in role Data Entry Person 1 can still make changes, but only record “AA–1” will be changed. Similarly, the person in role Data Entry Person 2 can only make changes to record “AA–2” when making changes. A person in role Reviewer can use one of two possible methods to make sure the edits are factored into both the individual and the merged record.
- It isn't possible to merge the two datasets again, but it is possible view and make manual changes to each record (including the merged record). It is possible to view all three records and edit them all like any record in a database, and the Data Comparison Tool would show the discrepancies between the three versions. The reviewer may then access the merged record and add data, but that information will not be added to either “AA–1” or “AA–2” unless they are opened separately and changed as needed.
- After deleting the merged record “AA,” let the Data Entry people make changes to their individual records 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 “Lock/Unlock Records” right for Reviewers on the "User Rights" page. The Reviewers can then lock records prior to merging. Without this right, data entry personnel will be unable to update to locked records without first contacting the Reviewer.
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.
- 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, an equals sign (=), and the value you wish to pre-fill in that question.
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, as shown below:
https://redcap.vanderbilt.edu/surveys/?s=dA78HM&first_name=Jon&last_name=Doe&gender=1&race___2=1&race___3=1
WARNING
This method is not considered secure for transmitting confidential or identifying information (e.g., SSN, name), even with SSL/HTTPS. If you wish to pre-fill such information, it is highly recommended to use method 2 (shown below).
- 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 ANY webpage on ANY server using an HTML form. 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 whose “name” attribute is the REDCap variable name and its value is the question value you wish to pre-fill on the survey page. The form field may be an input, text area, or select field. (The example below shows them all as hidden input fields that could presumably have been loaded dynamically, and thus do not need to display their value.)
EXAMPLE
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.
<!-- 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 -->
In this example, the only thing that would be seen on the webpage is the “Pre-fill Survey” button.
NOTE
These two methods are likely to be only used for public survey links, as opposed to the Participants List, because there is not a real opportunity to modify the survey links sent to participants via the Participants List, which REDCap automatically sends out as is.
Q: What is the Data Resolution Workflow?
The Data Resolution Workflow, often called 'data queries' in clinical trials and studies, allows users to open a workflow to document the process of resolving issues with data in the project It can be utilized either on a data entry form (clicking the balloon icon next to the field) or on the Data Quality page when finding data discrepancies. The Data Quality Module will then display a new 'Resolve Issues' tab, which will allow users to view all resolved and unresolved data queries and, thus, resolve any queries that are still open. Different user privileges may be given to users that control whether or not users can view, open/close, or respond to data queries.
To enable this tool,
- Click on the “Additional customizations” button under the "Enable optional modules and customizations" section on the "Project Setup" tab.
- Select the "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)?" checkbox.
- From the drop-down menu at the bottom of this section, select "Data Resolution Workflow."
When the Data Resolution Workflow is not enabled, 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.
Yes. The ability to edit or delete Field Comments is enabled by default. If users do NOT wish to allow this functionality, they may disable it for the project on the "Project Setup" page following the steps outlined in this question with one of the following possible changes:
- Make sure "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)?" is not selected.
- From the drop-down menu at the bottom of this section, select "Data Resolution Workflow" or "None" instead of "Field Comment Log."
Yes. All comments entered for the Field Comment Log and Data Resolution Workflow are logged on the "Logging" page.
Q: How do I make changes after I have moved my project to Production?
NOTE
Before you make changes to a project in Production, it is advised that you first download the current Data Dictionary so that you can revert to the current version after the desired changes are processed, if necessary.
Once a project is in Production, the following message will be displayed at top of the "Online Designer" and "Data Dictionary" pages.
Click on "Enter Draft Mode" to be able to make the desired modifications either through the Online Designer or upload an updated Data Dictionary with these changes.
When you enter Draft Mode, the following message is displayed instead of that shown in the image above at top of the "Online Designer" and "Data Dictionary" pages.
Before submitting your changes to the REDCap administrator, you can review your proposed changes in the Project Modification Module by clicking on “View detailed summary of all drafted changes.” This page contains a detailed list of forms and fields to be added and deleted as well as a quantification of the number of records that will be affected by the changes, displayed in the following format
There is also a detailed table that allows for a thorough comparison of each affected field before and after the edits are made. REDCap will flag any changes that may negatively impact your data with the critical warnings in red.
After reviewing your proposed changes, click “Submit Changes for Review” to have the REDCap administrator 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 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.
NOTE
To undo the proposed changes prior to submitting them to the REDCap admin, click on "Remove all drafted changes" in that yellow menu that appears at the top of the page and click it once again in the popup that appears to confirm your decision.
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:
- Do not change existing variable names, or data stored for those variables will be lost. To restore data that has been lost in this way, revert to previous variable name(s).
- Do not change existing form names via a data dictionary upload, or form completeness data will be lost. Form names may be changed within the Online Designer without data loss.
- Do not modify the codes and answers for existing dropdown, radio, or checkbox fields, or existing data will be lost or confused. It is only acceptable to add choices.
Q: For radio, 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 radio, checkbox and dropdown fields, can I delete response options?
Deleting choices from radio or dropdown fields does not change the data saved to the database, but it deletes the ability to select that option.
Deleting choices from checkbox fields deletes the data saved for that option ('0'=unchecked, '1'=checked), and it deletes the ability to select that option.
Q: For radio, checkbox and dropdown fields, can I modify/reorder 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.
The best thing to do when changing options 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.
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 other 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.
Q: How do I export my entire dataset?
- Go to the “Data Exports, Reports, and Stats” application (found under the "Application" section in the left sidebar).
- In the table titled "My Reports and Exports," click on the “Export Data” button corresponding to report A ("All data (all records and fields)").
- Make selections/complete info. in the popup that appears.
- Click on the "Export Data" at the bottom right corner of the popup.
Q: How do I create a custom report?
- Go to the “Data Exports, Reports, and Stats” application (found under the "Application" section in the left sidebar).
- Click on the "+Create New Report" button appearing at the bottom of the table titled "My Reports and Exports."
- Enter the report name in the "Name of Report" field.
- Complete all other fields as to configure the report desired.
- Click on “Save Report.”
Q: Can I add entire instruments to my report, instead of individual variables?
When creating a custom report, select the instrument that you want to add from the drop-down menu next to the prompt "Add all fields from selected instrument:", which appears in the header of the section titled "Step 2."
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 set report filters in the section titled "Step 3." Select the variable[s] and leave the value text box blank. Conversely, to find instances where the field has a value (i.e., is not blank or null), set the operator as ‘not =’ and leave the text box blank.
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" page.
Q: Can I restrict access to a custom report?
Yes. You can determine whether all users or only certain users can view and edit your report separately under the "Step 1" section. You can customize access based on individual users and DAGs.
Q: Can I include the survey identifier field and survey timestamp fields in my report?
Yes. Timestamps and survey id are not included in reports by default. You can enable the "Include the survey identifier field and survey timestamp field(s)?" option under the "Additional report options" sub-section of section "Step 2."
Q: Can I copy my report over to another project?
No. It's not possible to copy a report to another project if the project to which you want to send the copy of the report already exists. However, you have the option to copy all reports when creating a copy of a project.
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 (e.g., last name, date of birth, etc.). The second and third order layer will allow you to finetune your report more.
Q: What are the dark gray sections of my report?
When viewing reports of longitudinal projects, any fields displayed in the report that are not part of instruments designated for that particular event (i.e., that row in the report) will be grayed out. This makes it easier for users to determine whether 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 to Production, since in Development, all the applications function like they would in Production. Because changes in Production cannot be made in real-time, it’s best to make sure your database is tested thoroughly, including in the context of data export.
REMINDER
Real data should NOT be entered until the project has been moved to Production status.
Q: When exporting data from redcap into SPSS, will the variable codes that you’ve defined be automatically imported into SPSS (e.g., 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
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 (ALL, AND, BY, EQ, GE, GT, LE, LT, NE, NOT, OR, TO, and WITH) cannot be used as variable names.
Q: Can I export all my data as PDFs, or do I have to download a PDF for each subject?
You have the option to export data for all records in a project as a single PDF file.
- Go to the “Data Exports, Reports, and Stats” application.
- Click on the "Other Export Options" tab.
- Scroll down to "PDF of data collection instruments containing saved data (all records)."
- Determine whether you want a PDF or a compact PDF download and click on the corresponding option.
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: Since increases in font size using HTML tags are not reflected in PDFs, is there any way to increase the font size in the PDF?
No. REDCap strips HTML formatting when creating PDFs of instrument and data.
Q: Why don't non-English/non-Latin characters render correctly in exports?
If you’re using Microsoft Excel, it does not render all languages and characters unless multi-language updates are purchased. The OpenOffice.org CALC (free download) application lets you build a Data Dictionary, which you can save as a .csv file 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.
NOTE
REDCap does not render UTF-8 characters in PDFs.
Q: How can I retain the leading zeros of id numbers stored as a text field when exporting data from a REDCap database?
The leading zeros in export files are discarded when opened in Excel but retained if opened 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 when reading 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 dataset 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 for use in presentations?
To download graphs as .png images:
- Access the report with the desired graphic.
- Click on the "Stats and Charts" button at the top of the report.
- There is a "Download image" button to the right of graphs that can be downloaded.
NOTE
Alternative options include:
- Printing the page 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 your word processing or slideshow presentation program (e.g., Microsoft Word and PowerPoint, respectively).
- Using the “Print Screen" feature (Alt + Print Screen in Windows or Ctrl + Cmd + Shift + 4 in MacOS) to copy an image of the graph to the clipboard and paste into your word processing or slideshow presentation program, where it can be manipulated as an image.
Q: Which 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 R (its default method – type 7) and Microsoft Excel.
Q: How do I import data from another source?
Data from another source can be imported using the Data Import Tool or the REDCap API (Application Programming Interface).
The Data Import Tool requires that data be imported in either of the following formats:
- CSV (Comma Separated Variables)
- CDISC (Clinical Data Interchange Standards Consortium) ODM (Operational Data Model)
NOTE
CDISC ODM is a specific XML (Extensible Markup Language) data format that is vendor-neutral and platform-independent for data interchange and archival. The XML must be ODM version 1.3.X.
The only requirement is that the record identifier (e.g., Subject ID) be the first field. The order of the remaining fields or the number of fields being imported does not matter.
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 as listed on your project’s "Define My Events" page. You can insert this field after the unique identifier (i.e., the second column), or you can add it to the end of your import spreadsheet (i.e., as its last column).
You can upload multiple-event data per subject.
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:
- Temporarily change the field type to text.
- Import the data.
- Change the field type back to a calculated field.
Q: How do I import form status (i.e., 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
0 |
Incomplete |
1 |
Unverified |
2 |
Complete |
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 Data Import Tool? Would increasing the server’s memory limit help?
Memory will always be limited for the Data Import Tool. This constraint largely 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. Thus, a 500KB .csv file may be too big to process, although the server memory limit for REDCap might be 256 MB.
A .csv file can be pretty small and yet use up a lot of memory, if you keep the columns for all of the variables (or rows) while only providing data for a few of the variables, and 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?
The encoding of the imported .csv file 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 (e.g., protocols, instructions, announcements). In addition, it stores all data and syntax files when data is exported 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, you can add a new user by either:
- Entering their username in the text box populated with the "Add new user" placeholder and clicking on the "Add with custom rights" button.
- Entering their username in the text box populated with the "Assign new user to role" placeholder and clicking on the "Assign to role" button, which will add them to the project with the title and rights associated with a particular user role.
Q: What are the User Rights that can be granted/restricted?
User Right/Privilege |
Access |
Notes |
Potential to Access Protected Health Info (PHI)? |
Data Viewing |
Grants user “No Access (Hidden),” “Read Only,” or "View & Edit" rights for each data collection instrument in a project.
You can also select the "Edit survey responses" option for surveys. This will cause the radio button corresponding to the "View and Edit" right for that particular survey to be selected by default. |
WARNING
This only pertains to a user’s ability to view or edit data on the web page for a particular data entry form. It has NO effect on what data is included in data exports or downloaded to a device*.
*REDCap is a web-based system. Users are responsible for data downloaded from REDCap to a device (e.g., computer, laptop, mobile device). If the data being downloaded is/includes 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 (e.g., HIPAA) for securing PHI.
|
YES. If a user's access to a form with PHI is “Read Only” or “View & Edit”, they will be able to view PHI. |
Expiration Date |
Automatically terminates project access for the user on the date entered. |
|
|
Project Design and Setup |
Grants permission to add, update or delete any forms within the project. Also allows user to enable and disable project features and modules. |
This should be enabled only for trained study members and limited to very few users in a project/study. |
|
User Rights |
Grants permission to change the rights and privileges of all users in 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 this right to team members should be a carefully thought out decision. The consequences of poorly assigning this privilege could be damaging to both the security and integrity of your project. For instance, giving "Delete Records" or "Project Design and Setup" rights to an unqualified person could result in data loss or database integrity issues.
|
YES. A user with this privilege can change own User Rights and grant access to any module that allows them to view or download PHI to a device. |
Data Access Groups |
Grants permission to create and add users to Data Access Groups. Users with this right should NOT assign themselves to a Data Access Group; they will lose permission to update Data Access Group assignments. Users with this privilege should be able to see all project data, regardless of group. |
For multi-site studies this provides the ability to place barriers between data gathered from different sites (i.e., group A cannot see, export, or edit group B’s data). |
|
Data Export |
Grants permission to export all or selected data for each data collection instrument to one of 5 default programs (SAS, SPSS, R, Stata, Excel) as “No Access,” “De-identified,” “Remove All Identifier Fields,” and “Full Data Set."
Export rights are set to "De-Identified" by default. De-identified access shifts all dates, even if they are not marked as identifiers. Non-validated text fields and note fields (i.e., free text) are also automatically removed from exports.
“Remove all tagged Identifier fields” only removes fields marked as identifiers. It does NOT automatically remove non-validated text fields or field notes and does NOT date shift. In reports and API data exports, “Identifier” fields will be removed from the export file. In the PDF exports, Identifier fields are included, but indicated as "[*DATA REMOVED*]". |
WARNING
The efficacy of the “De-identified” and “Remove All Identifier Fields” options is contingent upon correctly flagging identifiers. 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. Users with "Full Data Set" export rights can export ALL data from All data collection instruments. (See Data Exports, Reports, and Stats for additional info.) |
Add/Edit/Organize Reports |
Grants permission to build reports and to view ALL reports (but not necessarily all data in the reports). If a user does not have access to a data collection instrument from which the report is pulling data, 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 permission to view simple statistics about each field in the project in real-time. If a user does not have access to a data collection instrument, that instrument will not be listed. |
Finding and clicking on outliers 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. |
Survey Distribution Tools |
Grants permission to manage Public Survey Links, Participant Lists, and Survey Invitation Logs. |
|
YES. Email addresses, which qualify as PHI, may be listed for Participant Lists and Survey Invitation Logs and can be downloaded to a device. |
Calendar & Scheduling |
Grants permission to track study progress and update calendar events (e.g., 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 permission 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 permission to see two selected records side by side for comparison. NOT linked to Data Entry Rights or Data Export Tool Rights. |
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 by users with access to this module. |
Logging |
Grants permission to view a log of all actions by all users (including participants) and all affected fields and records. This is the audit trail for the project. |
Useful for audits. |
YES. ALL data entered, modified and changed is listed in module, can be viewed and downloaded to a device. |
File Repository |
Grants permission to upload, view, and retrieve project files and documents (e.g., 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 permission to find data discrepancies or errors in project data by allowing users to create, edit, and execute data quality rules. If a 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 permission to add records and data to database. |
Basic tool and need of data entry personnel. |
|
Rename Records |
Grants permission to change key id of record. |
WARNING
Should only be given to trained staff, as it can cause problems in data integrity.
|
|
Delete Records |
Grants permission to remove an entire record. |
WARNING
Records deleted are records lost. Few, if any, team members should have this right.
|
|
Record Locking Customization |
Grants permission 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 permission to lock/unlock a record from editing. Users without this right will not be able to edit a locked record. Users will need their Data Export right set to “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. This right is set separately for individual instruments and entire records. |
Yes. Depending on Data Entry Rights, PHI can be viewed. |
Q: Can I restrict a user from viewing certain fields?
You cannot selectively prevent a user from viewing certain fields within a form. 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.
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. Below is an illustrative example.
EXAMPLE
If users 1 and 2 have identical data entry roles, the "Create Records" and "View & Edit" rights would be assigned to both users. However, a particular project may require that they enter data on the same set of forms without seeing each other’s entries. This can be done by assigning user 1 to data access group 1 and user 2 to data access group 2.
Q: What are Data Access Groups?
Data Access Groups restrict viewing of data within a database. Data Access Groups are typically used in a multi-site studies 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 Export functionality 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. If the user is in a DAG, ONLY the records belonging to that user’s DAG will be exported.
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 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 Import functionality. For projects containing Data Access Groups, the Data Import Tool and API Import functionality 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.
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 advanced functions 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 in a true or false value in response to a condition..
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 used for Branching Logic.
Q: Why did my custom Data Quality Rule come up with zero results?
This means that none of your records match the criteria of your custom rule, either because you have no data integrity issues or your criteria are logically impossible (e.g., having multiple options in a radio field 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 for all forms in a project.
NOTE
Real-time execution can only be set up for custom rules, NOT for the predefined rules that come by default with every REDCap project (i.e., Rules A-I). Also, the real-time execution functionality only works on data entry forms; it does not work on survey pages or data imports (either via the Data Import Tool or via the API).
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 to notify the user, who can then take the appropriate action.
Q: Does real-time execution work for survey participants?
No, real-time execution is not enabled for surveys. It is only available for 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 a project and show you the number of records matching the criteria of the rule. A Data Quality Rule that is run through real-time execution runs automatically only for a record that is currently being worked once it's saved.
Q: Which mathematical operations can be used in the logic for Data Quality Rules?
+ |
Addition |
- |
Subtraction |
* |
Multiplication |
/ |
Division |
Q: Which functions can be used in Data Quality custom rules?
The Data Quality Module can perform many advanced functions for custom rules.
REDCap logic can be used for many functionalities (e.g., report filters, 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.
FUNCTION |
NAME/TYPE OF FUNCTION |
NOTES & EXAMPLES |
if (CONDITION, VALUE if condition is TRUE, VALUE if condition is FALSE) |
If/Then/Else conditional logic |
Returns a value based upon a condition. It returns the first value if the condition is true and the second value if it's false.
EXAMPLE
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”, returnSignedValue) |
Datediff |
Calculates 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), and
- “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 denotes the result to be signed or unsigned (i.e., its absolute value) and is set to false by default. This returns the absolute value of the difference. If [date1] is larger than [date2] , setting returnSignedValue is set to true will result in a negative value being returned.
If returnSignedValue is not set or is set to false,
- The result will ALWAYS be a positive number.
- The order of the dates in the equation does not matter, because the resulting value will always be positive. (The + sign won't be 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.
|
round (number,decimal places) |
Round |
EXAMPLE
To round 14.384 to one decimal place: round(14.384,1) will yield 14.4
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
roundup (number,decimal places) |
Round Up |
EXAMPLE
To round up 14.384 to one decimal place: roundup(14.384,1) will yield 14.4
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
rounddown (number,decimal places) |
Round Down |
EXAMPLE
To round down 14.384 to one decimal place: rounddown(14.384,1) will yield 14.3
NOTE
If a value is not provided for the decimal places parameter, it will be set equal to 0 by default.
|
sqrt (number) |
Square Root |
EXAMPLES
sqrt([height]) or
sqrt(([value1]*34)/98.3)
|
(number)^(exponent) |
Exponents |
Use the caret character (^) and place both the number and its exponent inside parentheses, as shown in the examples below:
EXAMPLES
(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).
EXAMPLES
abs(-7.1) will return 7.1.
abs(45) will return 45.
|
min (number,number,…) |
Minimum |
Returns the minimum value of a set of values, which are input into the function 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, which are input into the function 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, which are input into the function 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, which are input into the function 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, which are input into the function 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” (i.e., natural log). |
isnumber (value) |
Is value a number? |
Returns a boolean (true or false) for if the value is an integer (i.e., whole number without decimals) OR floating point decimal number. |
isinteger (value) |
Is value an integer? |
Returns a boolean (true or false) for if the value is an integer. |
contains (haystack, needle) |
Does text CONTAIN another text string? |
Returns a boolean (true or false) for if needle exists inside (i.e., is a substring of) the text string haystack. Is case insensitive.
EXAMPLE
contains(“Rob Taylor”, “TAYLOR”) returns true.
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 (i.e., is NOT a substring of) the text string haystack. Is case insensitive.
EXAMPLE
not_contain(“Rob Taylor”, “TAYLOR”) returns false.
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.
EXAMPLE
starts_with(“Rob Taylor”, “rob”) returns true.
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.
EXAMPLE
ends_with(“Rob Taylor”, “Lor”) returns true.
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.).
|
find (haystack, needle) |
Finds one text value within another |
Finds one text value within another. needle may be one or more characters long. Is case insensitive.
EXAMPLE
find('y', [last_name']) returns '3' if the value of [last_name] is 'Taylor'.
NOTE
The value '0' will be returned if needle is not found within haystack.
|
left (text, number of characters) |
Returns the leftmost characters |
Returns the leftmost characters from a text value
EXAMPLE
left([last_name], 3) returns 'Tay' if the value of [last_name] is 'Taylor'.
|
right (text, number of characters) |
Returns the rightmost characters |
characters Returns the rightmost characters from a text value.
EXAMPLE
right([last_name], 4) returns 'ylor' if the value of [last_name] is 'Taylor'.
|
length(text) |
Returns the number of characters |
Returns the number of characters in a text string.
EXAMPLE
right([last_name]) returns '6' if the value of [last_name] is 'Taylor'.
|
mid (text, start position, number of characters) |
Returns characters from a text string starting at a position |
Returns a specific number of characters from a text string starting at the position you specify. The second parameter denotes the starting position. The third parameter represents how many characters to return.
EXAMPLE
mid([last_name], 2, 3) would return 'AYL' if the value of [last_name] is 'Taylor'.
NOTE
The beginning of the text value is '1'.
|
concat (text,text,...) |
Combines the text from multiple text strings |
Combines/concatenates the text from multiple text strings into a single text value. Each item inside the function must be separated by commas. Each item might be static text (wrapped in single quotes or double quotes), a field variable, or a Smart Variable.
EXAMPLE
If the value of [first_name] is 'Rob' and the value of [last_name] is 'Taylor', concat([first_name], ' ', [last_name]) would 'Rob Taylor'.
|
upper (text) |
Converts text to uppercase |
Converts text to uppercase.
EXAMPLE
upper('John Doe') will return 'JOHN DOE'.
|
lower (text) |
Converts text to lowercase |
Converts text to lowercase.
EXAMPLE
lower('John Doe') will return 'john doe'.
|
trim(text) |
Removes spaces from the beginning and end of text |
Removes spaces from the beginning and end of text.
EXAMPLE
trim(' Sentence with spaces on end. ') will return 'Sentence with spaces on end.'.
|
Q: Can I use conditional statements in the logic?
Yes. You may use conditional statements (i.e., if 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 (e.g.,
[weight]=4
).
- Give the resulting value if it is true.
- Give the resulting value if the condition is false.
EXAMPLE
If the value of the variable
weight
is greater than
100, then a value of
44 will be given, but if
weight
is less than or equal to
100, then
11 will be given as the result.
if([weight] > 100, 44, 11) < [other_field]
if statements may be used inside other if statements (i.e., “nested”). Other advanced functions (described above) may also be used inside if statements.
EXAMPLES
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 (i.e., 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 on today’s date?
Yes, for example, you can indicate age
as rounddown(datediff(“today”,[dob],”y”))
.
NOTE
The value “today” CAN be used with date
, datetime
, and datetime_seconds
fields, but NOT with time
fields. This is different from datediff
in calc fields, where “today” 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 dateformat
(i.e., “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 assume that the fifth parameter (if provided) is returnSignedValue
instead.
Q: Can I create a copy of my project?
Yes. If you have the right to create/request new projects, follow these steps:
- On the "Project Setup" page, click on the "Other Functionality" tab.
- Scroll down to the “Copy or Back Up the Project” section.
- Click the "Copy the Project" button.
In this section, you also have the option to download the project's metadata individually or with data as an XML file ("Download metadata only (XML)" and "Download metadata & data (XML)" buttons, respectively). You can also opt to include Data Access Groups, surveys and survey settings, user roles, project dashboards, form display logic settings, and reports in the XML download.
NOTE
The exported XML file does NOT contain the project's logging history (i.e., audit trail); if you wish to obtain it, you may freely download it any time on the "Logging" page.
Q: How can I copy an instrument within a project?
To copy the form via Data Dictionary,
- Download the project's current Data Dictionary.
- Copy the relevant rows.
- Change the name of the form and the variable names on the new rows.
- Upload the new Data Dictionary.
On the Online Designer,
- Click on “Choose action” drop-down menu under the "Instrument actions" column on the row corresponding to the instrument you wish to copy.
- Select "Copy."
A popup message will appear that will allow you to name the instrument copy and provide the suffix that gets appended to each variable name (usually a version number) to prevent duplication of variable names.
Q: How can I copy instruments from one project to another?
- Download the Data Dictionary from both projects.
- Copy and paste the fields in the desired forms from the Data Dictionary in which they originally appear into the Data Dictionary of the other project.
You can do the same for data. Just export those fields from one project and then import into the other after uploading the revised Data Dictionary.
These modules and services must be enabled system-wide for your institution's REDCap subscription. If you do not have access to these modules or services, contact your REDCap administrator.
Q: What is the REDCap API?
The REDCap API (Application Programming Interface) allows external applications to connect to REDCap remotely and is used for programmatically retrieving or modifying data or settings within REDCap (e.g., performing automated data imports/exports from a specified REDCap project). More information about the API can be found on the REDCap API documentation page. For more information on the API, you may also contact your REDCap administrator.
NOTE
It is important to remember that when making requests to the REDCap API, you should always validate the REDCap server's SSL certificate to ensure the highest level of security during communication with the API. For details on what this means and how to do it,
see the 'API Security: Best Practices' page.
Q: What is the Data Entry Trigger?
The Data Entry Trigger is an advanced feature that provides a way for REDCap to trigger a call to a remote web address (URL) using an HTTP Post request whenever ANY record or survey response has been created or modified on ANY data collection instrument or survey in this project. Its main purpose is to notify 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 (e.g., making a call to the REDCap API).
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).
- username – The username of the REDCap user that is triggering the Data Entry Trigger.
NOTE
If it is triggered by a survey page (as opposed to a data entry form), then the username that will be reported will be [survey respondent].
- instrument – The unique name of the current data collection instrument. (All unique instrument names in a project are found in column B in the Data Dictionary.)
- record – The name of the record being created or modified. This 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 a record belongs (if the record belongs to a DAG).
- [instrument]_complete – The status of the record for this particular data collection instrument, which can be set equal to 0, 1, or 2.
For data entry forms,
- 0=Incomplete,
- 1=Unverified,
- 2=Complete.
For surveys,
- 0=partial survey response
- 2=completed survey response.
This parameter’s name will be the variable name of this particular instrument’s status field (i.e., the name of the instrument), followed by _complete.
- redcap_repeat_instance – The repeat instance number of the current instance of a repeating event OR repeating instrument.
NOTE
This parameter is only sent in the request if the project contains repeating events/instruments AND is currently saving a repeating event/instrument.
- redcap_repeat_instrument – The unique instrument name of the current repeating instrument being saved.
NOTES
- This parameter is only sent in the request if the project contains repeating instruments AND is currently saving a repeating instrument.
- This parameter will not be sent for repeating events (as opposed to repeating instruments).
- redcap_url – The base web address to REDCap (i.e., URL of REDCap's homepage).
EXAMPLE
https://redcap.fau.edu/
- project_url – The base web address of a specific REDCap project (i.e., URL of its "Project Home" page).
EXAMPLE
https://redcap.fau.edu/redcap_v12.5.11/index.php?pid=XXXX
NOTES
- The Data Entry Trigger feature is ONLY set off by normal data entry on surveys and data entry forms. It is NOT set off by data imports.
- 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.
Q: What is the REDCap mobile app?
The REDCap mobile app can be installed on an Android or iOS tablet or mobile device for offline data collection on that device. Once the device is reconnected with the internet, the data entered on the app will then be synced back to the 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 the internet service is unreliable. Once a user is given ‘REDCap Mobile App’ privileges in a project, the "REDCap Mobile App" link, which directs users to a page with the same name, will appear under the "Applications" section on the left sidebar. The "REDCap Mobile App" page lets you 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 later synced back to the project on the REDCap server.
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 is required.) However, project admins can secure instruments on their devices/apps so that participants can only enter data into a given instrument and cannot explore the rest of the app.
NOTE
The REDCap Mobile App currently does not support Field Embedding. If one or more data collection instruments in a project utilize Field Embedding to reposition fields on the instrument, embedded fields will unfortunately not look the same in the mobile app as they do on survey pages or data entry forms.
Q: How can I access the Mobile App?
Before users can use the mobile app for a project, they must first be given “REDCap Mobile App” right. Once you have this permission, the "REDCap Mobile App" link, which takes you to a page with the same name, will appear under the "Applications" section on the left sidebar. The "REDCap Mobile App" page contains links to download the app for Android and iOS devices and instructions for initializing that project in the app on their mobile device.
NOTES
- When a user creates a new project, they will be given “REDCap Mobile App” privileges by default.
- A user must have an API token for a given project to be able to set it up on the mobile app.
Q: What is the “Allow user to download data for all records to the app?" right?
Under the "REDCap Mobile App" right there is an additional privilege called “Allow user to download data for all records to the app?”, which specifically determines whether or not a user is allowed to download records from the server to the app. This option may be left unselected to prevent users from downloading lots of sensitive data to their mobile device. If a user is given this privilege for a project containing at least one record, the app will prompt the user to choose if they wish to download all the records to the app when initializing the project in the app.
Q: How does data sync between the app and the REDCap server?
If a user wishes to send data collected in the app back to the server, they will go to the “Send Data to Server” page in the app. If any 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 the app 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 that already has that id on the REDCap server.
There are many different scenarios in which a user might be prompted to make a decision, and the app is fully capable of providing the user with sufficient guidance so that they feel confident sending their data to the server.
Q: What is the remote lockout feature?
If a user sets up a REDCap project on the mobile app and then another user revokes their “REDCap Mobile App” user privilege on the "User Rights" page in that project, they will be locked out of that particular mobile project and unable to access it on their mobile device. This “remote lockout” method further protects data stored on mobile devices.
Additionally, a user's API token for the project can be revoked/deleted as another form of remote lockout, although this method is 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?
It isn't possible to create new projects using the REDCap Mobile App. The app’s purpose is to collect data offline that will later be added to an existing project. The project’s data collection instruments must be created and managed online.
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). Each app user collects data separately from the others, even if they are all accessing the same project on the same device. 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 that's utilized in more than one arm of a longitudinal project?
The randomization field is enabled for randomization in ONLY one event for a record (including all arms).
Depending on your project’s use case), a possible work-around is creating one “arm” for pre-randomization. This arm could include the eligibility, demographics forms, etc. up to the randomization form. After randomization, the participant can be added to 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 (the REDCap Library Oversight Committee) before it's made available?
An initial review is done and confirmation is obtained from the submitter that they do want to share the instrument to the library. A REDCap administrator then approves the submission prior to adding it to the library. The instrument is taken to REDLOC for review only if there are issues that the committee needs to discuss.
Q: If a user 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 to 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.