Calculation of conditional Indicators

What is the best approach for creating conditional indicators for routine/ aggregate data such as facilities reporting stock outs or facilities providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the custom form whenever the condition is found to be true, is there an alternative?

regards,

···

Sam Kasozi
+256 788-993-565

Skype: sam.kasoziug

2 Likes

Hi Sam,

You may consider collecting some of this data with single events
(routine surveys/assessments) and then use program indicators or event
data item aggregation to get the aggregate numbers you are looking
for.

Ola

···

-------
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /> <table
style="border-top: 1px solid #D3D4DE;">
  <tr>
      <td style="width: 55px; padding-top: 18px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
target="_blank"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
    <td style="width: 470px; padding-top: 17px; color: #41424e;
font-size: 13px; font-family: Arial, Helvetica, sans-serif;
line-height: 18px;">Virusfri. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
target="_blank" style="color: #4453ea;">www.avast.com</a> </td>
  </tr>
</table>
<a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div>
----------------------------------
Ola Hodne Titlestad (Mr)
HISP
Department of Informatics
University of Oslo

Mobile: +47 48069736
Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link

On 10 May 2017 at 10:01, Sam Kasozi <kasozis@gmail.com> wrote:

What is the best approach for creating conditional indicators for routine/
aggregate data such as facilities reporting stock outs or facilities
providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the
custom form whenever the condition is found to be true, is there an
alternative?

regards,

Sam Kasozi
+256 788-993-565
Skype: sam.kasoziug

_______________________________________________
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

2 Likes

Dear Ola,

Thanks for sharing this workaround, the two challenges may be wanting to keep same data with the aggregate data in entry because most of the time its within one form and may be inconveniencing switching between entry screens.

Remember we had suggested to write a script that can update single event data elements to use program indicators that can in turn be used as aggregate indicators for scorecard and BNA indicators.

From the core development team is ther as way we can use aggregate indicators or both data element in aggregate and events so as to use program indicators for this. Its becoming very critical for analysis of logistics, HR, Scorecard and BNA indicators.

The scorecard team is building up something John and Eric can share progress.

Regards

···

On Wed, May 10, 2017 at 1:14 PM, Ola Hodne Titlestad olati@ifi.uio.no wrote:

On 10 May 2017 at 10:01, Sam Kasozi kasozis@gmail.com wrote:

What is the best approach for creating conditional indicators for routine/

aggregate data such as facilities reporting stock outs or facilities

providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the

custom form whenever the condition is found to be true, is there an

alternative?

regards,

Sam Kasozi

+256 788-993-565

Skype: sam.kasoziug

Hi Sam,

You may consider collecting some of this data with single events

(routine surveys/assessments) and then use program indicators or event

data item aggregation to get the aggregate numbers you are looking

for.

Ola



<table

style=“border-top: 1px solid #D3D4DE;”>

    <tr>

  <td style="width: 55px; padding-top: 18px;"><a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank"><img

src=“https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

width=“46” height=“29” style=“width: 46px; height: 29px;” />

            <td style="width: 470px; padding-top: 17px; color: #41424e;

font-size: 13px; font-family: Arial, Helvetica, sans-serif;

line-height: 18px;">Virusfri. <a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank" style=“color: #4453ea;”>www.avast.com

    </tr>


Ola Hodne Titlestad (Mr)

HISP

Department of Informatics

University of Oslo

Mobile: +47 48069736

Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link


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


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

Prosper Behumbiize, MPH
DHIS2 Implementation| HISP Uganda

prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb

1 Like

Hello Prosper at all,

As discussed earlier, we’re working on rather complete solution to this problem, rather than work arounds, you can get a sneak peak, https://play.dhis2.org/dev/api/apps/function-manager/index.html

The idea is you function will serve as analytics, but gives you room to impose any sort of conditions with javascripts.

The app itself is functional but it’s not yet easy enough for mere-mortals.

But it should work the same manner, like indicators in pivot, that app above, essential, takes period, orgunit and data selections, passess them to a function a function works with the selections, and returns results in same format as analytics would, and the app picks the results again, and draws it.

Plan is to have it as stand-alone solution reusable anywhere, but it will also be standard integral part of scorecard.

Again, it’s still work in progress, we’ll take feedback, once it’s usable enough for rollout.

