Write more unit tests for the middleware (see client/business/ and client/testing/).
Our business objects (middleware) can detect concurrency errors the database reports. Think of two doctors editing the same piece of data at once... Whoever tries to save his changes later will experience a concurrency violation. Our middleware detects and reports that. It also offers all three states of data (original, own intended changes, conflicting changes of other user). What we lack is a widget to allow the user experiencing the problem to merge changes into a final version. The easiest and most simple solution would be to display all three versions and let the user choose one or supply a fourth version to eventually be saved back into the database.
Our clinical data is saved in a clinical context. It is part of an encounter between a patient and a healthcare professional. It is also part of an episode of healthcare. Now, we need functionality to do searches across all the free text that has ever been entered into the medical record of a given patient. There are appropriate views aggregating the narrative for searching. What we lack is a widget to display any matches in context: For each match found retrieve the encounter and episode of care and render this information to the screen. This is a bit like a context diff or grep, eg a few "surrounding" lines are displayed along with the actual match.
it is acknowledged that the size and positioning of screens (windows) which the client will open in front of the main GNUmed screen is not standardized. A suggestion as to what the screens may look like, and how they may be positioned, are on [[http://lists.gnu.org/archive/html/gnumed-devel/2009-07/msg00000.html][this post] in the -devel archive.
semi-automate generation of a per-patient, per-problem cumulative profile
start with a per-problem view in which rows of a specifiable type would be filterable
in this way, facilitate a view on just the Assessments, or just on the Plans, going back over many encounters
enable the selection, from among these rows, of all rows of interest, and post-process these, auto-concatenating the content
output opens as an optionally-editable note to serve as a "digest" of the problem.