REDCap: Project Dashboards, Smart Functions and Smart Charts

Project Dashboards are pages with dynamic content that can be added to a project. In combination with Smart Variables, Smart Functions, Smart Tables and Smart Charts to produce simple aggregation or visualization of data collected in a project. Project Dashboards can be set with a public URL, allowing you to display information to people who are not REDCap users on the project, without needing to utilize surveys.

Navigate this Page:

Project Dashboards

Overview of Project Dashboards

Project Dashboards are pages with dynamic content that can be added to a project. Dashboards can utilize special smart variables called Smart Functions, Smart Tables and Smart Charts that can perform some basic aggregation of data in your project or display simple descriptive statistics or charts. See an example of a public project dashboard here: Project Dashboard Example

The Project Dashboard Link is the first listed in the REDCap Applications menu

There is a new menu on the left-hand navigation in REDCap where you can set up Project Dashboards. You can set up new dashboards and manage existing ones. If you have existing dashboards in a project, you will see a list of them. You can choose to view them, edit, copy or delete. Tip: If you are creating complex dashboards that have a similar structure, using the "Copy" feature can save you significant setup time!



Screenshot displaying a list of project dashboards.
The list of existing dashboards in a project. Use the "Copy" button to save setup time when creating multiple similar dashboards.



Screenshot of the location of the wizard button to the left of the project dashboard content

There is a new setup wizard to help you with creating a dashboard using the new smart variables. The syntax for using the new smart variables can be quite complex. The wizard provides an intuitive editor allowing you to select the variables you are interested in and how to filter them. The wizard will output the syntax that you need to insert into the dashboard. Make sure to copy the generated Smart Variable syntax before you exit the wizard. You can then paste into the location on the dashboard that you want the information to display. You can use the wizard to help you set up any type of smart function, chart or table. Note: Advanced formatting may require that you manually add parameters, especially if you are setting multiple parameters for a single smart variable.

Screenshot with a red box around the refresh link.
For logged in users, there is an easy-to-miss "Refresh" option in the upper right.

Data May be Slightly Out-of-Date in Dashboards: Project dashboards may be querying significant amounts of data in your project in order to give the results for aggregate functions or charts/tables. In order to not impact the overall performance of REDCap, project dashboards only check for updated data once every 10 minutes. At the top right of a dashboard, there will be an indicator showing when the data was laste cached. If you are logged in to REDCap and viewing a dashboard, you will see a "Refresh" link at the top right to automatically update to the most current data. You will only see the refresh button when the data is at least 30 seconds old. For public dashboards, there is no refresh link available.

Project dashboards are able to exported to a single-page PDF. Note: You can disable export of specific charts or tables by setting an optional parameter.

Note: Project Dashboards and Smart Functions, Smart Charts and Smart Tables do NOT currently work in the REDCap Mobile App (for offline data collection.) The REDCap development team is planning to eventually add these features to the mobile app, but at this time they will not function in the mobile app. (Reminder: The mobile app is intended for offline data collection. Dashboards will still be able to load within a browser on a mobile device that is connected to the internet.)

Privacy and User Rights in Project Dashboards

User Rights in Project Dashboards

You are able to set user-specific rights to access a dashboard. You can choose either specific users or specific Data Access Groups (DAGs)who can view a specific dashboard. This is similar to the access you can set for specific reports. Important notes on user access:

    • DAG Permissions are NOT applied by default: For a user assigned to a DAG, they will see all data for the project except for in these cases:
      • When a Smart Function/Table/Chart uses a unique report name as a parameter- if that report is filtered by DAG.
      • When using the optional parameter ":user-dag-name", then a user who is assigned to a DAG will only see data from their DAG.
    • A user does not need access to a report to see a dashboard based on the report. You must also restrict access to the specific dashboard to not allow users to view the data filtered by the report. This applies even if a user does not have access to the report.

Data Privacy in Project Dashboards

Screenshot showing message that there is insufficient data for display
Appearance of a public dashboard when there are less than 11 records.

Smart Functions/Tables/Charts are intended to display aggregate data. However, if there are a small number of records for a particular filter, then displaying values in a scatterplot could represent a threat to an individual's privacy if the information is displayed on a public dashboard. For this reason, the minimum number of records required to display Smart Functions/Tables/Charts is 11. If a public dashboard is loaded when there are very few records for certain categories, then a message reading [INSUFFICIENT AMOUNT OF DATA FOR DISPLAY] will display instead. If the message is clicked on, a pop-up about the minimum data requirements will display.

This setting does not apply for logged-in users and non-public dashboards. Smart Functions/Tables/Charts will always display for users who are authenticated (logged in), even if there are less than 11 records.

Make Your Dashboard Public:

