Data elements with both option set and free text

Hi,

This might be one of those “answer is under your nose” aka RTFM questions, but here goes (version 2.24):

How can I specify an option set (drop-down, text options) for a data element while also enabling users to type in any other free text value?

(or in other words, “Limit element to options in option set = FALSE”)

Best regards

Calle

···

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


Hi Calle,

pretty sure that this is not possible (though I would be happy to be proven wrong!), and that the closest you can get today is having an “other” option in the option set and using program rules to show another data element for the free text when “other” is selected.

Olav

···

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


Olav,

Yes, either that or using the comment field for the “other” text. Having a text element with a drop-down but not limited to the drop-down values is a very basic feature, though…

Let’s hear if anybody else has a different take on it…

Regards

Calle

···

On 26 September 2016 at 09:23, Olav Poppe olav.poppe@me.com wrote:

Hi Calle,
pretty sure that this is not possible (though I would be happy to be proven wrong!), and that the closest you can get today is having an “other” option in the option set and using program rules to show another data element for the free text when “other” is selected.

Olav

  1. sep. 2016 kl. 22.56 skrev Calle Hedberg calle.hedberg@gmail.com:

Hi,

This might be one of those “answer is under your nose” aka RTFM questions, but here goes (version 2.24):

How can I specify an option set (drop-down, text options) for a data element while also enabling users to type in any other free text value?

(or in other words, “Limit element to options in option set = FALSE”)

Best regards

Calle


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



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


Hi ,
I hope that this was removed, as it has proven to be a source of problems when using option sets. The reason is that if you allow people to put whatever into that box, they will do exactly that, rendering results in analytics basically useless. So, the correct way would be to have an option set like

  1. Foo

  2. Bar

  3. Baz

  4. Other

with a textual data element like “Specify”. That way, you can get useful analytics results out of the majority of responses, and then have to deal with a means of classifying those which fall into other.

Othrewise, you may as well just allow people to enter free-text, rendering any analysis much more difficult if not impossible due to the amount of garbage which will result during data entry.

That’s my take on it.

Regards,

Jason

···

On Mon, Sep 26, 2016 at 10:51 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Olav,

Yes, either that or using the comment field for the “other” text. Having a text element with a drop-down but not limited to the drop-down values is a very basic feature, though…

Let’s hear if anybody else has a different take on it…

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 26 September 2016 at 09:23, Olav Poppe olav.poppe@me.com wrote:

Hi Calle,
pretty sure that this is not possible (though I would be happy to be proven wrong!), and that the closest you can get today is having an “other” option in the option set and using program rules to show another data element for the free text when “other” is selected.

Olav

  1. sep. 2016 kl. 22.56 skrev Calle Hedberg calle.hedberg@gmail.com:

Hi,

This might be one of those “answer is under your nose” aka RTFM questions, but here goes (version 2.24):

How can I specify an option set (drop-down, text options) for a data element while also enabling users to type in any other free text value?

(or in other words, “Limit element to options in option set = FALSE”)

Best regards

Calle


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



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


Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+46764147049

Jason/Olav,

I understand that rationale - even if I’m commonly arguing that the “other” option should not be there at all (in the majority of cases I’ve come across the last 30 years, those “others” cannot be classified in any meaningful way). I just wanted to know if it was possible since there are some cases - generally the options/text are more of the “rich picture” type unlikely to be used for any type of analysis - where it would simplify things.

With both of you sort of agreeing that it is not there, and I have not found it in the manuals, I presume it actually IS not an option.

Thanks for the rapid and thorough responses!

Regards

Calle

···

On 26 September 2016 at 11:01, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi ,
I hope that this was removed, as it has proven to be a source of problems when using option sets. The reason is that if you allow people to put whatever into that box, they will do exactly that, rendering results in analytics basically useless. So, the correct way would be to have an option set like

  1. Foo
  1. Bar
  1. Baz
  1. Other

with a textual data element like “Specify”. That way, you can get useful analytics results out of the majority of responses, and then have to deal with a means of classifying those which fall into other.

Othrewise, you may as well just allow people to enter free-text, rendering any analysis much more difficult if not impossible due to the amount of garbage which will result during data entry.

That’s my take on it.

Regards,

Jason

On Mon, Sep 26, 2016 at 10:51 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Olav,

Yes, either that or using the comment field for the “other” text. Having a text element with a drop-down but not limited to the drop-down values is a very basic feature, though…

Let’s hear if anybody else has a different take on it…

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

Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+46764147049

On 26 September 2016 at 09:23, Olav Poppe olav.poppe@me.com wrote:

Hi Calle,
pretty sure that this is not possible (though I would be happy to be proven wrong!), and that the closest you can get today is having an “other” option in the option set and using program rules to show another data element for the free text when “other” is selected.

Olav

  1. sep. 2016 kl. 22.56 skrev Calle Hedberg calle.hedberg@gmail.com:

Hi,

This might be one of those “answer is under your nose” aka RTFM questions, but here goes (version 2.24):

How can I specify an option set (drop-down, text options) for a data element while also enabling users to type in any other free text value?

(or in other words, “Limit element to options in option set = FALSE”)

Best regards

Calle


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



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


Hi Calle,

