I work for a company that is software as a service for the social services industry. We're redesigning the race selection so that we can conform to the standard necessary for data exchanges in the health care space. This means that we must store our data to the HL7 Race specification, which gets quite complicated: https://www.hl7.org/fhir/v3/Race/cs.html

Because of the way the race hierarchy is constructed in the specification, a treeview control seemed like a natural fit. In practice, however, we're finding that it doesn't feel very intuitive to use. People are either not noticing that the nodes expand or, when they do, they feel like they need to fill it out to the most specific level. In general we're finding that selecting race is feeling unintuitive.

Some other possibly useful notes:

  • All levels of the hierarchy need to be recorded for reporting purposes.
  • There is high turnover in the social services space and the control needs to be usable with little to no training.
  • There will be a way to configure the control so that tiers below a certain level will be hidden for agencies that don't need them. However, some agencies will need to go down to at least the third level.

Here's an image that I think helps illustrate the problem.

problems with tree selection for race

I'm having a hard time taking a step back from this and seeing if there's an alternative to using a tree control for this. Does anyone have any suggestions for alternate controls or ways that a tree view can be better utilized?

  • 1
    Welcome to stackExchange Ben! Even your question looks good and far beyond the avarage question for a new contributor, I suggest you to summarize the question and so the visuals. People here (I do at least) look to the question and spend a couple of minutes to understand first. Like setting up a resume in a single sheet, you'd better to summarize your question to be able to gain more answers and attract people for answering your problem. Dec 9 '19 at 9:17
  • Thanks for the feedback. I condensed the question quite a bit and eliminated the visuals as I don't think they actually helped my question at all.
    – Ben Reeves
    Dec 9 '19 at 13:15
  • Glad it helped but visuals are good generally imo. It helps understanding the issue more quickly. I recommend you to add one instead of a couple of them to help others think how can this exact problem can be solved. Dec 9 '19 at 20:02
  • 1
    Yes, you're right. I added a condensed image that I think helps quickly illustrate the problem.
    – Ben Reeves
    Dec 10 '19 at 15:24

The issue making input hard may result from selecting among a broad variety (many sibling nodes) with deeply nested sub-divisions (depth of branching).

Assuming per input record there is one race describing term known before attempting to enter data. Wouldn't it be intuitive to enter that into some text field. This text field could act as a tree filter showing all matching nodes.

This would efficiently jump multiple branches deep until desired input term is found. For example term "German" would open tree until 3rd level: White > European > German

  • This is exactly the solution we ended up going with. It turned out that it wasn't necessary to auto expand the tree items, people just used the filter to search for what they needed.
    – Ben Reeves
    Apr 6 '20 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.