Successful medical record systems consistently make it easy for health care workers to get the information they need for patient care in a rapid, lightweight way. Most often, clinicians are blissfully unaware of the technology underneath the user interface; and this often hinders their ability to find the information they seek. For example, while there are a lot of important reasons to store clinical observations as one question/answer pair per row, and demographics as attributes within specific demographic tables, clinicians often times simply want to select new patients or look for existing diagnoses for a given patient without having to know what part of the user interface what they're looking for. With the advent of the web and searching paradigms, an opportunity exists to apply well understood paradigms for web searching, to medical record system searching.
The ultimate purpose of this project is to create a new UI widget (and module) for OpenMRS that has the ability to return search results based on a text query and to make this widget available throughout the web application. The initial steps towards this vision relate to creating the low level infrastructure to allow OpenMRS API services to register themselves as "searchable", and developing the basic API to perform searches across those services. This search bar would then be added initially to the web application header.
Jeremy Keiper, Ben Wolfe, Darius Jazayeri, all implementers on the implementers mailing list :)
The search box should be a simple input box. Apache Lucene integrated with Hibernate Search is used to perform full text indexing on all registered entities.
The envisioned workflow:
The results can either be shown in a new page or search+results can be ajax and in a popup under the search box. (The latter being preferred, but could introduced later if time is short)