Translator Training in Toronto

…Try saying that three times fast!

Or better yet:  join us for one of the in-depth Iguana 5 training sessions that we’ve started offering on-site in Toronto.

It’s been a few weeks since we kicked off our inaugural session and I can tell you that the entire experience was a huge success.

Training people is not only about simply showing features, rules or workflow.  It’s really about finding ways to make the content relevant to the problems the participants see in the real world.  That’s why training here at our Toronto office makes for such a complete training experience.  On top of the fantastic curriculum our team has put together, having the training here means access to the various skills and experience the iNTERFACEWARE team has to offer.

With this first session under our belt, we’re now gearing up for a number of Toronto training sessions — which are selling out rather quickly — and we invite all customers and potential customers to contact us to book a spot today.

Understanding the fundamentals of Iguana 5 and the Iguana Translator, along with learning from the experts about ideal implementations, can significantly decrease deployment times and can make the difference between delivering a project over-or-under budget.

Have a look at our training agenda and don’t hesitate to reach out if you have any questions.

Cheers,
-Art

 

 

The Return of Internet Explorer

Yes, it’s true. With the latest release of Iguana, version 5.0.9, Internet Explorer 8 and 9 are now officially supported (again)!

For those of you who read our blog and/or our wiki, you probably know that we have a bit of a love-hate relationship with IE around the office.

Editor’s Note: Since this article was published there was a recount and it’s actually just a hate relationship: the first ballot was confusing to some of our more “senior” team members.

Anyone with experience in web development can tell you that supporting IE – particularly the older versions like IE6 and IE7 – requires a significant amount of trickery, hacks and effort. That support often means sacrificing development hours that could be spent on features, innovations and optimizations. It’s a burden that many developers would be happy to live without.

That’s why, a few years back, we saw a surge in anti-IE campaigns springing up across the web. You may remember campaigns like:

http://www.ie6nomore.com
http://hey-it.com/

That was a fun grassroots movement which was embraced by everyone from small start-ups all the way up to the likes of Google.  Within the healthcare IT and enterprise world however, it’s definitely a case of easier-said-than-done.

When you’re dealing with major institutions and hospitals, it’s occasionally impossible for the individual user or the integration team as a whole to use anything other that IE. So, while on a personal level we might not love IE, today we are releasing the latest version of Iguana with support for IE8 and IE9. We’ll continue listening and working to ensure all of our corporate users – including those who run IE – are able to take advantage of Iguana and all of the amazing features of the Iguana Translator.

We’d love to hear from the community though. What do you think? Is IE still the dominant browser in your office? Is it IE8 or IE9 – or are you still using the dreaded IE6?

You can download Iguana 5.0.9 today. Happy browsing and integrating!

-Art

Iguana 5.0.7 released

Iguana 5.0.7 has now been released.  It’s packing a whole suite of useful functionality which you can read about here.  It really could be called Iguana 5.1 at this stage.  The Translator has come a long way since we first released it.

I am looking forward to see what our customers will want to do with DICOM now that we have the support available for it within the translator.

It is exciting to hear some of the feedback we’ve had about the Iguana translator – it really has proven itself to be a killer integration platform.

Limits to Interoperability

One of my staff had an interesting experience many years ago.  He had an internship at a life insurance company.

The company maintained a huge array of virtualized AS400 machines that were running a number of legacy COBOL applications which described life insurance policies. The company needed to maintain all these applications for the life time of the actual policy holders. i.e. over a 60-70 year span.

The rules regarding the benefits for the policies and so on were so strictly tied to the actual software applications written in COBOL that it was more economical to keep all these applications going rather than attempt to try and convert the policies over to run within a new application.

These applications represented hundreds of millions of dollars worth of liabilities and benefits.

What does that tell us about interoperability standards?

From what I have looked at, the information in the insurance segments of HL7 is far from being a comprehensive insurance data model.  The fields which are present are more about giving hints to the healthcare provider who the claims should be submitted to, rather than really giving a full picture of a patient’s actual coverage.

Given the clear challenges that the insurance companies themselves have achieving data portability of their own policies it seems unlikely that anyone could ever come up with an adequate data model to fully describe insurance data.  Ironic given the HIPAA act. I guess if people change companies that they can reasonably expect changes in their coverage – but not if they are staying with the same company.

This is just one domain area that covers electronic medical records. As you drill into each area of medicine I think similar challenges arise.

So given these realities how do you make interoperability standards that can embrace all this complexity?

My thoughts are that it’s a losing battle to try and encompass everything. Instead focus on getting the ‘scaffolding’ right.  Interoperability standards which can define the core-backbone that maps out information in a logical manner are doing something useful.  In a sense that is what HL7 2.x insurance information already does, since it really is just reference information. It only solves one problem key to healthcare providers which is to locate who to bill and submit claims to.

