The problem is a bit more complex than just UX from my experience. It's not as if the people designing these portals are going out for their way to make it user unfriendly, it's that the underlying data model all these hospitals use for their EHR is usually completely insane.

Hospitals were among the first to get "computers", I'm talking the big mainframes and such that used to be popular in big institutions & universities. On these systems many hospitals each individually hired programmers to construct custom databases for their record keeping. While most have by now have transitioned into a more standardized structure, like HL7, the original sin has carried forward enormously bizarre data structures that make you wonder if the designers were deliberately trying to sabotage the possibility of good software in the industry. I can't think of a better example of why you should never design by committee.

Yet in parallel to all this, capturing medical data is already hard. Doctors are most comfortable just writing notes freehand, recording the patients current state, notable observations, treatments and so on. When modeling this it becomes very tricky because you basically need a proper medical background and be a good at data modeling / programming. This kind of person is basically a unicorn in the industry everyone wants but can never get.

Consider, just for a moment, all the complexities that come with dealing with the thousands of different units and their conversions within the industry. Some doctors don't even use the same units for certain measurements, entirely out of personal preference. Then remember that measurements are the easiest part of the system to model, even what should be the simplest part of the entire thing is hard. Also yes, you will have to re-write all this from scratch, there is no special library or open source software to help. Everytime someone makes tools for this they keep it proprietary.

But that's just the tip of the iceberg, to really get an idea of what I mean, just look at HL7. It's basically a data format that is like a cursed csv with about 5 layers of deliminators for nested entries, since all hospitals like to be super special, the specification tries to be "flexible", so what exactly these characters are is not actually standardized! It wasn't enough for HL7 to just be a data model, they needed to violate a few OSI layers and interlace it with the transport protocol too!

So in essence you must establish a bizarre handshake on top of tcp to learn what the hospitals super special configuration of the standard is, the very syntax itself! Worse, 90% of it is the same for all hospitals but the 10% that isn't is entirely unpredictable!

Then you have the actual data model itself, like demographics, lab records and so on. They change the specification every few years! You need to support it all since this committee of monsters don't seem to care much about the migration path! All the changes they make seem pretty arbitrary to me but what do I know?

I'm still only scraping the surface here but my exposure has been limited to what I do, which was processing all this from the perspective of a medical device that only needed to deal with a subset. When I imagine the struggle one would have with actually dealing with the entire thing holistically I feel empathy and a desire to never have their job.

It's like building a house on top of an active volcano. Any illusion I had that my medical records could be used for anything other than basic notes for another doctor to read have long since shattered, because clearly that's how all of this mess is actually being used in practice.

Oh and don't forget HIPPA! Even when you roll up your sleeves and try to fix the problem, you learn you aren't even allowed to thanks to the governments overbearing regulations against using medical data for things that could help society. Wish they just made it a crime for insurance companies to use instead of whatever this is.

The fact any of this works at all is a fucking miracle honestly.

Like I said, it's not easy. I've made some big screwups in "easy" UX. I have the scars to prove it.

Interoperability is also one of those "holy grail" things that is really hard.