OData Feeds Overview
OData (Open Data Protocol) feeds is a standard protocol for consuming data services over the web, allowing for easy integration with a variety of analytics and reporting tools. OData Feeds enable real-time access to data within different systems and applications, facilitating the analysis, sharing, and manipulation of this data across various platforms.
OData is an open protocol that allows the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way. At this point, CommCare supports up to 25 OData Feeds at one time.
Current Supported Integrations
Below are our supported integrations with OData Feeds. Please note that OData feeds are not recommended to be used with Microsoft Excel, and support will not be provided for workflows that utilize the method.
Are OData Feeds Right for Me?
OData Feeds presents a number of benefits for users.
Real-Time Data Access: OData feeds provide real-time access to CommCare data, enabling up-to-date analysis and reporting.
Easy Integration: Easily connect CommCare with popular data analysis tools without the need for custom API programming.
Flexible Data Queries: OData allows for flexible querying of data, enabling users to specify exactly which data they need from their CommCare projects.
Standardized Protocol: As a widely adopted standard, OData is supported by a range of tools and platforms, ensuring compatibility and ease of use.
Performance Considerations
OData feeds is our entry-level solution for integration. It has been optimized for ease of use, so that non technical users can build quick integrations. Because of this, performance can vary depending on the data model, but generally speaking we have started to see performance issues start around 500,000 rows per case or form export configured via the OData feed.
If you are intersted in a data tool that can handle larger volume, we encourage you to check out the please consider using our CommCare Data Export Tool (DET) to build a CommCare → SQL DB → PowerBi/Tableau data pipeline. Our Data Export tool supports incremental refresh and is designed for enabling performant data pipelines.
Setting Up OData Feeds in CommCare
Log in to your CommCareHQ account.
Navigate to the project space where you want to enable the OData feed.
Go to Data > Export Data.
Choose the type of data you want to create an OData feed for (e.g., Forms or Cases).
Click on the + Create OData Feed button next to the relevant data export (just like you configure a Form or Case Export)
Copy the OData feed/s
On Power BI / Tableau Desktop, select OData Feed/OData as your connection type.
Enter your OData feed/s, and login using your CommCare credentials
Ensure you have the necessary authentication details, as OData feeds require authentication to access. If you are using 2FA or SSO, specify your API key as the password. Your API Key can be found under your My Account Settings.)
For PowerBI, use Basic Authentication
For Tableau Desktop: use authentication type 'Username and Password'
PowerBI Set-Up
Helpful Resources: Power Query OData Feed connector - Power Query
Tableau Set Up
Helpful Resources: OData
OData Feeds Best Practices
As you get started, below are a few things to keep in mind.
Secure Your Data
Ensure that access to your OData feed is secured and only available to authorized users. One way that you can do this is by setting up a web user read-only role limited to read OData feeds. To do this
Navigate to Users / Roles & Permissions
Click +Add Role at the bottom of the page
Provide a name to this role: e.g. Read-Only OData
Unselect all permissions except the ones below:
Export Form Data (if necessary)
Export Case Data (if necessary)
PowerBI/Tableau Integration
Allow role to access data from all locations
Save and assign this role to a user
Data Tips & Tricks
Below are some tips in configuring your data in CommCare to work with OData Feeds
Number Column: The "number" column in the OData feeds will export the case_id or form_id of the case instead of a serial number. This is because “numbers” usually shift around with pagination and when data being continuously updated. Case_ids or form_ids are the only ID that remain constant, and hence we’re using the case or form ids in the number column, so that when a refresh is done, the export is able to identify case or form ids that were previously exported, which then prevents duplicates.
Repeat Groups: If setting up an OData Feed for a form that contains Repeat Groups , you will also need to reference the additional feeds created for that repeat group data if it is of interest. Each repeat group will have its own OData URL. When querying Repeat Group OData URLs, the
limit
andoffset
parameters operate at the form level, meaninglimit=1
will return all responses within a repeat group for one form.
Bulk Delete Integration Feeds
The bulk delete OData integration feed gives you the option to bulk delete multiple exports at once.
These are the steps to bulk delete form export
In the Export Dashboard you will find a check box to select all or specific exports
On checking the box, you will notice a "Delete Selected Export" button becomes available on the left side of the page
Click on the "Delete Selected Export" button and you will be promoted to confirm the bulk delete action
Once Delete Export is clicked it will bulk delete the exports selected at once