Flowsheet Module 1.0

Background

Umashanthi's work on the Flowsheet Module under mentorship of Sy Haas during GSoC 2010 laid a good foundation for our understanding of what we need.  With the help of developers at ThoughtWorks, we plan to bring this module to production quality.

Requirements

  1. Speed -- this is our highest priority.

    1. When the flowsheet page loads, initial results should be visible within less than a second.

    2. Filter changes should be perceived as being applied instantly (under 150 milliseconds) without needing to wait for filtering to complete before results are visible.

  2. Deliver as an OpenMRS module

    1. The flowsheet feature, as Umashanthi has demonstrated, should be delivered as an OpenMRS module that adds a Flowsheet tab to the patient dashboard

    2. The module must be compatible with one of OpenMRS 1.6, 1.7, or 1.8.  Backwards compatibility with 1.5 would be nice.

  3. Filtering

    1. Types of filters

      1. Search string (matching observation question or answer)

      2. Date range (using a range slider as Umashanthi implemented)

      3. Classes

    2. Filters constraints should be determined by the available data -- i.e., date range should go from earliest to latest available observation, class options should only be selectable if there are data for them

  4. User Interface

    1. Conventions

      1. Avoid right-click and hover (i.e., be touchscreen-friendly)

      2. Use CSS to control display characteristics wherever possible

      3. Support latest stable Firefox, Internet Explorer, Chrome, and Safari.

    2. Observation Display -- date, observation, answer, comment, encounter. Additional metadata should be a click away.

  5. Links to encounters -- users should be able to easily get to the encounter for any observation.  Those with privileges to edit data should then be able to edit that encounter (should hopefully already be part of OpenMRS core)

  6. Detail Window -- clicking on an observation should bring up a detail window that shows everything we know about that observation for that patient along with helpful/related resources.

  7. Grouping of results -- concept sets will be used to drive grouping of concepts and allow for groups within groups

Extended Features

  1. Semantic grouping -- when displaying the detail window for any given observation, the details shown may vary based on semantic linkages (e.g., clicking on DIASTOLIC BLOOD PRESSURE may show a detail window containing a graph with both SYSTOLIC and DIASTOLIC blood pressures)

  2. Perspectives -- allow "themes" of grouping to be selectable (e.g., a cardiologist wants to see different groupings of results than an endocrinologist)

  3. Logic Token evaluator -- allow the user to select or name a token and see the result for the current patient

Expectations

  1. Code within branch of http://svn.openmrs.org/openmrs-modules/flowsheet/

  2. Publish work in progress as module to http://go.openmrs.org/flowsheetdemo

Team

ThoughtWorks

  • Zabil C M

  • Ashish Gupta (Project Manager)

  • Khaarthigha (Developer)

  • Siram (Developer)

  • Rohit Bansal

OpenMRS

  • @Burke Mamlin is primary OpenMRS contact

  • @Former user (Deleted) is funding the work and is our primary "customer"

  • @Darius Jazayeri, ?@Paul Biondich, and Jon Duke will be lending technical & clinical input along the way