Lighter version of analytics

Hi there,
Is there a way or plan to have quick statistics for users without running analytics:

Case: The current analytics takes longer when there is a lot of data, and users at the facility need to report immediately after close of business daily especially for Covid-19 test results and vaccination.
For covid tests they need only 3 variables:
-Total number tested today

  • number of positive cases
  • number of negative cases

For covid vaccination they need:

  • Total number vaccinated

I wanted to check if there is a planned feature like this before starting developing an app that would facilitate this kind of quick analysis.
Most users use web and a small percentage use DHIS-2 android app.

Thank you.

Is this what you want ?

Continuous analytics table update

The analytics table scheduler now supports continuous updates of analytics tables, offering a “real-time analytics” experience. The delay between data being entered and data becoming visible in analytics apps can now be expected in seconds as opposed to hours or a day previously. Essentially a new table partition which holds the latest data is introduced which allows for quicker updates. Configure this in the Scheduler app by selecting the Continuous analytics table job type. The Delay in seconds field refers to the number of seconds in between each update of the latest data. The Full update hour of day field refers to the time of the day to perform the full analytics table update.

https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html#scheduling_continuous_analytics_table

Another option is settings up a sqlview but is much more complex

  • need to know the tables relations of dhis2 (and subtleties like soft deleted records, permissions,…)
  • knowledge of your programs,
  • depends on versions of dhis2 (in older dhis2 event values are in a seperate table, in newer they are in jsonb column)
1 Like

Bear in mind that the server must be fairly robust to operate in continuous analytics mode. Alternatively you might consider the SQL query feature that does a select count on the datavalues table if the data entered is not tracker data (remember to exclude deleted records). If you are using Tracker, it’s still doable in SQL but a little more complicated and probably depends on your program setup.