Design and Requirements for Reporting Module UI

Objectives

Create a new user interface for the reporting module. Please give any feedback about these user interfaces, probably the best way to do it is to leave comments on this page. Also, feel free to compare them to the current cohort builder http://demo.openmrs.org/openmrs//cohortBuilder.list (admin/test).

I've attached example screenshots, but all of the screenshots are in a zip file attached

Main Questions to answer

  1. Should we have a single search field additional to the tabs for all of the different types of data? This field is described in this page

  2. Should we have icons or text for the top menu buttons

  3. Anything else you might think of

Requirements

  1. If enter a parameter in a saved search, when the user goes to fill in the parameter and it's a coded concept it should have a pulldown with the possible options, not be free text

  2. An administrator should be able to modify the values that are displayed for each patient after a search is done. The cohort builder display age and gender, but is not modifiable

  3. All texts should be in the messages.properties file

  4. If you do a composition query that has a previous saved one, it should use the base data, not the query itself, that way you could erase the early previous saved one.

  5. for any of the dates, relative or specific, you should be able to have open ended for either of the start or end date

  6. If you do a composition query with queriesthat have parameters in them, it should display all of the parameters of all of the queries to the user for them to input (https://tickets.openmrs.org/browse/REPORT-299)

    1. To link the different parameters if they are the same one, they need to have the same label name

  7. Flow should be like (1) user picks the type of query, and (2) it opens in a popup using an iframe, (3) user fills in any additional parameters, (4) that's sent to the server, and the query list is updated without having to reload the page

  8. The initial page must load fast, and ultimately support hundreds of different saved queries, etc, if we don't have to load all possible widgets for them on the initial page load, but can just load the UI widgets for the specific query chosen

  9. Personalized saved searches

    1. Must be able to define personal searches i.e. individual (https://tickets.openmrs.org/browse/REPORT-306)

    2. Administrator should be able to define which searches a user sees depending on role and location and eventually work group

  10. Can save cohorts i.e. the list of patients for a query at a specific moment in time (https://tickets.openmrs.org/browse/REPORT-295)

  11. There should be extension points (https://tickets.openmrs.org/browse/REPORT-304)

  12. An administrator can choose what are the attributes or concepts displayed in the line which shows the patients name

Architecture

Use Cases

Clinical User

  • Wants to ask the same question over and over to provide care to those patients in those lists

  • Main use: saved patient searches

Epidemiologist

  • Wants to create new searches to analyze the patient population

  • Main use: different pages to create searches

Administrator

  • Wants to create the same reports

  • Main use: same as epidemiologist, but less frequently

User Interface

Notes

These initial designs are very similar to the Cohort Builder because the users I've asked (which have more of a epidemiologist and administrator roles) prefer that to a single search box, and since these are the main users of this functionality I think we should keep it as is. What we've done is for every type of cohort query to compile the options from the cohort builder (e.g. what value, dates entered, ...) with the additional options in the reporting module to give all of the options together. We've also taken out the have this concept as an answer section, and replaced with with a box where the user will fill in parameters if the saved search (top left icon under MiDoctor) has them.

Don't mind the MiDoctor logo or name, this was something we're doing internally.

We've tried to place icons to replace the text tab fields, I actually don't think it works because the icons for concopt, forms, logic, I believe are too difficult, but would love feedback on it.

I've also placed all of the screen shots in an attached zip file if you want to download them.

UI for observations page.

Date concept. 

The user hits the observations icon (the one with darkened background), and begins to enter the concept name for which they want to search for. The search autocompletes using ajax-like to display the concepts instead of showing them in the page as in the re. This will avoid having an additional box if you've entered a broad term and many concepts come up (https://tickets.openmrs.org/browse/REPORT-300)

There are two images, one with the top menu as icons and one with it as text.       

Coded concept

Text concept

Patient Attribute

Encounter

Composition

Logic

Medications

Program, and SQL are similar so we haven't created them yet.

Resources

Sketches from Darius

[All of the images in a zip file|]