← Back to team overview

dhis2-users team mailing list archive

Re: Generate scores using program rules, tracker capture web app

 

Thank you for the reply Markus,

I have created intermediate rules and assigned the value like the following
image.
[image: Inline image 1]

For the second part, I have created an expression which is always true (I'm
assuming to be)
[image: Inline image 3]
I have tried this and it doesn't show the score. I there any thing that I'm
missing. Please let me know, thank you for the help.

-Siva

On Fri, Nov 3, 2017 at 9:49 AM, Markus Bekken <markus@xxxxxxxxx> wrote:

> Hi there Siva,
> An important principle for the assign rules is that they should produce
> the same result every time if the input is unchanged.
>
> Here is a suggested approach to acheive this. It will require that you
> create a programRuleVariable for each data element that is going to be
> scored, and make rules that calculates intermediary scores - one for each
> data element to be scored. Then after the intermediary scores is assigned,
> you can sum the whole form.
>
> Rules for storing intermediate scores can be made like this:
> Expression: #{dataElement1} == 'correctOption'
> Action: Assign score(a number) to the program rule variable
> #{dataElement1Score}
> (you need to create a separate programRuleVariable that is called
> #{dataElement1Score}, and give it the source type "Calculated value".
> Give all these rules priority 1.
>
> Then you make one rule for calculating and assigning the sum:
> Expression: true (we want this rule to always run I presume)
> Action: Assign total score to the score data element. The expression to
> assign would be #{dataElement1Score} + #{dataElement2Score} +
> #{dataElement3Score} ...and so on, depending on the number of options that
> should score.
> This rule should be given priority 2, as it relies on the rules above to
> be run first.
>
> Please reach out if you have any questions or need further assistance on
> this.
>
> All the best,
> Markus
>
>
> > 2. nov. 2017 kl. 08.43 skrev abhishek addepally <
> abhishekaddepally@xxxxxxxxx>:
> >
> > Hi,
> >
> > I'm trying to generate a score based on the input provided by the user
> for a program stage. I have created a program rule expression where if an
> option is selected and then the rule action to increment the value for the
> score data element using the assign value function. This is done for
> different fields across the program stage. But when any option is selected
> the score variable increases. I'm using 2.27 of DHIS2.
> >
> > Please let me know if there is any way this could be done.
> >
> >
> > -Siva
> > <Capture.PNG><Capture1.PNG><Capture2.PNG>_________________
> ______________________________
> > Mailing list: https://launchpad.net/~dhis2-users
> > Post to     : dhis2-users@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~dhis2-users
> > More help   : https://help.launchpad.net/ListHelp
>
>

PNG image

PNG image


Follow ups

References