I have been reading in the news some assessments of Jared Kushner's jobs in the Trump Administration, and among the failures that are commonly cited is the failure to get the Veterans affairs modernization off the ground.
The Obama administration started a program to modernize the Veterans affairs by digitizing the health records. The idea itself is not only right, it is a clear necessity, as it makes no sense that in the 21st century people still rely on paper documents to transfer health information from a doctor to another. Especially in the US that leads the worlds computer and software industries, and particularly for health information that can have an urgent nature in many situations.
The problem lies with the approach taken (and that is not solely Kushner's error, as the approach started with the Obama administration).
As any decent solutions architect would see as obvious, to ensure a flow of information between distributed systems, one must ensure interoperability, not the untenable ideal of homogeneity, which is both difficult to achieve, and bound to break in the long run ... Aiming to force all involved entities to use the same software may look as the easy way to people with little IT experience, but is actually a nightmare whenever the system is not centralized. It violates many clear principles of software solution architecture, and results in an impossible commitment.
The problem that needs solving
The digitization of records in général, and health records are no exception, requires that the systems using the records can exchange information and have common interpretation of its content. This requires technical and semantic interoperability. The software industry has been working on these issues for decades, and has achieved standards that ensure technical interoperability for well over a decade now. for the semantic standardization, many standards exists today (and that's the problem, as a standard is only useful when there is only one, that is used by all that need to interoperate).
if the content is standards, and the communication is standard, there is no need to impose restrictions on how the various involved systems are built, since they can all share information without loss of content or of meaning...
As for confidentiality and information security, which are critical when it comes to such personal information, solution architects solve these constraints on a daily basis, using well known mature patterns, and the technology to do so is widely available.
So, if the administration wants to modernize the VA, or help modernize all the healthcare industry for that matter, it should concentrate on the following :
- Adopt a single communication protocol that offers the required security and confidentiality
- Adopt a single content and semantics standard for Electronic Health Records
- set a regulatory context with a timeline for everyone to align with ability to exchange Electronic Health Records using the set standards.
Why having the same software is not the solution ?
Some might say that the interoperability route is more difficult to achieve than simply having everyone use the same software. After all, if a single software is chosen, then all records are in the same format, have the same meaning, and are exchanged in the exact same way. it seems to solve the problem much more easily, does it not ?
Well, it does not !
For the single software approach to work and provide the wanted value, all parties involved need to have the software operational. With the large number of deployments that are required, it takes a long time (RFPs to select the vendor, RFs and procurement for each deployment, time to deploy, test, stabilize, train ...etc.). Yet, those that start investing early do not reap the benefits until everyone is done...
In addition, during the long time it takes to deploy the software everywhere, either the software version is frozen, or aligning everyone requires multiple iterations...
The issue of versionning and evolvability
Software is never perfect. It has a lifetime, including adding features, fixing bugs, dealing with issues that surface over time either through discovery of new hacking techniques, technology advancements that make old techniques more efficient, as well as dealing with evolving business and cultural environments. That is why almost all software would have, at various rhythms, patches and version upgrades.
As long as the software is not constrained by a content standard, the records themselves would evolve over time, breaking the ability to exchange them between different versions of the software. Yet, if it is constrained by such a standard, what is the justification of forcing everyone to use the same software ?
Vendor dependency and monopoly
If all parties involved must use the same software, the vendor has way too much power over them. It raises too different problems, of two very different kinds :
- Monopoly :
- Costs : Software vendors are companies, accountable to their shareholders for maximizing profit. When the government forces their customers to use their product, they will raise their prices accordingly, since the customers have no choice but to buy their product. Actually, they would be failing their responsibility vis-à-vis their shareholders if they do not do so. Prices are then not set relative to costs or competitive positioning, but according to the maximum they can charge customers without the customers preferring to be in violation of government regulation rather than pay those prices... It is closer to a blackmail situation than to a cost/value decision making. What makes it even worse is that the cost in continuously incurred, due to the need for support, servicing and upgrades.
- Reduced Value : The selected vendor has no incentive to continuously provide more value as it has no competition, and customers have no choice but to use the software even when the value provided is not or no longer adequate.
Vendor Failure :
Overtime, even the best, the strongest healthiest companies decline, either momentarily or permanently. When the vendor fails, or even just chooses to no longer offer the product, the customers are left with the need to migrate, all at once, to a new software, and to migrate all the existing records to the new software...
Interoperability is still a requirement no matter what !
In today's world, no software can afford to be isolated. The software that manages the Electronic Health records needs to communicate with other line of business systems (accounting, HR ...etc.) , which are bound to vary from one institution to the next. The system would still need to interoperate with all those, which requires adoption of standards, in which case, why have the same software to begin with ?
So, why are they taking this approach
like most political decisions, especially in a lobby funded election system, companies that can afford to invest large amounts can push decisions towards their own benefit, regardless of how senseless the decision may be.
Some Healthcare software vendor has a lot to gain if it gets the monopolistic contract, and that's all that seems to matter...