Best practice for handling legacy tracker programs in DHIS2 analytics (disable or exclude from analytics tables?)

Hello DHIS2 community,

We have a DHIS2 instance with several tracker programs: A, B, C, and D. Currently, only program A is actively used, while programs B, C, and D are legacy programs that are no longer in use but still exist in the system.

Our question is whether there is a way (either through configuration, the DHIS2 UI, or directly at the database level) to exclude these legacy tracker programs from analytics processing, so that analytics tables and related aggregations are only generated for program A.

Specifically:

  • Is there a supported way to “disable” tracker programs from analytics without deleting them?
  • Can this be controlled via program settings (e.g., program status, access, or flags)?

we want to avoid unnecessary processing of old tracker data while keeping the historical programs available for reference.

We are mainly concerned with impact on analytics tables (e.g., event analytics / tracker analytics tables) and performance during analytics table generation.

Any best practices or recommended approaches would be appreciated.

Thank you!

Hi @hernandezmachava! which version of DHIS2 are you using in this implementation?

Hi @ctejo,

We are using DHIS2 version 2.41.8.2

Thanks

Sorry, I thought that this was possible but I was wrong (I was not able to see it in the documentation). Maybe other people can jump here if they know how to do it.

Just in case, you can configure DE and TEA for being “not analyzable”, but not an entire program.

BTW, did you consider archive that unused programs (doing a backup/snapshot of the machine) and delete the program data and metadata from that dhis2 instance?

Hi @ctejo,

Thank you for looking into this and for the suggestions.

We’ll look into the option of configuring the relevant DEs and TEAs as not analyzable, where appropriate, to see whether that helps reduce the analytics workload.

Regarding archiving, our intention is to keep the legacy programs available in the same DHIS2 instance for historical reference. We were hoping there might be a supported configuration to keep the programs accessible while excluding them from analytics table generation.

If such a feature is not currently available, it could be a useful enhancement for implementations that need to retain historical tracker programs while optimizing analytics performance.

Thanks again for your help!

Hi @hernandezmachava

If you use Scheduler app, you can skip table types or programs to exclude from analytics.

Having feature to disable old programs or dataset would be great.

Hi @ezbarretos,

Thanks a lot for your response — that’s really helpful. We’ll look into using the Scheduler app to control which analytics tables and programs are included in the runs.

Appreciate you pointing us in the right direction!

Thanks @ezbarretos for the great pointer!