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>:
> 
> 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>
> Cc: DHIS Users <dhis2-us...@lists.launchpad.net>; DHIS 2 Developers list 
> <dhis2-devs@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 
> <https://launchpad.net/~dhis2-users>
> Post to     : dhis2-us...@lists.launchpad.net 
> <mailto:dhis2-us...@lists.launchpad.net>
> Unsubscribe : https://launchpad.net/~dhis2-users 
> <https://launchpad.net/~dhis2-users>
> More help   : https://help.launchpad.net/ListHelp 
> <https://help.launchpad.net/ListHelp>
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to     : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help   : https://help.launchpad.net/ListHelp

Reply via email to