When you are editing a dashboard, there is a section at the top that allows you to set the dashboard as "public":

Screenshot of public dashboard settings showing a dashboard set to public.
These settings allow you to make your dashboard public, and set a custom URL.

A public dashboard will have an automatically generated URL that you can copy and paste to share with others. You can also set a custom short link, which will start with https://redcap.link/.

A dashboard that is public will load for anyone who has the correct URL. However, a public dashboard will not show up in search engine search results.

Smart Functions, Smart Tables, Smart Charts

Smart Functions, Tables and Charts are new types of Smart Variables that can provide aggregate information across records. See our full reference of Smart Variables in REDCap for other types of smart variables that load contextual information.

Note:The new aggregate smart variables are able to aggregate simple information across records. However, they can also be used within a specific record (e.g. to create an average of a variable that is collected multiple times for one participant.) To do this you would set the optional parameter ":record-name" which would pull data only for the current record.

Smart Functions

Smart Functions are smart variables that evaluate data in a context-dependent way, but produce aggregate results. You can use Smart Functions to produce project-level aggregates (e.g. average and standard deviation for age of all participants) or to aggregate information within a record (e.g. aggregate

List of Aggregate Smart Functions:

The following Smart Functions will aggregate data for you. Specify one or more fields, and any optional parameters where indicated:

    • [aggregate-min:fields:parameters]: The minimum value of a field across all records in a project.
    • [aggregate-max:fields:parameters]: The maximum value of a field across all records in a project.
    • [aggregate-mean:fields:parameters]: The mean/average of a field across all records in a project.
    • [aggregate-median:fields:parameters] The median value of a field across all records in a project.
    • [aggregate-sum:fields:parameters]: The sum of all values for a field across all records in a project.
    • [aggregate-count:fields:parameters]: The count of all values in a field across all records in a project.
    • [aggregate-stdev:fields:parameters]: The standard deviation of a field across all records in a project.
    • [aggregate-unique:fields:parameters]: The number of unique values in a field across all records in a project.

Multiple fields may be used in each Smart Function, which will aggregate the values across all values for all of the fields. (e.g. if you have two different "height" fields for participants in different arms of a study, then you could list both variable names to get the average of all participants.)

Record Counts: Using the aggregate-count Smart Function on the unique record ID for a project will function in a special way - it will not count the literal number of data values in a field but will return the count of the total number of records in the field. This avoids artificially inflated record counts because of your project having a longitudinal setup or repeating instruments. This is an easy way to quickly display the total number of records in a project.

Smart Functions can be used in anywhere in a project where piping is permitted, including inside calculations, branching logic or report filters.

Smart Tables

Smart Tables are tables that automatically display aggregate descriptive statistics. A Smart Table will list the results of any or all of the following stats functions:

Screenshot of a Smart Table showing descriptive statistics for height, weight, race, and gender.
Example of a Smart Table
    • minimum
    • maximum
    • mean/average
    • median
    • sum
    • count
    • standard deviation
    • count of missing values
    • count of unique values

Smart Tables can be inserted with the Smart Variable [stats-table]. List the variables you would like to display as a parameter, separated by commas. (e.g. [stats-table: variable1, variable2] will display a table with variable1 and variable2 in separate rows.

Display Only Some Columns: By default, all columns are displayed in a Smart Table. If you would only like some columns displayed, then you can list them as a parameter using the following designations separated by commas: count, missing, unique, min, max, mean, median, stdev, sum. For example, [stats-table:field1,field2,field3:mean,max].

Prevent Export:By default, each table will have an "Export table (CSV)" link underneath it to allow download of the data displayed. If you would like to disable this feature for a specific table, attach ":no-export-link" to the Smart Variable. For example, [stats-table: variable1, variable2: no-export-link].

Smart Charts

Smart Charts allow you to display simple plots and charts utilizing aggregate Smart Function data. Note: Smart Charts have limited ability to display data that requires multiple filters or to track data over time. Smart Functions and Smart Charts do not have the power of statistical analysis or data visualization software. Smart Charts are most useful for simple categorical data.

    • Colors are preset and are not modifiable.
    • Accessibility: Smart Charts are automatically enabled with the option to switch to a color-blind friendly display.
    • When to Use: Smart Charts can be used anywhere in a project where piping is allowed
    • Click to Enlarge: When viewing a dashboard Smart Chart, it can always be enlarged by clicking on it.

Bar Charts

Description / Syntax Chart Display

Bar Chart with a Single Multiple Choice Variable

Smart Variable syntax for this chart:
[bar-chart:race]

Display of a bar chart for a race variable.

Vertical Bar Chart, Grouped by Another Variable



Smart Variable syntax for this chart:
[bar-chart:race,gender:bar-vertical]

Screenshot of a bar chart where a race variable is grouped by gender.



Line Charts

Description / Syntax Chart Display

Line Chart with Two Fields



Smart Variable snytax for this chart:
[line-chart:height,weight]

Screenshot of simple line chart for height versus weight.

Line Chart with a Third Variable for Grouping



Smart Variable syntax for this chart:
[line-chart:height,weight,gender]

Line chart with height and weight, grouped by gender.



Scatter Plots

Description / Syntax Chart Display

Scatter Plot of Two Fields



Smart Variable syntax for this chart:
[scatter-plot:height,weight]

Screenshot of scatter plot displaying height and weight.

Scatter Plot with a Third Variable for Grouping



Smart Variable syntax for this chart:
[scatter-plot:height,weight,gender]

Screenshot of a male/female separated scatter plot.



Pie Charts

Description / Syntax Chart Display

Pie Chart



Smart Variable syntax for this chart:
[pie-chart:race]

Screenshot of a pie chart displaying data for race.



Donut Charts

Description / Syntax Chart Display

Donut Chart



Smart Variable syntax for this chart:
[donut-chart:race]

Screenshot of a donut chart displaying data for race.



Optional Parameters for Smart Functions, Smart Tables and Smart Charts

There are a number of optional parameters that can be used with Smart Functions/Tables/Charts:

    • :R-XXXXXXXXXX Unique Report Name - For Aggregate Functions, Charts, and Tables, filter the data being used by appending a Unique Report Name. Next to each report on the 'My Reports & Exports' page is its unique report name, which has 'R-' following by alphanumeric characters. By default, all Aggregate Functions, Charts, and Tables will use the values of all records in the project, but if a unique report name is appended to any of them, only data from that specific report will be used. Using a report as a surrogate to filter data is a very useful technique of performing complex filtering logic for Aggregate Functions, Charts, and Tables.
    • :record-name - For Aggregate Functions, Charts, and Tables, filter the data being used to the *current record* by using the literal value 'record-name'. Note: This parameter will only work in a context where a single record is being viewed/accessed, such as on a survey page, data entry form, etc. This parameter can be used with any of the other parameters except unique report names.
    • :event-name - For Aggregate Functions, Charts, and Tables, filter the data being used to the *current event* (longitudinal projects only) by using the literal value 'event-name'. Note: This parameter will only work in a context where a single record/event is being viewed/accessed, such as on a survey page, data entry form, etc. This parameter can be used with any of the other parameters except unique report names.
    • :unique-event-names Unique Event Names - For Aggregate Functions, Charts, and Tables, filter the data being used to specific events (longitudinal projects only) by providing an event's unique event name (found on the Define My Events page). You may use one or more unique event names (comma-separated). Note: This parameter can be used with any of the other parameters except unique report names.
    • :user-dag-nameFor Aggregate Functions, Charts, and Tables, filter the data being used to the records assigned to the *current user's Data Access Group* by using the literal value 'user-dag-name'. Note: This parameter will only work in a context where an authenticated user belongs to a project and has been assigned to a DAG in the project (this excludes survey pages and public project dashboards). This parameter can be used with any of the other parameters except unique report names.
    • :unique-dag-names Unique DAG Names - For Aggregate Functions, Charts, and Tables, filter the data being used to the records assigned to specific Data Access Groups by providing a DAG's unique group name (found on the Data Access Groups page). You may use one or more unique DAG names (comma-separated). Note: This parameter can be used with any of the other parameters except unique report names.
    • :bar-vertical - Display a bar chart with the bars going vertically instead of horizontally (the default) by using the literal value 'bar-vertical'. Note: This parameter can be used with any of the other parameters.
    • :bar-stacked - Only for bar charts using two fields, display the bar chart with the bars stacked on top of one another for each choice. Whereas the default view is that the bars of each field are displayed side by side to show the color grouping. To enable this, use the literal value 'bar-stacked'. Note: This parameter can be used with any of the other parameters.
    • :no-export-link - Only for bar charts using two fields, display the bar chart with the bars stacked on top of one another for each choice. Whereas the default view is that the bars of each field are displayed side by side to show the color grouping. To enable this, use the literal value 'bar-stacked'. Note: This parameter can be used with any of the other parameters.




Keywords:REDCap, Project Dashboards, Dashboards, Public Pages, Charts, Smart Functions, Smart Charts   Doc ID:111590
Owner:Amy S.Group:SMPH Research Informatics
Created:2021-06-10 09:43 CSTUpdated:2022-08-09 13:11 CST
Sites:Institute for Clinical and Translational Research, SMPH Research Informatics
Feedback:  2   0