With OpenMRS 1.7 we added a few new tables to keep track of patient's allergies and problem lists. Prior to this users were cobbling together their own solutions as rows in the obs table. However, querying the obs table to get things that were current was a slow and tedious process.
The active_list table holds the general properties while the allergy and problem tables add on specific properties relevant to those objects.
Users will not want to start using the new tables until all of their data is converted over to the new format. (Because querying two tables is even more annoying that just one).
There is an obsconverter module that already does some adjustment of obs given user input. See it at http://svn.openmrs.org/openmrs-modules/obsconverter in svn. This module simply adds an admin page that lets the user choose a question (concept) to convert from and to. (under the hood it simply changes obs.concept_id from one to the other).
This feature should add two more pages: one for converting allergies and one for converting problems.
The admin pages should ask the user for the question (concept) for the problem. It should also ask for the "stop" problem concept. An algorithm will need to be written to find all problems that have been "added" to a patient but not yet "removed".
The ticket created for this project is here: https://tickets.openmrs.org/browse/TRUNK-1757
(To be done during and after the project, then moved to its own wiki page)