The problem as I see it still in the current version is that it is actually possible to do exactly this. If you use curl, you can upload a value which is not part of the option set. If the option set has a numeric value type, you can upload any option, not just those which are part of the option set. I thought this had actually been fixed, but it seems not to be the case. So, I suppose using a custom form, you could create a control to allow people to enter data from a list, or to specify it.

Thus, I suppose you could utilize this “feature” to upload what you please, as long as the option set is set to be “text”. I would regard this as a bug or un-implemented feature, but it might be useful in your case.

Regards,

Jason

···

On Mon, Sep 26, 2016 at 11:16 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Jason/Olav,

I understand that rationale - even if I’m commonly arguing that the “other” option should not be there at all (in the majority of cases I’ve come across the last 30 years, those “others” cannot be classified in any meaningful way). I just wanted to know if it was possible since there are some cases - generally the options/text are more of the “rich picture” type unlikely to be used for any type of analysis - where it would simplify things.

With both of you sort of agreeing that it is not there, and I have not found it in the manuals, I presume it actually IS not an option.

Thanks for the rapid and thorough responses!

Regards

Calle

On 26 September 2016 at 11:01, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi ,
I hope that this was removed, as it has proven to be a source of problems when using option sets. The reason is that if you allow people to put whatever into that box, they will do exactly that, rendering results in analytics basically useless. So, the correct way would be to have an option set like

  1. Foo
  1. Bar
  1. Baz
  1. Other

with a textual data element like “Specify”. That way, you can get useful analytics results out of the majority of responses, and then have to deal with a means of classifying those which fall into other.

Othrewise, you may as well just allow people to enter free-text, rendering any analysis much more difficult if not impossible due to the amount of garbage which will result during data entry.

That’s my take on it.

Regards,

Jason


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


On Mon, Sep 26, 2016 at 10:51 AM, Calle Hedberg calle.hedberg@gmail.com wrote:

Olav,

Yes, either that or using the comment field for the “other” text. Having a text element with a drop-down but not limited to the drop-down values is a very basic feature, though…

Let’s hear if anybody else has a different take on it…

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

Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+46764147049

On 26 September 2016 at 09:23, Olav Poppe olav.poppe@me.com wrote:

Hi Calle,
pretty sure that this is not possible (though I would be happy to be proven wrong!), and that the closest you can get today is having an “other” option in the option set and using program rules to show another data element for the free text when “other” is selected.

Olav

  1. sep. 2016 kl. 22.56 skrev Calle Hedberg calle.hedberg@gmail.com:

Hi,

This might be one of those “answer is under your nose” aka RTFM questions, but here goes (version 2.24):

How can I specify an option set (drop-down, text options) for a data element while also enabling users to type in any other free text value?

(or in other words, “Limit element to options in option set = FALSE”)

Best regards

Calle


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



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


Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+46764147049

This is true but just for the "dataValue" resource, we block this during
data import / through the "dataValueSet" resource. We will add it, just
need to do it in a way which performs appropriately.

regards,

Lars

···

On Mon, Sep 26, 2016 at 11:26 AM, Jason Pickering < jason.p.pickering@gmail.com> wrote:

Hi Calle,

The problem as I see it still in the current version is that it is
actually possible to do exactly this. If you use curl, you can upload a
value which is not part of the option set. If the option set has a numeric
value type, you can upload any option, not just those which are part of the
option set. I thought this had actually been fixed, but it seems not to be
the case. So, I suppose using a custom form, you could create a control to
allow people to enter data from a list, or to specify it.

--
Lars Helge Øverland
Lead developer, DHIS 2
University of Oslo
Skype: larshelgeoverland
lars@dhis2.org
http://www.dhis2.org <https://www.dhis2.org/>

Hi,

I hadn’t tested adding such values using the various API resources, so thanks for that clarification.

That said - it just dawned on me that our Baganda bandits (Alex & Prosper :wink: ) may have a better solution for one scenario I had in mind:

Where users want a mix of pre-specified text options but also have the opportunity to add free text, in order to describe specific phenomena in a rich picture way: What they have done for SYMPTOMS in the Rwanda Disease Surveillance system is to have a multi-select form with pre-defined options (common symptoms), where each selected symptom is added to the text data element, separated by e.g. semi-colons. Users can then add free text to that. Example using Sigourney Weaver:

Standard symptoms Non-standard symptoms

Fever; Hunger; Temporary coma; X-ray show lizard-like creature with lots of teeth in abdomen…

Best regards

Calle

···

On 26 September 2016 at 11:34, Lars Helge Øverland lars@dhis2.org wrote:

On Mon, Sep 26, 2016 at 11:26 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Calle,

The problem as I see it still in the current version is that it is actually possible to do exactly this. If you use curl, you can upload a value which is not part of the option set. If the option set has a numeric value type, you can upload any option, not just those which are part of the option set. I thought this had actually been fixed, but it seems not to be the case. So, I suppose using a custom form, you could create a control to allow people to enter data from a list, or to specify it.

This is true but just for the “dataValue” resource, we block this during data import / through the “dataValueSet” resource. We will add it, just need to do it in a way which performs appropriately.

regards,

Lars

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

lars@dhis2.org

http://www.dhis2.org


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