Feedback & Challenges with the New Multiple Choice Option Set in DHIS2

Dear Community,

I’ve been testing the new multiple choice option set feature available in recent DHIS2 versions (Event & Tracker programs), and while it’s a great addition, I’ve run into a few challenges that I’d like to share — and hopefully get some guidance or suggestions.

1. Line Listing App Display Issue
When only one option is selected, the option name appears correctly in the Line Listing output (e.g., “Fever”).
However, when multiple options are selected, only the codes appear (e.g., “1,3”) — and not the names.

Also, these codes are not sorted numerically but reflect the order in which users selected them (e.g., “3,1,2” instead of “1,2,3”).
:backhand_index_pointing_right: Is there a way to get the Line Listing app to return the option names instead of codes when multiple are selected?

2. Program Rule Complexity
Handling program rules with multi-select fields has become quite complicated.
If I want to show/hide a field based on selection of a single option (e.g., code “1”), I must now write rules that account for every possible combination that includes “1” in any position.

Example condition block:
#{5.b.iii. Tablet formulation} != “1” &&
#{5.b.iii. Tablet formulation} != “1,2” &&
#{5.b.iii. Tablet formulation} != “2,1” &&
#{5.b.iii. Tablet formulation} != “1,3” &&
#{5.b.iii. Tablet formulation} != “3,1” &&
#{5.b.iii. Tablet formulation} != “1,4” &&
#{5.b.iii. Tablet formulation} != “4,1” &&

#{5.b.iii. Tablet formulation} != “1,2,3” &&
#{5.b.iii. Tablet formulation} != “1,3,2” &&
#{5.b.iii. Tablet formulation} != “2,1,3” &&
#{5.b.iii. Tablet formulation} != “3,1,2” &&
#{5.b.iii. Tablet formulation} != “2,3,1” &&
#{5.b.iii. Tablet formulation} != “3,2,1” &&

#{5.b.iii. Tablet formulation} != “1,2,4” &&
#{5.b.iii. Tablet formulation} != “1,4,2” &&
#{5.b.iii. Tablet formulation} != “2,1,4” &&
#{5.b.iii. Tablet formulation} != “4,1,2” &&
#{5.b.iii. Tablet formulation} != “2,4,1” &&
#{5.b.iii. Tablet formulation} != “4,2,1” &&

#{5.b.iii. Tablet formulation} != “1,3,4” &&
#{5.b.iii. Tablet formulation} != “1,4,3” &&
#{5.b.iii. Tablet formulation} != “3,1,4” &&
#{5.b.iii. Tablet formulation} != “4,1,3” &&
#{5.b.iii. Tablet formulation} != “3,4,1” &&
#{5.b.iii. Tablet formulation} != “4,3,1” &&

#{5.b.iii. Tablet formulation} != “1,2,3,4” &&
#{5.b.iii. Tablet formulation} != “1,2,4,3” &&
#{5.b.iii. Tablet formulation} != “1,3,2,4” &&
#{5.b.iii. Tablet formulation} != “1,3,4,2” &&
#{5.b.iii. Tablet formulation} != “1,4,2,3” &&
#{5.b.iii. Tablet formulation} != “1,4,3,2” &&
#{5.b.iii. Tablet formulation} != “2,1,3,4” &&
#{5.b.iii. Tablet formulation} != “2,1,4,3” &&
#{5.b.iii. Tablet formulation} != “3,1,2,4” &&
#{5.b.iii. Tablet formulation} != “3,1,4,2” &&
#{5.b.iii. Tablet formulation} != “4,1,2,3” &&
#{5.b.iii. Tablet formulation} != “4,1,3,2” &&
#{5.b.iii. Tablet formulation} != “2,3,1,4” &&
#{5.b.iii. Tablet formulation} != “2,4,1,3” &&
#{5.b.iii. Tablet formulation} != “3,2,1,4” &&
#{5.b.iii. Tablet formulation} != “3,4,1,2” &&
#{5.b.iii. Tablet formulation} != “4,2,1,3” &&
#{5.b.iii. Tablet formulation} != “4,3,1,2” &&
#{5.b.iii. Tablet formulation} != “2,3,4,1” &&
#{5.b.iii. Tablet formulation} != “2,4,3,1” &&
#{5.b.iii. Tablet formulation} != “3,2,4,1” &&
#{5.b.iii. Tablet formulation} != “3,4,2,1” &&
#{5.b.iii. Tablet formulation} != “4,2,3,1” &&
#{5.b.iii. Tablet formulation} != “4,3,2,1”

This quickly becomes unmanageable as more options are added.

:backhand_index_pointing_right: Is there a plan to introduce a “contains” logic or other simpler way to handle individual selections in multi-select fields within program rules?

Happy to hear how others are approaching this, or if there are workarounds I’ve missed.

Best regards,
George Shemang
Associate Information System - DHIS2 Developer

dhis2 #MultipleChoice #TrackerCapture #ProgramRules #LineListing #OptionSet #FeatureFeedback

1 Like

Hi @Mr_jorge

This issue is reported here: Incorrect display of option names in Line Listing for a MULTI_TEXT dataElement with optionSet. You can find the response from @jan regarding Multi-text support in the Line Listing app as well as the linked feature request ticket: DHIS2-19640 - Support multi text data elements and attributes in Line Listing app.

It’d be much easier to keep the topic post focused on one specific issue so it’s easier to follow up. Would you kindly check the suggestion here: Defining program rules for multiselect questions in dhis2 - #3 by Gassim and if it doesn’t solve your use-case, would you mind moving the ‘program rule complexity’ section to a new topic post so we can continue the discussion and triage the issue.

Thank you!