DHIS2 Version 2.38.4.3 Capture app error

Hello everyone,

We have recently upgraded our DHIS2 instance to version 2.38.4.3. As a result of this update, there have been some negative impacts to our Tracker program. Specifically, I’ve observed that I can no longer perform data entry using the Capture app; instead, it’s only possible through the Tracker Capture app.

When attempting to save the entered data in the Capture app, I encountered an error message stating, ‘Error saving Enrollment.’ as seen in the image below.

Thank you for your attention to this matter.

Hi @Mr_jorge

Thank you for your post, and sorry to hear that an issue came up. The “Error saving enrollment” is a generic error and could be because of many reasons, so would it be possible to share more info about this issue from the logs?

A good start would be with the errors in the Network log, please open the DevTools (F12) and then click on the Network tab. After that, please select the red text in the Network tab and get the response as well as request errors (you’re free to hide the domain name).

Thanks!

@Gassim

1 Like

For perspective, the mandatory fields in were filled in for the TEI profile.

1 Like

I think I had that issue, do you use the “old” or “new” capture app ?
I noticed that the tei attributes were not in the correct place (on enrollments if I remember vs on the tei)

I switched back to the old capture web app and it worked.

if you open the developer tools before “saving” normally you can get the payload that was posted to the api/server in the network view.

1 Like

Hi @lillian1n2

Can you provide the “Response” log when you click on save button?

1 Like

It’s the json import report showing error and that 3 attributes were ignored.


image

I’ve redone data entry to take a screenshot to show.

1 Like

Thank you @lillian1n2 for posting the responses. It seems that there are missing values for the assigned mandatory Tracked Entity Type Attributes in your program. Can you check that there are values filled in all mandatory attributes and in the same format as configured.

1 Like

I would share also the “Payload” tab with what has been sent to the server.

I manage to reproduce a similar problem on my program but on a different version

  • dhis2 : 2.39.2.1
  • capture: Version 100.35.0 installed

it works well on the “legacy” tracker capture app.

you see that the attributes are in the “first enrollment” and not the on the tracked entity instance level.

note that it’s calling this api : /api/39/tracker?async=false
so I think it’s the “newer” api.

1 Like

Yes, they are filled. That is why I posted the capture app and the web browser response side by side.

When filling the same values on Tracker Capture, it works.

1 Like

Yes, I have also seen the tracker?async=false error. It throws a HTTP 409 error and then when you check on the browser side, the error is E1090 from import summary error codes.

@hanin.saadah does the new api expect the attributes on the enrollments ? or like the old one on trackedEntityInstance ?

my theory is that the capture app send an “invalid” payloads by putting the attributes on the wrong object.

Same thing on my end.

@Gassim can you help us here ?

The problem can be reproduced on play by adding a mandatory attribute to “Person” and then go to register a new person for instance in Child Programme.

2 Likes

Did we make any headway on this, community members? :grinning:

1 Like

Thank you @lillian1n2 for bumping this. I realize there is not bug issue created about this, and I was able to reproduce the issue following @superskip 's post above.

Thank you @here for contributing to this, and here’s the bug issue: [DHIS2-15967] - Jira

Please watch/vote/comment to receive notifications about any updates. Thanks!

2 Likes

The problem can now be solved by installing the latest version of Capture from App management.

I should mention there still remains an issue during program configuration to be aware of: If a TET attribute is mandatory one must remember to mark the same attribute as mandatory in the program as well, otherwise the field will not be treated as mandatory in Capture. There are plans to improve this, though not directly through the Capture app.

2 Likes