Cheers.

···

On Wed, May 10, 2017 at 1:26 PM, Prosper BT ptb3000@gmail.com wrote:

Dear Ola,

Thanks for sharing this workaround, the two challenges may be wanting to keep same data with the aggregate data in entry because most of the time its within one form and may be inconveniencing switching between entry screens.

Remember we had suggested to write a script that can update single event data elements to use program indicators that can in turn be used as aggregate indicators for scorecard and BNA indicators.

From the core development team is ther as way we can use aggregate indicators or both data element in aggregate and events so as to use program indicators for this. Its becoming very critical for analysis of logistics, HR, Scorecard and BNA indicators.

The scorecard team is building up something John and Eric can share progress.

Regards

Prosper Behumbiize, MPH
DHIS2 Implementation| HISP Uganda

prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb

On Wed, May 10, 2017 at 1:14 PM, Ola Hodne Titlestad olati@ifi.uio.no wrote:

On 10 May 2017 at 10:01, Sam Kasozi kasozis@gmail.com wrote:

What is the best approach for creating conditional indicators for routine/

aggregate data such as facilities reporting stock outs or facilities

providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the

custom form whenever the condition is found to be true, is there an

alternative?

regards,

Sam Kasozi

+256 788-993-565

Skype: sam.kasoziug

Hi Sam,

You may consider collecting some of this data with single events

(routine surveys/assessments) and then use program indicators or event

data item aggregation to get the aggregate numbers you are looking

for.

Ola



<table

style=“border-top: 1px solid #D3D4DE;”>

    <tr>

  <td style="width: 55px; padding-top: 18px;"><a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank"><img

src=“https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

width=“46” height=“29” style=“width: 46px; height: 29px;” />

            <td style="width: 470px; padding-top: 17px; color: #41424e;

font-size: 13px; font-family: Arial, Helvetica, sans-serif;

line-height: 18px;">Virusfri. <a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank" style=“color: #4453ea;”>www.avast.com

    </tr>


Ola Hodne Titlestad (Mr)

HISP

Department of Informatics

University of Oslo

Mobile: +47 48069736

Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link


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


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

John Francis Mukulu,
Lead Developer, HISPTZ,

University of Dar es salaam.

http://hisptanzania.org/

1 Like

Thanks, Ola and Prosper.

The data is indeed part of the aggregate forms. And since we are importing the data, we might consider pre-calculating the values prior to the import process.

regards,

···

On Wed, May 10, 2017 at 2:56 PM, Prosper BT ptb3000@gmail.com wrote:

Dear Ola,

Thanks for sharing this workaround, the two challenges may be wanting to keep same data with the aggregate data in entry because most of the time its within one form and may be inconveniencing switching between entry screens.

Remember we had suggested to write a script that can update single event data elements to use program indicators that can in turn be used as aggregate indicators for scorecard and BNA indicators.

From the core development team is ther as way we can use aggregate indicators or both data element in aggregate and events so as to use program indicators for this. Its becoming very critical for analysis of logistics, HR, Scorecard and BNA indicators.

The scorecard team is building up something John and Eric can share progress.

Regards

Sam Kasozi
+256 788-993-565

Skype: sam.kasoziug

Prosper Behumbiize, MPH
DHIS2 Implementation| HISP Uganda

prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb

On Wed, May 10, 2017 at 1:14 PM, Ola Hodne Titlestad olati@ifi.uio.no wrote:

On 10 May 2017 at 10:01, Sam Kasozi kasozis@gmail.com wrote:

What is the best approach for creating conditional indicators for routine/

aggregate data such as facilities reporting stock outs or facilities

providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the

custom form whenever the condition is found to be true, is there an

alternative?

regards,

Sam Kasozi

+256 788-993-565

Skype: sam.kasoziug

Hi Sam,

You may consider collecting some of this data with single events

(routine surveys/assessments) and then use program indicators or event

data item aggregation to get the aggregate numbers you are looking

for.

Ola



<table

style=“border-top: 1px solid #D3D4DE;”>

    <tr>

  <td style="width: 55px; padding-top: 18px;"><a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank"><img

src=“https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

width=“46” height=“29” style=“width: 46px; height: 29px;” />

            <td style="width: 470px; padding-top: 17px; color: #41424e;

