Angular.js Versus the Cult of Health IT Complication

Last week, I mentioned some of the cutting edge software technologies we use at MedicaSoft that many of the giants in non-healthcare industries also use. I thought this week I’d delve a little deeper into one of those technologies – Angular.js.

There are many reasons to use Angular. At MedicaSoft, we use it to improve the speed of our development process. Angular enables us to develop and build features quickly and get changes in front of our clinicians for more of their feedback, resulting in less time in between product builds and releases.

I touched on something else last week that I feel very passionately about – and that’s why healthcare is lagging in adopting new software technologies. There are a lot of excuses out there for why the UI’s of healthcare software are generally horrible. The most common issue is that much of the software was written before the Web 2.0 movement … and some was even written before 1997 when the .com bubble started! Healthcare is one of the few industries where the vast majority of IT products are still clamoring just to get on the web. Even when they do, the technologies selected are often dated or the web interfaces don’t offer anywhere near the full functionality of the thick client. Even though these old UI’s are considered “bad” by today’s standards, people get used to using them. That’s when assumptions are made that it “needs to be this way because healthcare is complicated.” People start to believe that and vendors want you to believe that it’s better and faster just the way it is. I’m telling you that this is incorrect and it doesn’t have to be this way.  

So, what is Angular.js? It’s an open source web application framework. Google is the primary maintainer, but there is a large community of individuals and corporations that also support the framework. Bear with me for minute while I get technical. Angular, like other Model View Controller (MVC) frameworks, lets you split the application into three main parts. This is where the similarity stops. With other MVC frameworks, you split the app into the model view and controller and then you write more code to link them together again. In Angular, all of the wiring in the MVC is done for you. The two main things that developers love about Angular are dependency injection and the concept of a directive. In most MVC frameworks, you write most of the code in JavaScript and then have a templating system to generate the UI. In Angular, you write the HTML and that determines how the application will be assembled with little developer involvement.

The idea of writing the HTML first is a major advantage. We receive wireframe designs from our team of clinicians and our developers can quickly convert those to a working UI, thanks to Angular, for instant feedback from the clinician team. This enables us to iterate faster and put the feature back in front of the clinicians quickly.

Why use Angular? Everyone wants web-based applications. Angular allows us to have a UX like a thick client app on the web without the need to redraw any of part of the UI without requiring a server roundtrip to retrieve HTML. We should move in this direction in healthcare. When clinicians and other EHR users use any other system in their day-to-day lives, they are greeted with modern UIs that work this way.  It is unfortunate that when they report to the hospital where they work that they are instead greeted with technology from the 1980s, or at best the 1990s. Like I said, it doesn’t have to be this way. Don’t promote a culture of health IT dinosaurs. Demand a change.

Want to meet our Clinicians, Informaticists, and Developers who build these cutting edge healthcare tools? Come see us in Las Vegas at HIMSS booth x11449.

Angular.js and the Cult of Health IT Complication was authored by Brandt Welker and published in Medicasoft's CTO Blog. It is reprinted here with permission. The original post can be found here.