Problem on Programs rule after upgrade to 3.6 and above

Hello everyone, we have problem with programs rule after upgrade system from 3.34 to 3.36, we don’t have any problem related to rule in sysLog, but after remove all program rule or all action for this program using API, problem solved but we need this rule and nothing wrong inside this program rule.

All details are in the attached screenshot







2 Likes

Did you try to clear the cache then run analytics tables and then run analytics tables again? Could this be an issue with the database since the datavalues for the events are not being found? Are you able to find them using the API?

I don’t think this is the issue, but trying this PR doesn’t work either, right?

d2:hasValue(#{COD_Cause of Death D ICD10 Diagnosis}) == false

Thanks!

1 Like

I try every thing to solve this problem but still not solved, just solve when remove all Program Rule.
Any suggestion

Hi @SalehAbbas !

Have you tried specifying the program stage for the program rule to trigger?

This is done in Step 1: (Enter program rule details).

Trigger rule only for program stage →

If this does not help, we need to investigate the issue a little bit deeper.

Kind regards, Yury

2 Likes

Thanks @YuryR,

I tried to specified the program stage for program rule but problem not solved,
the main problem is program build from another team without documentation.

last time I make a small documentation for every program rule with it’s condition and action using python from API, after that I noticed many of rule action is “” I remove it and solved most of problem, still I have same popup but it’s less than before.

From excel I noticed many of data element how still have problem his type is (Yes only) and define the rule action every time as a new shape like [ true or 1 or Yes ] or type is Yes/No but assign as 1 or YES or true.

I think all problem for our case is program rule action, I search about documentation for program rule action or program rule condisions but I don’t found, can you help me for solve this problem.

After that are you suggessing to spacifing the program stage for all rule is better? and specify program stage for how we need assign value to or for program stage we need give the value from?

The last thing i need to say if you have a query or code or any thing to solve program rule automatically or give us a overview on all program rule and it’s problem.

in attached screenshot is the last data element and program rule how still have problem.

Thanks again.

@YuryR ?

Hi, sorry for delay.

Re: program rule and program rule action documentation, there is some information here:

RE: program rule actions
If I understand you correctly, you would like to assign values to “YES only” and “YES/NO” data elements.

Her are the values to assign:

For “Yes only”

‘’ == no value
‘0’ == true (Yes)
‘1’ == true (Yes)
‘true’ == true (Yes)
‘false’ == true (Yes)

For “Yes/No”

‘’ == no value
‘0’ == false (No)
‘1’ == true (Yes)
‘true’ == true (Yes)
‘false’ == false (No)

When you check the values in program rule expressions, for Yes only, you need to check:

d2:hasValue(‘YOUR_PRV’)
or
#{YOUR_PRV} == ‘true’/‘1’/‘0’/‘false’

I hope this helps.

3 Likes