font-size: 13px; font-family: Arial, Helvetica, sans-serif;

line-height: 18px;">Virusfri. <a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank" style=“color: #4453ea;”>www.avast.com

    </tr>


Ola Hodne Titlestad (Mr)

HISP

Department of Informatics

University of Oslo

Mobile: +47 48069736

Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link


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


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

Hello Sam,
We haven’t made a formal release of this function maintenance app yet, but i thought i could keep you posted.

It’s already in appstore you can download it here: https://play.dhis2.org/appstore/app/dXX2Fk6jwCX

You can take it for a spin here: https://play.hisptz.org/28/api/apps/Function-Maintenance/index.html#/functions/EViLZtpJmoZ

It’s still not very user friendly, and have few bugs we’re working on, but atleast now it gets the job done.

When installed in your system it generates one function by default that caps reporting rates to never exceed 100%,

That generated function helps to serve as an example on how function can be written to accept selection parameters and return analytics payload.

We’ll make a formal release once we have bug free, more down to earth user interface and with basic minimum functionalities needed.

···

On Wed, May 10, 2017 at 2:52 PM, Sam Kasozi kasozis@gmail.com wrote:

Thanks, Ola and Prosper.

The data is indeed part of the aggregate forms. And since we are importing the data, we might consider pre-calculating the values prior to the import process.

regards,

Sam Kasozi
+256 788-993-565

Skype: sam.kasoziug

On Wed, May 10, 2017 at 2:56 PM, Prosper BT ptb3000@gmail.com wrote:

Dear Ola,

Thanks for sharing this workaround, the two challenges may be wanting to keep same data with the aggregate data in entry because most of the time its within one form and may be inconveniencing switching between entry screens.

Remember we had suggested to write a script that can update single event data elements to use program indicators that can in turn be used as aggregate indicators for scorecard and BNA indicators.

From the core development team is ther as way we can use aggregate indicators or both data element in aggregate and events so as to use program indicators for this. Its becoming very critical for analysis of logistics, HR, Scorecard and BNA indicators.

The scorecard team is building up something John and Eric can share progress.

Regards

Prosper Behumbiize, MPH
DHIS2 Implementation| HISP Uganda

prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb

On Wed, May 10, 2017 at 1:14 PM, Ola Hodne Titlestad olati@ifi.uio.no wrote:

On 10 May 2017 at 10:01, Sam Kasozi kasozis@gmail.com wrote:

What is the best approach for creating conditional indicators for routine/

aggregate data such as facilities reporting stock outs or facilities

providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the

custom form whenever the condition is found to be true, is there an

alternative?

regards,

Sam Kasozi

+256 788-993-565

Skype: sam.kasoziug

Hi Sam,

You may consider collecting some of this data with single events

(routine surveys/assessments) and then use program indicators or event

data item aggregation to get the aggregate numbers you are looking

for.

Ola



<table

style=“border-top: 1px solid #D3D4DE;”>

    <tr>

  <td style="width: 55px; padding-top: 18px;"><a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank"><img

src=“https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

width=“46” height=“29” style=“width: 46px; height: 29px;” />

            <td style="width: 470px; padding-top: 17px; color: #41424e;

font-size: 13px; font-family: Arial, Helvetica, sans-serif;

line-height: 18px;">Virusfri. <a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank" style=“color: #4453ea;”>www.avast.com

    </tr>


Ola Hodne Titlestad (Mr)

HISP

Department of Informatics

University of Oslo

Mobile: +47 48069736

Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link


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


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

John Francis Mukulu,
Lead Developer, HISPTZ,

http://hisptanzania.org/

1 Like

Thank you John and the rest of the team for the work on this.

We had seen the App in the demo, however without a download link to try it out.

We have several indicators that had been implemented from the backend which we would want to formally correct, so this is very much needed and appreciated.

We will try it out and get back to you.

regards,

···

On Wed, Dec 13, 2017 at 3:41 PM, John Mukulu john.f.mukulu@gmail.com wrote:

Hello Sam,
We haven’t made a formal release of this function maintenance app yet, but i thought i could keep you posted.

It’s already in appstore you can download it here: https://play.dhis2.org/appstore/app/dXX2Fk6jwCX

You can take it for a spin here: https://play.hisptz.org/28/api/apps/Function-Maintenance/index.html#/functions/EViLZtpJmoZ

