One of CommCare's many built-in integration options is the Odata feed integration with Power BI and Tableau, which allows programmatic teams to automatically feed their CommCare data into either BI tool with a few easy steps.

As part of the WHO FFX template package, we created a template Tableau Dashboard to be downloaded and used by any organizations deploying the WHO FFX app. For more information on the Tableau product, check out their website.

Demo the live dashboard on Tableau Public


Download the template

You can access the live template and download the file directly from our Tableau Public page. You'll need the Tableau software to open the file on your computer. If you don't already have it, you can download Tableau Public Desktop for free from the link.

Please note that this requires a paid software plan that is an "Advanced Plan" or higher for CommCare (see pricing here). If you are not currently on a paid plan, please apply for a pro bono subscription here.

Report and indicator descriptions

This dashboard is a sample of what kind of information you can extract from your FFX template app. See the indicator and report descriptions below, and get inspired to grow and customize your dashboard to best meet your team's needs.


Report and Indicator Descriptions

Dashboard item

DescriptionIndicator Calculation

Total number of cases who were confirmed to be infected with COVID-19.Count of of covid_19_case cases with patient_case_status = "confirmed"

Total number of cases that are suspected to be COVID-19 positive.


Count of covid_19_case cases with patient_case_status = "suspected"

Total number of confirmed COVID-19 cases who were hospitalized.Count of covid_19_case cases with patient_case_status = "confirmed" and patient_was_ever_hospitalized = "yes"

Total number of confirmed COVID-19 cases who have recovered.Count of covid_19_case cases with outcome_status = "recovered"

Total number of confirmed COVID-19 cases who died.


Count of of covid_19_case cases with patient_case_status = "confirmed" and current_status OR outcome_status = "dead

Total number of suspected and confirmed COVID-19 cases over time (cumulative).Cumulative total of covid_19_case cases by date_of_first_symptom_onset, grouped by patient_case_status (confirmed/suspected)

Daily number of suspected and confirmed COVID-19 cases over time.Individual count of covid_19_case cases by date_of_first_symptom_onset, grouped by patient_case_status (confirmed/suspected).

Map of COVID-19 case GPS location.The patient_location case property stores the latitude, longitude, elevation, and precision of the case's GPS location (space-separated).


Deaths per age group among confirmed COVID-19 cases.

Count of cases that have either the variable current_status or outcome_status = "dead" among covid_19_case cases.

This information is then grouped by the property patient_age_years into 10 year bins.

Of confirmed cases, how many were followed up with (indicated by Form A2 being completed).Count of of covid_19_case cases with form_completed_a2 = "yes" / count of of covid_19_case cases with form_completion_date_a1 = "yes"

Of contacts registered, how many were followed up with (indicated by Form B2 being completed).Count of of covid_19_case cases with form_completed_b2 = "yes" / count of of covid_19_case cases with form_completion_date_b1 = "yes"

% of confirmed COVID-19 cases who were hospitalized at some point.% per response to patient_was_ever_hospitalized property for covid_19_case cases with patient_case_status = 'confirmed'


% of cases who had at least one recorded serology test result.Total number of cases tested who had at number_serology_tests < 0 among covid_19_case cases with patient_case_status = 'confirmed'

% of cases who had at least one recorded virology test result.Total number of cases tested who had at number_virology_tests < 0 among covid_19_case cases with patient_case_status = 'confirmed'



Setting up your dashboard

If you are on a Advanced CommCare subscription or higher, you can download this dashboard and set it up to automatically sync the FFX app data from your project space via the Odata feed integration. If you're on a Community plan, you can still use this dashboard and use a manually downloaded CommCare data export as your data source.

Find the instructions for your configuration steps below. Remember to reference the case type and properties documentation on the COVID-19 Template App: WHO FFX Protocol page as you dig into your data.



Steps to create manual dashboard

To create a manual dashboard

  1. Go to Data > View All
  2. Click "Export Case Data"
  3. Create a new case export for both the covid_19_case and contact case types
  4. Select a Date Range for the data you want to export
  5. Click "Prepare Export"
  6. Click "Download"
  7. In Tableau Desktop, go to Data → New Data Source → Select the import from Excel option to pull in your excel case exports
  8. Go to the worksheet imported and change the worksheet data source with the newly imported data source by selecting the Data-source that came with the worksheet right click and from the popup menu select replace data source. Perform the change and click OK.

  9. You'll then notice any calculated fields which were referring to the old data source become invalid and are marked with an exclamation point. You can quickly resolve the problem by replacing the field’s references following these instructions (see Replace Field References section).

Steps to create a dashboard integration (requires a paid plan)

To create a dashboard integration

Please note that this requires a paid software plan that is an "Advanced Plan" or higher for CommCare (see pricing here). If you are not currently on a paid plan, please apply for a pro bono subscription here.

  1. In your CommCare project space where you've imported your template WHO FFX app, go to Data > PowerBi/Tableau Integration and add an Odata Feed per case type and form you want to feed into your dashboard. This template was built using the covid_19_case and contact case types.

  2. Download the worksheet in the .twbx file above and open it in the Tableau Desktop software

  3. In the Tableau Desktop go to Data → New Datasource → Search for ODATA

  4. Input the URL from step 1 and login using your commcare username and API key as your password as per instructions provided here.
  5. Go to the worksheet imported and change the worksheet data source with the newly imported data source by selecting the Data-source that came with the worksheet right click and from the popup menu select replace data source. Perform the change and click OK.

  6. You'll then notice any calculated fields which were referring to the old data source become invalid and are marked with an exclamation point. You can quickly resolve the problem by replacing the field’s references following these instructions (see Replace Field References section).

To help get you started, check out this demo video on creating the Odata feed from CommCare HQ to connect to your Tableau dashboard.

  • No labels