As an OpenMRS implementer, you put a lot of time into creating maybe a thousand+ concepts for your site. What happens when you want to import another concept dictionary for the sake of having more concepts or compatibility with other sites? I was on a mission to find out.
In OpenMRS, I made myself a form with custom concepts, and a patient to try out the form. My next goal was finding and importing the MVP dictionary without losing my patient’s data. After aquainting myself with MySQL Workbench (and Navicat when Workbench wasn’t cooperating), it was easy to generate an sql file from the OpenMRS 1.9 standalone database tables containing the MVP dictionary I wanted and then compare the flags with an older version of this sql file from a reliable source.
One problem: “DROP TABLE IF EXISTS”
I realized there is no straight forward way to adopt an outside dictionary without jeopardizing local cocepts. Furthermore, even if I was already using the MVP dictionary and I had any local concepts in my instance of OpenMRS, there would be no easy way of updating it. I was released from that mission and ready to move on.
Almost two full weeks into the “Summer of Code” I was anxious to write code, but wasn’t ready. Without proper guidance, I might have been tempted to read the ticket about a hundred times and go for gold. This is where Agile comes in.
I also spent time that week making a diagram of all of the concept tables in the OpenMRS data model, and trying out these missions recommended by Janet. 🙂