Hi Markus,

I tried both event and enrollment analytics. Neither of them worked.
I will report this as well.

Georgi

From: Markus Bekken [mailto:mar...@dhis2.org]
Sent: Monday, August 28, 2017 3:07 PM
To: Georgi Chakarov <geo...@logicaloutcomes.net>
Cc: DHIS Users <dhis2-users@lists.launchpad.net>; DHIS 2 Developers list 
<dhis2-d...@lists.launchpad.net>
Subject: Re: [Dhis2-users] HELP with program indicator/report

Hey again Georgi,
this seems like a bug with the d2:hasValue function. Using enrollment 
analytics, the intended outcome for 
d2:hasValue(#{programStageWithNoEvents.dataelement}) is false. Just making sure 
your program indcator was an enrollment program indicator - could you register 
this as a bug?

Markus

28. aug. 2017 kl. 12.01 skrev Georgi Chakarov 
<geo...@logicaloutcomes.net<mailto:geo...@logicaloutcomes.net>>:

Hi Markus,

Thanks a lot for putting thoughts into this! I also did.

I do have a pivotal data element, but regardless of the expression it wouldn’t 
work. This is because DHIS2 cannot evaluate a data element from an event that 
hasn’t been created.
Let’s assume that my entity is at second stage. This means that I have created 
events for the first and the second stage (the third stage will have event only 
when the entity passes at the third stage).
In this case the filter would be:
d2:hasValue(#{stage1.dataelement}) && d2:hasValue(#{stage2.dataelement}) && 
!d2:hasValue(#{stage3.dataelement}) && !d2:hasValue(#{stage4.dataelement})

I have tested this, but DHIS2 fails to produce a result because stage 3 and 4 
do not have events yet, thus the indicator cannot assess whether the pivotal 
data element in these stages has value or not.
Is this making sense?

So, I decided to play with tracked entity attribute values in the profile of my 
entity.
Markus, can I assign values to a tracked entity (with an option set), based on 
a data element value in a current stage?

Regards,

Georgi


From: Markus Bekken [mailto:mar...@dhis2.org]
Sent: Monday, August 28, 2017 11:30 AM
To: Georgi Chakarov 
<geo...@logicaloutcomes.net<mailto:geo...@logicaloutcomes.net>>
Cc: DHIS Users 
<dhis2-users@lists.launchpad.net<mailto:dhis2-users@lists.launchpad.net>>; DHIS 
2 Developers list 
<dhis2-d...@lists.launchpad.net<mailto:dhis2-d...@lists.launchpad.net>>
Subject: Re: [Dhis2-users] HELP with program indicator/report

Hi there Georgi,
We do not have a function that does exactly what you asked for, but hopefully 
we can find a way if we examine the data elements in your stages. Do the stages 
have a data element that is mandatory, or at least so pivotal that you can sue 
that data element to determine wether the event should be counted? If so I'd 
recommend looking at a program indicator with the analytics type enrollment. 
With this strategy you can make four program indicators that fullfills the 
explicit requirement for 1, 2, 3 and 4 stages:
Just first stage:
d2:hasValue(#{stage1.dataelement}) && !d2:hasValue(#{stage2.dataelement}) && 
!d2:hasValue(#{stage3.dataelement}) && !d2:hasValue(#{stage4.dataelement})
Just first and second stage:
d2:hasValue(#{stage1.dataelement}) && d2:hasValue(#{stage2.dataelement}) && 
!d2:hasValue(#{stage3.dataelement}) && !d2:hasValue(#{stage4.dataelement})
..and so on.

With the above strategy you would find every tracked entity that has followed 
the expected sequence of events. If you have any requirements for how to count 
the possible cases that deviates the normal(just stage 1 and 3 for example), 
the expressions might look different.

If there is no data element that you can use to proxy the presence of events, 
you will need a new function for checking events regardless of data. In that 
case, please report this as a Jira issue.

Markus

25. aug. 2017 kl. 12.11 skrev Georgi Chakarov 
<geo...@logicaloutcomes.net<mailto:geo...@logicaloutcomes.net>>:

Hello all,

I have a tracker program with 4 consecutive non-repeatable stages. Each new 
stage is created after completion of the previous stage.
I am trying to create a report/program indicator that counts the tracked 
entities at their latest stage. In other words, I want to know how many tracked 
entities I have at each stage without double counting.

For example, I have 10 tracked entities each of them starting at stage I. 2 
tracked entities progressed at stage II , 2 progressed at stage III and two 
progressed at stage IV.
My report should show (program indicator should calculate) that 4 tracked 
entities are still at stage I, 2 are in stage II, 2 are in stage III and 2 are 
in stage IV.

Do you have any idea how to build this one?

Georgi


Georgi Chakarov, CIA | 
geo...@logicaloutcomes.net<mailto:geo...@logicaloutcomes.net> | +1-647-478-5634 
x 104 | LogicalOutcomes c/o Centre for Social Innovation, 720 Bathurst Street, 
Toronto Canada M5S 2R4 | You may unsubscribe from receiving commercial 
electronic messages from LogicalOutcomes by emailing 
i...@logicaloutcomes.net<mailto:i...@logicaloutcomes.net>

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to     : 
dhis2-users@lists.launchpad.net<mailto:dhis2-users@lists.launchpad.net>
Unsubscribe : https://launchpad.net/~dhis2-users
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to     : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to