COVID-19 Surveillance Tracker Package Released

Hi Andrew

Its really hard to talk about best practice in these early days. What I would say is that many countries have experienced performance and stability issues with some of their large tracker deployments, so adding these modules into the mix would potentially make supporting specific issues difficult. So definitely from a support perspective, running on a separate instance, preferably with a separate database is the wisest thing to do.

If you have a an existing tracker implementation which is lightly loaded and performing well you could get away with merging this - with the additional risk that the new addition might introduce new instability into the original system.

The key to all of this is of course monitoring. There are far too few country systems which have proper monitoring in place where you can assess the performance of your database in particular, and rapidly identify any problems as they emerge. Because many existing systems are running blind like this it would definitely be safer to run the new modules separate to this.



Thanks Bob and Rebecca. I agree, let us consider having separate instance.

1 Like

Dear All,

In the installation of the COVID module, i observed that several Category Option Group set were named as Age in years (…) in the WHO dashboard metadata and again given the same name in COVID module even though the disagregation is different.

The above stops analytics from running and couses the resource table error
ERROR: column “Age in years (0-4, 5-14, 15-24, 25-34, 35-44, 45-” specified more than once

However, this is easy to fix: you have to go in the Category option group set and ensure that the names are different by either putting initials. The error would be Age in years is specificied more than once. Note that this only happens when you installed WHO dashboards in your instance.

I think while generating these metadata, it will be good considering the previous metadata names.

1 Like

I have imported the new meta-data (0.3.3) and re-imported old meta-data over it but I ended up with error

Failed to save the enrollment to the server (Interface)

Failed to load resource: the server responded with a status of 500 () (Console)

{"httpStatus":"Conflict","httpStatusCode":409,"status":"ERROR","message":"At least one organisation unit must be specified"} (Server Response)

Dear All,

I installed the COVID-19 packages on my local maching, Windows 10, Tomcat 9 and PostgreSQL 12. DHIS2 installed successfully following this blog

All metadata packages can be imported into the new instance version 2.33.2. Including the organization unit from different instance. Aggregate and Event packages are running. But, CBS, Contact Tracing and Port Entry could not load organization unit tree and the program tracker metadata and showed this error:

I pushed to search orgunit in the tracker Capture apps, and select an orgunit that has been assign to the program, then the program tracker lists appeared. I select a program, submit data (program attribute, program stage, relationship), everything looked fine. But when I returned to the Tracker Capture apps, the recorded data not appeared in the list, and showed this error:

Trying to find solution in several threads Tracker capture app not loading dhis2 version 2.30 and Tracker Program Stage Loads Forever, still cannot solve the problem.

I checked in the database there was attribute data value at “trackedentityattributevalue” table. I assumed data was recorded in the database.

Any help would be appreciated.

Thank you

Hi Andrew,
Thanks for reporting this! We discovered the issue is that the first n characters of the names are identical (even though not entirely identical).@omielp has updated the name of the Cat option group set and it will be included in the next package release.

1 Like

Hi Gysanjaya,
Please refer to Failed to load metadata Error. It looks like the same problem and it was solved by stephocay


Thank you @omielp
I tried several scenario for server.xml: relaxedQueryChars="[]" (without comma), then change with comma relaxedQueryChars="[,]" and relaxedQueryChars="[,],|"
The Tracker App can load Organisation Unit and Program Metadata, I can register new data, add relationship and it recorded in the table “trackedentityattributevalue” and “trackedentitydatavalueaudit”. However, it still failed to list the data that has been captured when I return to tracker capture app, similar error as above 2nd picture.

In addition, after Clear Cache, it ended up with loading orgunit tree and the program metadata again. I had to trigger from Capture Apps (event program), entry a data value then open Tracker Capture Apps from the capture app. It is weird since Event and Agregate package running well.

Still looking for the solution, if anyone ever had similar problem and find out the solution, please share

Thank you

1 Like

Try with these two lines


Not sure if is going to work, but worth a try. I did for me if you are using tomcat 8 or 8.5

1 Like

Sorry, it should look like the image below


1 Like

Dear Martin

Sorry for late reply. We are in a fluid situation with COVID19 surveillance implementation. The COVID19 surveillance system we customized for our local need and getting new directives each day; and controlling them is quite difficult for many reasons. We find that LAB Request and Test result stages are not being used and after bringing to the attention of DG it is started moving. Today we completed one to one refresher training with all LABs. But the ‘Health Outcome’ (stage 4) is not yet updated by the facilities and will be the main trigger point to push data to the MCCOD module. In Bangladesh COVID19 is under surveillance system, so run as different instance.

Theoretically we can push these data of the deceased to MCCOD module but need clear guidance from WHO, how to fill the immediate case and others, because immediate cause can be widely varied; COVID19 can be underline cause. We can push some attribute, but I am not sure how useful that might be, because many parameters (like NID, BRN) was not filled at all. Also, SOML classification is required in which group this COVID19 data should be. We are waiting for WHO guidance to linking two system and our NMTWC approval.

Stay safe

Kind regards


1 Like


I am interested in installing DHIS2 COVID-19 tracker?

We would like to use your COVID19 open source software mobile app and web portal.

Please see how you can help us add value to

We are looking for assistance to install COVID-19 surveilance tracker. If possible what is the work-around for shared-hosting without ssh access?

I think your best action would be talking to your system administrator and making sure you have a web server (Apache/Nginx), Tomcat and PostgreSQL.

With Apache/Nginx forwarding to Tomcat you could have it all ready as both Tomcat and PostgreSQL provide access via a web interface.

You should also make sure that the Tomcat is configured as explained in the system administrator guide (

You will also have to ask them to include the PostGIS extension for Postgresql, which is often not there in generic hosting.

1 Like

Hi Jaime,

Seems our shared hosting does not meet the requirements and I was wondering if you may create an instance/tenant for us in your server which we can point our domain records to instead?

That will allow us to access it at as a CNAME or IP pointing to the instance. I’m not technical with installation like this.

Hi @coronassist. DHIS2 does not provide hosting services, so that is something you will have to arrange yourselves. You can find out more on the Hosting page of our website: – this page also includes information on two service providers who offer managed hosting for DHIS2 instances. If your current hosting solution is not adequate, you may want to consider contacting them.

1 Like

Hi @maxk . Thanks the managed option works for us. I will give it a shot and dive into the mobile apps because thats where my strength is native android and ios.
will keep you posted and read more about FAQ in the community.

1 Like

A post was split to a new topic: Africa CDC Webinar: Leveraging the DHIS2 platform for COVID-19 surveillance data use

Hey @Gysanjaya did you manage to crack this?