Challenges saving enrollments with large instances

Hello, we have an instance that has over 400 users and over 1,000,000 TEIs. We tend to face challenges when it comes to saving enrollments in the system especially at peak times for example toward the end of the quarter. The system takes very long to save the enrollment and sometimes throws the check import summary error. When we check the records throwing this error, we find they have been saved in the Tracked entity attribute value and tracked entity instance tables, but not in the program instance table (in essence the record is saved halfway and not attached to a program). This means that the unique identification numbers of this record then cannot be reused. We would like to know if anyone else has faced this before and any possible solutions to it?

@dkusiima thanks for sharing the challenge that you have faced! From version to version there are always performance upgrades so my question is what is the DHIS2 version number of the instance that you are using?

Do you face any issue saving a few number of enrollments and have you tried doing that while the Network tab in the Console (F12) is open? Does it throw any error or red line?

If you save only one or two exactly similar records to those that threw an error, would we still be facing the same issue? If not then it is not a performance issue, right?

I hope my questions help and probably give more insight into your instance and situation for any of the DHIS2 experts who would join the discussion.


Thank you for your response @Gassim . We are running version 2.34.2.

With the network tab, no error or red line is thrown. However, with good internet connectivity, it takes about 3 min to get to the tracked entity instance step and then 2 min to get to enrollments. This is about a 6-minute delay in saving (where there is good internet connectivity) which is a long wait for a data entrant who has many records to enter.

What happens is that sometimes, users get impatient and refresh the page, which then causes a check import summary error when they try to save the same record again. When we get into the database to check, we find that the record is saved in the tracked entity instance and tracked entity attribute tables but not in the program instance table.

Your assistance on this is highly appreciated.

1 Like

Hey @dkusiima,
You are welcome! I understand your situation, would you like to perform the same tasks on the latest supported versions to see if you are still facing an issue?

Additionally, I asked for support from the DHIS2 team and would like to quote @Ameen:

Iā€™d recommend an upgrade to latest patch version of 2.34 anyway- 2.34.6. And then see if there is any difference. There were quite some performance improvements along the way.
After the upgrade, if there is still any issues (hopefully lesser), we can assist them further.

@dkusiima, I recommend you upgrade, check out this post from @pmpdelcroix:


@Gassim Thank you so much for the support. We have upgraded to 2.34.6 and there is a bit of improvement in performance. We are still monitoring performance and will be sure to inform you if the challenge continues. Thank you for the support once again

1 Like

Great news! Hopefully there will definitely be performance improvements. Please feel free to ask any question on the CoP if you face any challenege, and definitely share your experience with the upgrade for the whole DHIS2 community of practice.

Thanks @dkusiima!