Cohortbuilder Drug-Order-Component input UI rework

Hello. My team and I are currently working on the drug order component in the cohort builder. We currently making a few changes to the UI before implementation of search functionality. This is what we currently have for the interface:

I personally had a suggestion to use dropdown instead of the current selection boxes that we have. Reasons: - Current select boxes leave a lot of whitespace in the UI

  • They do look like input boxes only for the user to later realize that they are selection boxes.
  • I want to add a dropdown with the option to search through currently available drugs and easily find what you want. This is what I have created as aa mockup: I would like to get feedback and suggestions regarding this and wether it gets your approval or not. cc: @dkayiwa @darius

@upendo would the drop downs support multiple selection?

@upendo, as Daniel says, we need to support multi-select, but you can definitely use a better widget for this than the legacy one. (E.g. do what’s being done with person attribute values on another cohort builder tab.)

Taking a step back, I think at some point there was a miscommunication, because we want the Drug Order search screens to look completely different from how they looked in the legacy UI, but it seems that someone has mostly replicated the legacy UI. We talked about this on the April 24 design forum, and took notes here. But now that I look back at these I think they’re going to be hard to understand, so let me try to paraphrase them.

At first, we want to support these searches:

  1. Active prescription for drug(s)
  2. Started prescription for drug(s)
  3. Stopped prescription for drug(s)
  4. Changed prescription for drug(s)

Overall comments

  • You probably want to combine 2, 3, and 4 together in the UI, but that’s not a requirement.
  • You need a generic widget for “Choose Drug(s)” that can be reused for all these searches. It needs to support selecting multiple. In some cases it should let you choose ANY or ALL. The types of things you can select are:
  1. specific drug formulation (i.e. a Drug)
  2. specific drug (i.e. a Concept with class=Drug)
  3. a drug set (i.e. a Concept with class=MedSet)
    • this would be interpreted as “taking ANY drug in the set”
  4. (nice to have feature) a free-text drug name (not coded)
  • Also need a common widget for “choose care setting”

Active prescription for drug(s)

  • optionally select Drug(s) with the common widget
  • MVP would be to always do “ANY of the selected drug(s)”
  • (nice to have) let user choose ANY or ALL
  • must indicate “now” or “any time between and
  • must choose a Care Setting (and if there’s only one in the DB default to this)
  • (nice to have) optionally select a Route (this is DrugOrder.route)

Started prescription for drug(s) Stopped prescription for drug(s) Changed prescription for drug(s)

I think these three would all support the same inputs:

  • optionally select Drug(s) with the common widget
  • MVP would be to always do “ANY of the selected drug(s)”
  • (very low priority nice to have) support ANY or ALL
  • must indicate “between and
  • must choose a Care Setting (and if there’s only one in the DB default to this)

Does this make sense? I’m happy to do a voice call to explain in more detail.

@dkayiwa The dropdown will have multiselect and will work like what we have on the Encounters tab.

@darius Thank you for your always contribution. I kind of get a hang on what you have laid down here but it would be best if I set up a call so the team can be at par with the new implementation details. I will reach out to you as soon as I get confirmation of availability from them :slight_smile:

@darius The team will be available in the next 30 minutes for the video call. Will you be available then so I schedule a call and drop the link here for anyone else to join?

@upendo his time zone means that he was already in bed when you wanted him to join the call. Can you set up a doodle poll and give him a chance to choose when he will be available. Do hours that are later than earlier (for your time zone).

1 Like

@upendo I am based in Seattle, USA. With advance notice I can do a call at 6am or 7am Seattle. (That would be 4pm or 5pm Nairobi.)

I could do Thursday or Friday this week (but I need to know the day before).

@darius @dkayiwa Thank you so much for your replies, I was about to do the doddle poll but I think we have a picked a time according to what Darius has suggested. Tomorrow Thursday 4pm EAT. I will set up a call but I need your email to send you an invite @darius, I will make an invite for our Technical Team lead too ( @dkayiwa). Or rather I can post a link to the call immediately I have set it up :smile:

Great call is set up, email invites have been sent and here is a link to the call for anyone else who would like to join:

1 Like