Overview

Data prioritization automatically kicks in whenever you use a Group By clause.

Within each group outlined by your Group By clause, the query executor would implicitly:

  • Sub-group the data further by their Provider and their Source Type;
  • Keep only data from the sub-group that has the highest Source Type priority, or the highest Provider priority when multiple sub-group exists for the same Source Type.

Data prioritization works only in a Group By context.

If both the Provider and Source Type Source Columns are present in the Group By clause, the implicit Data Prioritization behaviour would be disabled.

Previewing the prioritization effect

You can experiment and preview the effect of prioritization using the Query API.

By specifying a list of provider slugs in config.provider_priority_overrides, you instruct the query executor to treat these providers as the highest priority — above the team provider priority — specifically in this query invocation.

Managing Provider Priorities

You can manage the provider priorities for each summary type through the Data Priority section of the Vital Dashboard.

A larger number indicates a higher priority.

Source Type Priorities

We use pre-assigned, non-configurable Source Type priorities that follow the general expectation of data reliability.

(sorted from highest priority to lowest priority)

  • lab
  • automatic
  • watch
  • ring
  • chest_strap
  • scale
  • cuff
  • fingerprick
  • manual_scan
  • phone
  • app
  • multiple_sources
  • unknown