March Developer Meetup Announcement: Tracker updates in DHIS2 v41

Hi everyone!

It’s time for our next meetup, happening 2024-03-14T10:00:00Z. This month it’s going to be all about Tracker and the changes coming to DHIS2 v41.

The DHIS2 Core Tracker team will join us and they will present the following:

  • The old tracker endpoints are getting deprecated in v41, and we want to talk about how to transition to and use the new /tracker endpoints.
  • The old tracker capture app will be deprecated in v41, and we want to showcase the new Capture app focusing on the possibility of extending the app with your own plugins.

But of course, plenty of more space for Q&A and additional information from the Tracker team.

Re-registration required

Starting with this meetup, registration has changed. A one-time re-registration is required. Previously we used a Google Form for registrations, however this has now changed to a Zoom Registration form. If you did not yet register in the past 2 weeks, you can do so now here:

Now that this meetup has happened, you can still register for upcoming meetups using the link below

Recording of the presentations here:


Hey everyone and thanks for joining todays developer meetup!

If you want to take a sneak peak at plugins, here are some resources that you can use to get started. You can try out the demo instance that I showed during the demo today. This demo instance is only temporary and could be removed at any time.

Use the live demo here

Documentation done as part of the PR (WIP):

Keep in mind that this is WIP documentation. If you feel like this is too technical, feel free to wait for our v41 release where it will be well documented for every level of difficulty.

Other resources that is nice to know:

Thank you so much everyone and feel free to ask any questions!



The recording has been uploaded!

1 Like

Hi :smile:

I am trying to follow up on an issue mentioned in the meetup. I am sorry but don’t remember the name of the person mentioning this issue.

Someone said that they cannot use the query parameter filter with null in the new /tracker endpoints which was working in the deprecated endpoints.

A request to the deprecated endpoint with a filter like this works

GET {{PROTOCOL}}://{{AUTH}}@{{HOST}}/api/trackedEntityInstances.json?program=IpHINAT79UW&ouMode=ACCESSIBLE&fields=attributes,trackedEntityInstance&filter=w75KJ2mc4zz:eq:John


GET {{PROTOCOL}}://{{AUTH}}@{{HOST}}/api/trackedEntityInstances.json?program=IpHINAT79UW&ouMode=ACCESSIBLE&fields=attributes,trackedEntityInstance&filter=w75KJ2mc4zz:null

which is the request that was sent to me does not work. filter=w75KJ2mc4zz:null is not valid leading to error "Query item or filter is invalid: w75KJ2mc4zz:null".

The same behavior is true for the new tracker endpoints.

The null and many more operators that are valid for filtering metadata

are not all supported by tracker irrespective of deprecated/new tracker.

Please let me know if this clarifies things for you :smile:


This clarifies the concern :+1:t5:.

@ivo So is there any workaround on how one could get the list of tracked entities that have null (no value) on some attribute?

create a yes/no indicator to check if that parameter has value or not. Once that is done then you can use linelist app to filter all records with null values ( if value is NO ) for any specific parameter.

@zubair that can work but the data will be coming from analytics API, I am interested in creating more like a working list using the tracker data without analytics. That’s where I initially thought the null operator could be of importance.

yes. A custom working list is the best way to go for it if it supports null comparison which it does not AFAIK. But maybe @Markus/@Joakim can tell us better.