Having extensible standards that allow additional information to be added is a benefit or a necessary evil.  Your stance on this depends on whether you’re a glass half full or a glass half empty sort of person.

Standards should cover the broad areas and make it possible to ‘glue’ things together in a manner which makes it easy to recall information, but subtleties from the existing software will always be felt. How important those subtleties are will come down the nature and value of the information concerned.

Electronic healthcare records need to be extensible and display information ‘as is’ from a variety of systems.  In the world of HL7 2.x the extension mechanism is what are called custom ‘Z segments’.  The problems of Z segments will be the topic of my next blog entry…

Out of this world code navigation coming in Iguana 5.0.7

I gave the latest snapshot of Iguana a spin today to get a peek at some of the new features that will be part of 5.0.7 release.

I put some screen shots into the wiki under the What’s New section.

The code navigation is exciting. It goes well beyond what traditional IDEs like Visual Studio offer.  It allows you to navigate through the calls into the functions rather than just the functions themselves. That adds a lot of power into understanding the logic flow within a mapping script.

It is quite jaw dropping seeing what the team is achieving with the translator.  IDEs are an area of software which in my opinion haven’t shown a lot of innovation in the last 5 years. A big part of the problem is a lack of viable business models for companies in this area.  Things have stagnated into just Visual Studio and Eclipse. These environments have gotten large and complicated.

Our focus on integration provides a great engine to push things forward in this area.

Visual Studio and Eclipse have too many developers working on them.  They support an overwhelmingly wide range of languages and functionality. All this weighs heavily when it comes to having the freedom to innovate. In a sense these products have reached a point that it’s hard to move them forward without breaking compatibility with all their existing behavior. They feel like web browsers before Google showed us how minimalist a brower could be.

One of the over-riding goals we have with the translator is to keep it a very simple environment that flows naturally even as we add new features. All the new functionality like the error trace window, docking of dialogs and code navigation are in harmony with that goal. The new functionality is cleanly integrated in a natural manner making it easy to discover these features when and as you need them.

Let us know what you think. Of the new features, which do you think you will find the most useful?

Looking for two software developers

We’re looking to fill two additional development positions in Toronto, Canada to work on our Iguana engine. To give you a bit of a taste for the technology involved please take a few minutes to view these short videos of the Iguana translator:

As you can see it’s a very interesting application of web based technology to transform data. Historically we have been a purely healthcare integration engine but with the flexibility of our translator technology we plan to become a middleware engine in industries other than just healthcare.  We have well over 10,000 deployed sites and over 300 direct business clients including Fuji Medical, GE Medical Systems, MD Andersons and the NHS.

We look for developers who are creative, focused, attentive to detail, and possess a strong commitment to completing tasks in a timely manner. We often will take on board people that either have experience developing robust, scalable, concurrent, multi-platform C++ software (Windows, Posix) or who have significant web development experience.

Our approach to software development focuses on user-centered design and software development fundamentals. Our back-end code is written in portable C++, and our front-end is written in cross-browser HTML, CSS and Javascript. We have well thought out, consistently applied coding standards, and continually invest in improving the quality of existing code. We restrict ourselves to a relatively simple subset of C++, avoiding platform dependencies and allowing newcomers to become productive quickly without having to become C++ gurus. The result is a consistent and highly modularized code base, which allows for easy reuse, refactoring, extension and automated unit-testing. We also have top-notch infrastructure, including multi-platform automated builds, regression tests, source control, wiki and a ticketing system. We care about the quality of our products and our code.

As a company we have a strong commitment to aesthetics and we seek developers that appreciate this.

You must be physically based in Toronto. If you are interested or if you know of a colleague that would be appropriate, please contact me. I will be forwarding your contact details to my development team who will do the actual screening.

To contact us please send your resume to the email address careers AT interfaceware.com. Replace AT with @.

The best tooling for standards development? A word processor.

HL7 maintains a number of tools for maintaining the HL7 Version 3.0 RIM.

One of the tools is 1999 version of Rational Rose with an associated Microsoft Access database.  There are Eclipse plugins etc. I lose track of them all to tell the truth.

One of the big problems with the RIM is that it requires these specialized tools to maintain it.  Apart from being against the spirit of HL7 which is to be tool and vendor agnostic it poses some big practical problems for the development of the HL7 standards.

Using specialized tools means that many potential volunteer contributors are excluded from participating in the standards development process.  The volunteer workforce available to HL7 is most likely in a poisson distribution which means the majority of potential contributors have very little time to contribute.  If you soak their time up learning specialized tools you have cleverly eliminated most of the potential labor pool.

That labor pool might not be people that can develop the standard themselves but transparency will always assist in quality.  The more people than can understand the standard the higher likelihood there is of finding and correcting mistakes and defects in the standard. There is tremendous value in making material accessible to the widest possible audience.

The tools divert focus and resources away from the solving the core domain problem of healthcare integration.  Clearly HL7 does not have the resources to keep these tools themselves up to date.

