One of the core architecture principles and unique challenge in EHR design is to ensure patient safety to prevent the potential misinterpretation of data stored in the system, as the implication of not doing so is so huge and obvious. To do so, the design needs to look at how user interface is designed, the application information model and the terminologies used to describe the content of each data element within the information model.
However I found often this principle is being abused.
Recently, I took part in design review of one EHR system, it integrates laboratory result from various systems. As following the guiding principles, in order to ensure patient safety and avoid potential misinterpretation, the designer decided that the EHR shall store the lab result as it is.
So for example, in system A, the result is organized in this way
In system B, the result is organized in slightly different way
So in order to save the above lab result of two different data structures, the designer created a more generic data structure as shown below
So far look okay, but the way the source data is being mapped to the common EHR data structure is very weird.
For System A, since it has four levels of data element, it is nicely mapped to the common data structure. But for System B, it has only three levels of data element, the "Lab sub category" element in common data structure is skipped since it is optional.
Take the example of one hematology lab test, the "Hematology" code is stored in "Lab Sub Category" data element for data received from source system A, whereas the same "Hematology" code is stored in "Lab Category" data element for data received from source system B.
During data retrieval e.g retrieve all the hematology lab report, in order to avoid the "if system A then .., If system B then ...", the designer added classification as another dimension to bottom two levels of data element in the common data structure as shown below. So now the query can be simplified as "select all lab panel or lab test item whose classification is 'hematology' ".
So what's your view, did the above design truly follows the guiding principle - store incoming data as it is to ensure patient safety, or it was abusing the guiding principle to make the system more complex. Or what should be the recommended approach for centralized EHR system to amalgamate data with data structure from different source systems.