It’s still not very user friendly, and have few bugs we’re working on, but atleast now it gets the job done.

When installed in your system it generates one function by default that caps reporting rates to never exceed 100%,

That generated function helps to serve as an example on how function can be written to accept selection parameters and return analytics payload.

We’ll make a formal release once we have bug free, more down to earth user interface and with basic minimum functionalities needed.

Sam Kasozi
+256 788-993-565

Skype: sam.kasoziug

On Wed, May 10, 2017 at 2:52 PM, Sam Kasozi kasozis@gmail.com wrote:

Thanks, Ola and Prosper.

The data is indeed part of the aggregate forms. And since we are importing the data, we might consider pre-calculating the values prior to the import process.

regards,


John Francis Mukulu,
Lead Developer, HISPTZ,

http://hisptanzania.org/

Sam Kasozi
+256 788-993-565

Skype: sam.kasoziug

On Wed, May 10, 2017 at 2:56 PM, Prosper BT ptb3000@gmail.com wrote:

Dear Ola,

Thanks for sharing this workaround, the two challenges may be wanting to keep same data with the aggregate data in entry because most of the time its within one form and may be inconveniencing switching between entry screens.

Remember we had suggested to write a script that can update single event data elements to use program indicators that can in turn be used as aggregate indicators for scorecard and BNA indicators.

From the core development team is ther as way we can use aggregate indicators or both data element in aggregate and events so as to use program indicators for this. Its becoming very critical for analysis of logistics, HR, Scorecard and BNA indicators.

The scorecard team is building up something John and Eric can share progress.

Regards

Prosper Behumbiize, MPH
DHIS2 Implementation| HISP Uganda

prosper@hispuganda.org | prosper@dhis2.org | Skype: prospertb

On Wed, May 10, 2017 at 1:14 PM, Ola Hodne Titlestad olati@ifi.uio.no wrote:

On 10 May 2017 at 10:01, Sam Kasozi kasozis@gmail.com wrote:

What is the best approach for creating conditional indicators for routine/

aggregate data such as facilities reporting stock outs or facilities

providing a service?

Besides creating new data element [Yes/No or (1/0)] that is assigned in the

custom form whenever the condition is found to be true, is there an

alternative?

regards,

Sam Kasozi

+256 788-993-565

Skype: sam.kasoziug

Hi Sam,

You may consider collecting some of this data with single events

(routine surveys/assessments) and then use program indicators or event

data item aggregation to get the aggregate numbers you are looking

for.

Ola



<table

style=“border-top: 1px solid #D3D4DE;”>

    <tr>

  <td style="width: 55px; padding-top: 18px;"><a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank"><img

src=“https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

width=“46” height=“29” style=“width: 46px; height: 29px;” />

            <td style="width: 470px; padding-top: 17px; color: #41424e;

font-size: 13px; font-family: Arial, Helvetica, sans-serif;

line-height: 18px;">Virusfri. <a

href=“https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail

target="_blank" style=“color: #4453ea;”>www.avast.com

    </tr>


Ola Hodne Titlestad (Mr)

HISP

Department of Informatics

University of Oslo

Mobile: +47 48069736

Home address: Eftasåsen 68, 0687 Oslo, Norway. Googlemaps link


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


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

1 Like

Hey @kasozis did you get a work around to this? Was just recently asked to create an indicator that calculates % of facilities which experienced no stock outs. There was need to come up with conditions like If “Facility” “Drug Name” Stockout Days > 0 then return 0 and If “Facility” “Drug Name” Stockout Days = 0 then return 1, get the sum of these over # of facilities in a district. Like your case, this is aggregate type of data.

1 Like

Hi @haroont, we opted to have values pre-calculated since we are importing the data. Hence, assigning a ‘1’ whenever the expression evaluated to true. And at some point if we move to direct data capture, then that would be implemented in the custom form. I have not had a chance as yet to see if this could also be done using the Function app that was developed. Perhaps @John_Francis_Mukulu could throw some light on that as well.

3 Likes

Hello John Francis,

I am sorry to dig this 4 year old post, but I am really interested but such feature (using “True only” DE seems far-fetched)

I looked for the function-management app but I didn’t found it (404). was it renamed ?

thanks in advance