The other problem these tools create is they make it tempting to engage in automatic generation of XML Schema and other artifacts from the data in the models.  Code generators tend to produce ugly code since you have a layer of machine indirection in play.  See my father’s TV remote.

Less is more.

By going back to a more simple approach of maintaining the RIM using basic technology like Microsoft Word documents or better still an easy to use Wiki would be better for the HL7 standard.


How do you make a Pink Daiquiri?

Dear Agony Aunt,

My husband is having an affair with his secretary. He brings her home and they hang out in our bedroom, while he wants me to make them pink daiquiris in the kitchen.

My problem is – how do I make a pink daiquiri?

For anyone that knows me, it is a favorite joke I like to repeat (probably too much) – I originally heard it from a great New Zealand comedy show called McPhail And Gadsby growing up in Wellington as a kid.

I love the absurdity of the poor wife that has lost sight of the real problem that her husband is having an affair and instead has focused herself on the technical problem of making a pink daiquiri.  I keep coming back to this joke because it’s a great parable for how many IT projects go.

Some mistake is made and not recognized early on and then people start tying themselves in knots to resolve the symptoms rather than the real underlying problem. We forget what the objectives are and lose sight that the tools we use are just a means to an end.

I often use this joke as a way to lighten things up and help my staff or customers have a chuckle and take step back to look at the problem they solving from a slightly different vantage point.

Hmmm – come to think of it …. I still don’t know how to make a Pink Daiquiri.

Why Facebook, Google and 37Signals do better technology than Healthcare IT

Been meaning to blog a post on this for ages.

It’s pretty obviously to any entrepreneur who runs a medical software company why technology in health care tends to lag behind what other industries have.  The best technology to be found is in the consumer sector – consumers buy products they themselves want to use.  They buy on price and functionality and there are huge economies of scale.

The process of how buying decisions are made in health care IT – and the heavy impact of government regulation – gives a very different landscape for health care IT.

If you are an EMR vendor selling to hospitals, the quality of your software product can almost be secondary to other issues when it comes to getting the business. Decision making in healthcare is highly centralized. The decision makers that have the budget are typically not the people that use the products. So products tend to be sold on the basis of arguments of return on investment.  These decision makers are highly risk adverse so they prefer to adopt solutions they know other people bought.

The sales process is highly political. To be a successful medical software vendor the game is actually more about optimizing your sales process than your actual technology. Companies often get acquired in health care IT not for their technology, but for their customer base. A very common play in health care software is to acquire a portfolio of different ‘solutions’ so you can sell them to the customers you have that look to you as their vendor to help them.

Now throw into that mix the huge role that governments play in regulating the industry, creating various compliance standards that vendors are constantly having to leap through instead of focusing on improving their products and you can start to understand the sorry state of health care IT. This is not an environment which greatly encourages technical innovation and progress.

My hope for the industry is that progress can be found coming from the physician EMR side of the house.  This is where there is the smallest gap between people making buying decisions – i.e. the doctors buying these systems and their staff who use them.  The money is not as great as it is for hospital IT but the structure of the market in this area offers much better hope for long term technological progress.

But government regulations in this area have great potential to screw things up. That’s one of the big risks of things like “Meaningful Use”.  Some really bad ideas could be forced on companies that could otherwise become the engine for innovation in healthcare IT.

When is supporting the XML encoding of HL7 2.X a good idea?

This question came up on the HL7 mailing lists recently so I thought I would give a business perspective on it. I would say that less than 0.5% of the market implements the XML encoding of HL7 2.X in XML.  I gave some of my perspective already with my article on why a JSON encoding of HL7 2.X is not a great idea.

There are two business cases I know of for which it makes excellent sense to implement the XML encoding of HL7 2.X.

  1. If you are large medical software vendor that wants to shut out your competition by making integration difficult, yet you need to maintain the appearance of being open and HL7 compliant then only supporting the HL7 2.X XML encoding is a brilliant idea.  I would suggest you go the whole hog and do the ACKnowledgements in XML and exploit any ambiguity you can find in the HL7 standard too since that will make it particularly hard for your competitors.
  2. If you are a small medical software vendor that has no choice but to try and integrate with the 800 pound gorilla from point 1 then you may have no choice but to implement support for the XML encoding of HL7 2.X. Suck up the cost – that’s what it takes to compete with the big boys.

If you are a health care provider that merely sees interoperability as a cost then it probably is better to discourage vendors from only supporting the XML encoding of 2.X HL7. For you the only impact will be to increase costs and reduce your choice of available solutions since you already will need to be spending money interfacing with the traditional format of HL7.

Either way if you are using Iguana you’re good – it’s quite easy to support both traditional HL7 2.x and the XML variants.  We’ve supported the XML encoding of HL7 2.X since the first version came out and the Translator is even better since it parses XML natively.