optionset for icd-10 is too slow.

hi.all

I found the dhis2 can’t deal with large number of option set, too slow for maintaince.

can do it better?

···


此致

林晓东

莫愁前路无知己,天下谁人不识君。

1 Like

Hi,

Are you talking about a large number of Option SETS, or a large number of Option Set VALUES?

I’ve found the latter, at least, to be lightening fast: an option set for the 22,400 sub-place names in South Africa responds in 1-2 seconds when selecting an option value.

If, on the other hand, you are talking about setting up large option sets using the User Interface / Maintenance - well, then I agree that it’s very slow. But there’s no need to add large option sets manually - just set them up in e.g. Access or Excel or R or any similar piece of software, dump the final data set out into e.g. CSV format, and import it. Quick and easy.

Regards

Calle

···

On 15 March 2017 at 03:26, 林晓东 lin_xd@126.com wrote:

hi.all

I found the dhis2 can’t deal with large number of option set, too slow for maintaince.

can do it better?


此致

林晓东

莫愁前路无知己,天下谁人不识君。


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


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


1 Like

Hey,

It sounds like he means options in an optionSet (as he specifically mentions ICD-10)

I think there are some issues with a large number of options in an optionSet, sorting being one of them. (We currently need to do this sorting on the client side, so it also partially depends on how powerful your machine is.) Perhaps the sorting for such large option sets should be disabled / improved.

If you have other problems it would be best to create a Jira issue with a bit more information so we can try to replicate the issue. (https://jira.dhis2.org)

···

On Tue, Mar 21, 2017 at 8:59 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi,

Are you talking about a large number of Option SETS, or a large number of Option Set VALUES?

I’ve found the latter, at least, to be lightening fast: an option set for the 22,400 sub-place names in South Africa responds in 1-2 seconds when selecting an option value.

If, on the other hand, you are talking about setting up large option sets using the User Interface / Maintenance - well, then I agree that it’s very slow. But there’s no need to add large option sets manually - just set them up in e.g. Access or Excel or R or any similar piece of software, dump the final data set out into e.g. CSV format, and import it. Quick and easy.

Regards

Calle


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

On 15 March 2017 at 03:26, 林晓东 lin_xd@126.com wrote:

hi.all

I found the dhis2 can’t deal with large number of option set, too slow for maintaince.

can do it better?


此致

林晓东

莫愁前路无知己,天下谁人不识君。


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


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Regards,

Mark Polak

Software developer, DHIS 2

University of Oslo

http://www.dhis2.org

mark@dhis2.org

1 Like

Mark

As I said - selecting from an optionset with 22,400 values is VERY fast (1-2 seconds), but you obviously need to know what sub-text to type in to filter the list.

ICD-10 has at most around 70,000 codes, so it is possible using that many will slow things down - I don’t know.

Otherwise, we have already had some discussions around “hierarchical” option sets (or grouped option values, if you prefer that term) as well as the ability to automatically filter one option set based on the value in another attribute/data element. Both would be useful for larger option sets. (I’m not sure, but I think there are JIRA issues for both already?)

Regards

Calle

···

On 21 March 2017 at 11:44, Mark Polak mark@dhis2.org wrote:

Hey,

It sounds like he means options in an optionSet (as he specifically mentions ICD-10)

I think there are some issues with a large number of options in an optionSet, sorting being one of them. (We currently need to do this sorting on the client side, so it also partially depends on how powerful your machine is.) Perhaps the sorting for such large option sets should be disabled / improved.

If you have other problems it would be best to create a Jira issue with a bit more information so we can try to replicate the issue. (https://jira.dhis2.org)

On Tue, Mar 21, 2017 at 8:59 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi,

Are you talking about a large number of Option SETS, or a large number of Option Set VALUES?

I’ve found the latter, at least, to be lightening fast: an option set for the 22,400 sub-place names in South Africa responds in 1-2 seconds when selecting an option value.

If, on the other hand, you are talking about setting up large option sets using the User Interface / Maintenance - well, then I agree that it’s very slow. But there’s no need to add large option sets manually - just set them up in e.g. Access or Excel or R or any similar piece of software, dump the final data set out into e.g. CSV format, and import it. Quick and easy.

Regards

Calle


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

Regards,

Mark Polak

Software developer, DHIS 2

University of Oslo

http://www.dhis2.org

mark@dhis2.org

On 15 March 2017 at 03:26, 林晓东 lin_xd@126.com wrote:

hi.all

I found the dhis2 can’t deal with large number of option set, too slow for maintaince.

can do it better?


此致

林晓东

莫愁前路无知己,天下谁人不识君。


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


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


1 Like

the sort button will cause system running and running …

1 Like

@linxd,

Sorting using the front-end UI can be painful/unworkable, I agree - most browsers just cannot handle that much data.

For larger option sets, I prefer to update the sort_order field in the optionvalue table in the back end…

Regards
Calle

1 Like

Do you know how to configure this feature ‘the ability to automatically filter one option set based on the value in another attribute/data element’

1 Like

@nanwang,

Assuming you are on 2.30 or later, you do the following:

Set up your basic option set - let us for the sake of argument say that option set have 500 ICD-10 codes that relate to 20 different diseases.

Let us also say that you define two Tracked Entity Attributes or Tracker data elements in your Tracker/Event Program - the first being “Disease” and the second being “ICD-10 code”. What you now want, is for the user to be able to select one disease and this will subsequently filter the ICD-10 drop-down to only show the codes relevant to that disease.

You create 20 option (value) GROUPS, one for each disease:
Disease 01 ICD-10 codes
Disease 02 ICD-10 codes
or something along those lines. This is easy even in the UI if you use the “clone” option. For each group, you will add the ICD-10 codes relevant for that disease to the group.

Define a program rule VARIABLE linked to “Disease” (let us say it’s called “prvDisease” and it’s defined to represent the specific TEA/DE in your specific Tracker/Event Program.

Finally, you write 20 near identical program rules, one for each disease. The filter expression would be something like {prvDisease} == ‘DISEASE01’, and the program rule action would be to show the option group “Disease 01 ICD-10 codes”. (whether a few codes are relevant for several diseases do not matter - the drop-down will only show the option values in the specified group).

And that’s it…

Best regards from Freetown, SL
Calle

1 Like

slow is seen from the optionset maintainence. when reorder or order by name , stoping response…

1 Like

@linxd

I do not understand what you mean, or what you are asking…

Best regards
Calle

1 Like

In
https://play.dhis2.org/2.33.0/dhis-web-maintenance/index.html#/edit/otherSection/optionSet/eUZ79clX7y1/options

do sort by name will cause stop response

1 Like