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
Speed -- this is our highest priority.
When the flowsheet page loads, initial results should be visible within less than a second.
Filter changes should be perceived as being applied instantly (under 150 milliseconds) without needing to wait for filtering to complete before results are visible.
Deliver as an OpenMRS module
The flowsheet feature, as Umashanthi has demonstrated, should be delivered as an OpenMRS module that adds a Flowsheet tab to the patient dashboard
The module must be compatible with one of OpenMRS 1.6, 1.7, or 1.8. Backwards compatibility with 1.5 would be nice.
Filtering
Types of filters
Search string (matching observation question or answer)
Date range (using a range slider as Umashanthi implemented)
Classes
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
User Interface
Conventions
Avoid right-click and hover (i.e., be touchscreen-friendly)
Use CSS to control display characteristics wherever possible
Support latest stable Firefox, Internet Explorer, Chrome, and Safari.
Observation Display -- date, observation, answer, comment, encounter. Additional metadata should be a click away.
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)
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.
Grouping of results -- concept sets will be used to drive grouping of concepts and allow for groups within groups
Extended Features
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)
Perspectives -- allow "themes" of grouping to be selectable (e.g., a cardiologist wants to see different groupings of results than an endocrinologist)
Logic Token evaluator -- allow the user to select or name a token and see the result for the current patient
Expectations
Code within branch of http://svn.openmrs.org/openmrs-modules/flowsheet/
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