Hi Mikhailo
We have exactly the same problem for LMIS. I do not know of any immediate plans but we have opened a roadmap issue 310 on 24.10.2024:
“Limit Tracker program events downloaded to a mobile device”.
Which is currently a “Roadmap candidate” which just means that it is under consideration for the future.
If you have access, it would be great if you can add an “Insight” or allow me to copy your exact posting to support the case:
Just in case you do not have access, I am posting my use case for you:
Use case (context)
Storekeepers using the DHIS2-RTS (Real-Time Stock management) application will record anything between 30-300 transactions per day which amounts to up to 100,009 transactions (events) per year. Currently DHIS2 allows limiting the number of events downloaded to a mobile device to be limited for Event programs but not for Tracker programs. Limiting the number TEIs (which is possible) is not an option as storekeepers must be able to effect transactions for all of the TEIs (healthcare products) in their OU (Organisation unit).
Eventually, the number of events which are downloaded from the central server to the local database on the mobile device will increase to a very large number. Without knowing how many events an average mobile device can handle, the concern is that, eventually, the number of events will increase to a level where the memory of the mobile device is exhausted and this will slow down and eventually stall the DHIS2-RTS. The concern is both for the DHIS2-RTS for recording transactions and for event data used for the offline, in-app analytics.
It is critical that for all TEIs the most recent event is available on the mobile device as the DHIS2-RTS uses a program rule to (re)calculate the stock on hand which is based on the stock on hand of the most recent transaction. However, for some items (TEIs) dozens of transactions may be entered every day while for other (slow moving) items, the most recent transaction might have been made months or even more than a year ago. Consequently, any kind of limitation using a time period is not suitable. Instead the number of events which are downloaded must be limited by a defined number for each TEI.
The ideal solution would be that DHIS2 limits the number of downloaded events for each TEI:
- last 14 days (or another configurable time period) if there were less than 100 events, otherwise
- most recent 100 events (or another configurable value)
As a DHIS2 user - storekeeper
When - Using the DHIS2-RTS application in Capture Android app on a mobile device and synchronising data from the central server to the local database (on the device)
I want to - limit the number of events which are downloaded (or “refreshed”) on the mobile device
So I can - avoid overloading the memory of the mobile device which eventually will slow down and stall the Capture Android app
Who faces this problem
All DHIS2-RTS users having used the DHIS2-RTS mobile app for a considerable amount of time.
How do they solve these problems today?
Currently the problem is only hypothetical as the DHIS2-RTS is only being implemented. But once a large amount of events are recorded, there will be no remedy. The storekeeper could delete all local data but as at least the most recent Event is indispensable for recalculating the current stock on hand, will have to synchronise all data. And as there is no feature for limiting the number of Tracker program events which can be downloaded, the storekeeper can only download all events. The choice is therefore between not synchronising at all which makes the DHIS2-RTS unusable or downloading all events which will, eventually, stall the mobile app and also make it unusable.
Consequently, eventually and inevitably the DHIS2-RTS becomes unusable.
The only work around would be to delete data from the central server which is not recommended. Moreover, all analytics for the period for which data was deleted would also be deleted.