I just got the book and have been able to digest 4 chapters. It is really an eye opening read.
We are working on a Health Information Management System. In the module where we capture surgery data, we have several types of surgeries for (180 surgery types currently) and the number seems to increase with time. All the surgical procedures have a common set of info (we call them ‘parameters’). On the other hand, each procedure also has a set specific parameters too. There are (currently) three Categories of parameters identified (in addition to common parameters): Per-Operative Settings, Per-Operative Complications, Post-Operative Evaluation. We solved this situation with implementing EAV pattern. A meta data table defines parameters for each surgery procedure, along with an FK for parameter category and type information. The EAV table stores patient’s ID, patient’s surgery session id, patient’s surgery id, surgery type FK and the name-value pair.
However, this (anti-)pattern solved our data capture problem, we have begun to worry about reports.
I would like your opinion about addressing such a situation and whether to modify our data model.