Cohort Builder OWA 1.0.0-beta released!

We are happy to announce the release of the Cohort Builder OWA in version 1.0.0-beta!

The cohort-builder open web app, is an OpenMRS tool used to create Ad-hoc reports. i.e build a cohort of patients based on the similarities between groups of patients.

The app requires the following modules to be installed: Reporting 1.13.0

It is one of the Open Web Apps for OpenMRS. It was developed using front-end tech stack exclusively, which means there is no server side code in it. It uses React and REST.

The project uses npm and bower for dependency management and webpack for building. We also employed travis-ci for testing and deploying releases to Codacy has helped us to track code quality and coveralls for test coverage.

We had the Andela team working on this project as solid contributors, these include: @aolaniran @femi @enahomurphy @reddberckley @kingisaac95 @millicent @jeiddiah @upendo (we will be editing this soon for left out names) . Thank you to @dkayiwa for being our awesome Technical Team Lead and the community for your consistent input.

There is still more work. Stay tuned for a separate announcement on getting the app to the final release!

Link to zipped beta file on bintray:


Thanks to the Andela team for the great work! :slight_smile: @upendo, can i search for it from our OpenMRS Add On Index?

@dkayiwa Thank you too for your guidance. I have just raised a PR to add it to the add-on index :slight_smile:

Is that already part of the documentation?

@dkayiwa Pardon me. Do you mean about publishing an add-on?

Yes exactly!

@dkayiwa Yes this already part of the documentation:

I mean the one you wrote about how to release an OWA.

@dkayiwa Not yet. I will be editing that today. @jeiddiah Created it. I will add all the details about publishing to bintray and also adding them to the add-on index.

@upendo did you eventually add this to the documentation?

@dkayiwa Yes I did that. Here is a link to it:

Very nice. Thanks Paul! :slight_smile:

@dkayiwa For the community I would do it again :smile:

@upendo, I have just tested out the Cohort Builder on (after @dkayiwa uploaded the latest version there for me at, and I have run into what seem like some showstopper bugs. So, I don’t think this is ready for implementers to test out yet.


  • The overall flow of screens does not work as expected. I expect that when I fill out the form on top and click Search, then a new row should be added in the Search History (initially showing that it’s loading the results, and eventually showing a concrete number), but the screen that we’re seeing should not change. I do not want to see a list of patient names unless I explicitly click to view one of the results.
  • the primary use cases is for a data analyst who is sitting down for a session that will include multiple searches and combinations. They’re first interested in the numbers of results, not the specific names. (A secondary use case is for a doctor or analyst to find specific patients with some criteria, but they can access this with just one more click.)
  • For Concept/Observation
  • I choose a numeric concept (“Weight (kg)”), then I go to the “Enter a value in kg” field, but it does not work. E.g. I try to type “20” but instead each time I press a key the cursor goes back to the start of the text field, so it ends up with “02”.
  • even if I then do that search, the number I typed has no effect on the query
  • I entered an Until Date of “18-09-2017” and I get zero results. This can’t be right; there must be obs on this server from earlier than today.
  • In both the <20 and the Until 18-09-2017 cases, the query description is the same: “Patients with observations whose question is Weight (kg)”. The description needs to indicate all constraints that were applied, otherwise the user has no way to interpret what they’re seeing in the search history:
  • actually I’d even prefer that when you load the page fresh after logging in, it says something like “Do you want to resume your previous search history (with 4 searches), from (x minutes/days/months) ago? [Discard] [Resume]”, but this is a low priority.
  • I would expect that when you click Back after viewing a result from the search history, then the query form should be reset. (The way it works now, if I (1) do a query about obs, (2) do a query about encounters, (3) view the results of the obs query, (4) click Back, (5) I see a full-screen set of questions about Encounters, which confuses me.)
  • In Search By Encounter the date field shows through the encounter type dropdown:

The Observations search is the most important thing in the Cohort Builder, so it need to work flawlessly or else we can’t put this in front of end users.

(I have not tested out the other tabs yet, because I saw blocker bugs in the first tab.)

Thank you @darius for this feedback. This was the kind we needed so as to note the areas to better this module. cc: @dkayiwa @kingisaac95 @millicent @jeiddiah. Could we organize a call to get more clarification on this and chat way forward?

1 Like

Go ahead and set it up.

Thank you @darius for the feedback.

Following the need to have a call regarding said feedback. I have set up a doodle poll to pick up appropriate dates and times. Here is the link to it: . Please vote and on times and days so we have a call set up and ready as soon as possible. cc: @dkayiwa @darius @kingisaac95 @millicent @jeiddiah

I have set up the call as requested. Here is a link to it: Invites have also been sent to your emails. Anyone else wishing to join the call do ping me for an invite to it. The call is set for Friday 1600hrs EAT 1400hrs WAT 0600hrs Seatle time 0900hrs NYT cc: @dkayiwa @darius @kingisaac95 @jeiddiah @millicent

1 Like

Late reminder, our call should be happening now. cc: @dkayiwa @darius