From what I’ve seen, the only thing driving one database type over another in the world of EHR/PAS/other health systems is the sales team behind the product. Almost every commercial health IT product on the market is old software whose design decisions many years ago were made long before FHIR and sometimes even HL7 was considered. Most are closed systems where the customer (us) was never intended to have much access to the core database.
However we like to have full database access, as this allows us to enhance functionality where the product is lacking (where contractually permitted), and understand and transfer the raw data so that it can be stored usefully in our data warehouses and for analysis by the wider health sector.
For example, the FHIR-based system I was involved with deploying recently used a NoSQL back end purely because the (non-health) vendor suggested it would be easier to implement with FHIR - and it was, from their perspective, because they didn’t need to understand our (highly normalised) data in order to build the database schema. Later in the project it dawned on them that they couldn’t present the data we needed without building relations within the NoSQL database - thereby duplicating data many times over (in order to create pseudo relationships in an inherently non-relational schema), and adding workload to many routine processes (e.g. to ensure that each instance of duplicate data is maintained appropriately). This extra complexity comes with a small ongoing financial cost for the extra disk space and processing time required daily, doesn’t scale well, and negates the efficiency benefits on a non-relational database.


