I've worked for the past two years as a software engineer at athenahealth. The experiences that you described are well known throughout the R&D people that I work with. I actually *have* been to clinics and followed doctors, PAs, and other staff around as they went about their day. I've seen them working with other EHR software that looks like it was built in the early 1980s. I've listened to them describe their ideal software solutions and what their biggest pain points are. AFAIK, my company is the only EHR out there that does these "site visits" regularly and encourages people to sign up and go.
It's difficult to design EHR software that meets everyone's needs when every clinic likes to do things their own way. Your comments about the over saturation of documentation requirements is spot on, and there are teams at my work that focus on reducing the time spent doing documentation. Especially the "after hours" documentation that you mentioned is something we are trying to kill completely. Whether or not we've been doing a good job making that better, I don't know since I work on something completely different. But I think at least our hearts and our minds are in the right place.
Healthcare is a very complex and difficult thing to manage. I wish it was an easy thing to fix, but it is an absolute juggernaut of a problem. I know my company certainly isn't perfect, and some things were designed in a downright idiotic fashion. But I think at least our hearts and our focus is in the right place, and I've seen a ton of improvements in the past two years since I started there.
I just wanted to share my perspective as one of those EHR programmers. We're trying to make things better, not worse. But it is a business, and most EHR businesses are focused only on making more money, not making better products. Sometimes, that means they make decisions that harm the industry (like refusing to share patient data outside their systems) because they are afraid it will hurt their checkbooks. Sad, but true.