Program rules not working on 2.30

Dear users,

We recently downgraded from 2.31 to 2.30 because the instance was not working on our android capture application, we have observed that the program rules we’ve set don’t work correctly in the tracker capture application. An example is, on a particular data element, when the option “no” is selected a couple of other data elements are supposed to hide, they don’t, similar errors occur with a couple of the program rules set, most especially the ones that hide or reveal items (other data elements). I have tested it in DHIS2 2.29 and 2.31 it worked fine until at some point it began to malfunction again. I was wondering if someone in here has ever experienced something similar or has a solution.

Thanks,

David

4 Likes

Hi @dqve,

Did you test this on the web app or the android app for DHIS2 2.30- (assuming this is the version you are currently using)?

Best,
James

Hello @jomutsani,

Yes, I did test the program rules on the android application, the and the issue persist. Could it be an issue caused during the program rule creation?
I’ll anticipate your reply.

Yours,
David

1 Like

@dqve - Kindly try testing it on the Web interface of DHIS2 and let us know if the issue still appears.

Best,
James.

I’m facing the same thing with android capture app. The program rules suddently stopped working with version 2.29, I’ve upgraded to 2.30 and still issue persists. However, the program rules work fine on web version but not on the android native app. What perplexes me is that i can’t reproduce this same issue on the demo server.:thinking:
Currently running Version: 2.30 Build revision: 56d3ab4

4 Likes

Hello @paleu256

I am experiencing a similar issue.
Program rules stopped working on the android capture app, but I can’t replicate the issue using the test instance.
Have you been able to find a fix for it?

2 Likes

I haven’t yet got around this. This issue has been raised by many. Am sure there will be a fix. Lets wait for version 1.2.

2 Likes

Hi @Uaa, @paleu256, and @dqve,

We would need some more details to help you debug your problem. We recommend you to report your errors to Jira with details on:

  • The steps to reproduce the error.
  • Mobile device
  • Android OS version
  • DHIS2 version

Please also check Android Documentation. It is now updated and in case you notice some screens look different, Kindly note that it is a design change, not a functional change.

The @dhis2-android team too will also have a look and advise.

Best,
James.

2 Likes

Hi @Uaa, @paleu256, @dqve,

As @jomutsani has said, please report to jira so we can provide a better follow up. In addition (as it seems you could not replicate it in the demo servers), if you could share with us some credentials for your testing server we could get faster to a solution (ppajuelo@quadram.mobi or marta@dhis2.org).

Thank you!

3 Likes

I will report this to jira. In the meantime, I’ve mailed the login credentials to our test server.

4 Likes

Hi @paleu256,

I’ve checked what is going on. The program rule “Hide HIV test result” has a sigle assign action which lacks the expression to evaluate and assign. The rule engine we are using does not expect this value to be null and therefore stops evaluation to avoid a crash.

Changing this will make them work again. Even so, we will add some kind of check to avoid it to happen.

Thank you!

4 Likes

Thanks @Pablo for digging this out. We’ve altogether deleted the rule and i can confirm that the issue has been resolved.:sweat_smile: We will have to re-program the rule better. This rule was meant to hide the ‘HIV test Result’ data element and assign it a value: ‘Positive’ if the value from most recent event is ‘Positive’. This has been helpful.

Much Appreciated.
Philip Aleu

3 Likes

Hi all,
Reading through this interchange - does this mean in general that if program rules are working just fine on the browser version, but are not working on the android app (release 1.2.3), it’s a configuration issue with the rules themselves and not a bug? Is there a simple fix?
We have one rule to calculate and populate age field based on date of birth, and one to hide a field based on yes/no response, and neither is working. Both are using tracked entity attributes.
Thanks!
~Natalie

1 Like

Hi @Natalie_Tibbels,

If program rules are working on web and not working on the app it does not necessarily mean there are configuration issues. The rule engine calculations are different implementations for web and app and possible problems with the rules are handled in different ways.
My advice would be trying to check in the demo servers if those kind of rules works. If they do, check configuration, not only for the rule you are having problems with, but the whole program set of rules (Some rule actions with missing fields can cause problems and stop all rules execution).
If nothing else work, open a jira issue and we will have a look at it.
Thank you!

1 Like

Thanks! I’m assuming you mean log into the demo server FROM the android apps we are using? Good idea. Will keep you posted.

1 Like