I had a 4-hour long consultation with a cardio-thoracic surgeon last week. It was very informative… and very frustrating. I will not be able to do what I wanted.
My goal was to create a general and “total” database exploration and analysis tool. I had a thought-through idea and just wanted to implement it. Unfortunately, my analysis tool can not be more general and “total” than the database foundation.
The general way of analyzing and presenting the data has given some sensible results. However, there are parts that make no sense. The cause is basically the way the database is built and the information it does (not) contain.
Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust. Even the simplest procedural logic is hard for humans to verify, but quite complex data structures are fairly easy to model and reason about. (…) Data is more tractable than program logic. It follows that where you see a choice between complexity in data structures and complexity in code, choose the former. More: in evolving a design, you should actively seek ways to shift complexity from code to data.
The EACTS Congenital Databases problem is that it has no knowledge in the data structure, so it's the opposite to what Eric Raymond suggests as a good practice.
In order to fully overcome this problem, I would have to redesign the database completely and write a tool that would translate current data into the new comprehensive structure. This would be an overwhelming task, involving deep medical consultations. Having the September deadline, I can not do that.
The only thing that comes to my mind, is to narrow down the scope of the research to few popular or important case types and ensure that they're modeled and analyzed correctly. Case types that come to my mind are:
- Ventricular Septal Defect (VSD)
- Atrial Septal Defect (ASD)
- Patent Ductus Arteriosus (PDA)
- Coarctation of Aorta (CoA)
- Tetralogy of Fallot (TOF)
- Patent Foramen Ovale (PFO)
- Hypoplastic Left Heart Syndrome (HLHS)
- Transposition of the Great Arteries (TGA)
Each case type will be analyzed separately, in its own way. Instead of an unified, total database exploration tool, I'll create a set of specialized tools.