If anyone things that nerds are unemotional, they need only go to a standards meeting. The notion of using web services to support reliable computer-to-computer messaging gets as much passion from the partly-informed as did the demotion of Pluto.
After looking into this I confess that I have added to the confusion. As I have learned, a big part of the confusion is because people don’t mean the same thing when they say “web services.” It’s a bit like a fan from Manchester, NH and a chap from Manchester, England arguing about “football.” For example:
- To some a web service is any service that can be obtained computer to computer using HTTP.
- To some, a web service must at least use SOAP.
- To others, it ain’t a true Web Service unless it is architected like the diagram below
- Finally, there are those that also require the WS-* protocols.
The Wikipedia article cited above attempts to clarify the set of choices by describing the world as being divided into two camps “RESTful Web Services” (number 1, above) and “Big Web Services” (all other combinations, including numbers 2, 3 and 4). This probably represents the main two camps in the nerd wars very well, but it is clear that the advocates of the RESTful style of architecture would not gladly accept into their camp everyone who confines their use of protocols to HTTP. For example, those that use only the HTTP commands but hide other commands in the URIs are mere pretenders, trying to make their approach look RESTful-ish but not legitimate claimants to all the benefits outlined in the Fielding dissertation.
Rather than some up with a taxonomy of names I think a better approach to Simple Interop would be to look at the capabilities needed to support computer-to-computer communications outlined in Simple Interop: Issues Associated with Automatic Processing and, for each item on the list, answer these questions:
- Is this capability that Wes dreamed up really necessary for simple interop?
- Is it being done already enterprise-to-enterprise healthcare apps on the Internet?
- If not in healthcare is this capability being provided broadly in other enterprise-to-enterprise apps that use the public Internet?
- If the capability is used, how much is based on standards and how much is defined ad hoc pair wise or in larger groups by the dominant trading partner?
Almost by definition any encrypted, reliable communications with scalable authentication (X.509 certs) based on “just HTTP” is going to match up with the fourth bullet. To adopt a bilateral or dominant-partner specification we need to have some consensus that would permit ONC to recognize it as a standard. I hope to find an approach that is, at least, used with a bunch of trading partners in production. If so, perhaps others will agree that adopting it would be the most expedient way to roll out simple interop to support the meaningful use interoperability measures.
I am explicitly staying away from a separate question, “what standards are available?” My rule is, if you want to pick something that will roll out quickly, pick something that has already been rolled out.
Digression on the term “Computer to computer messaging.”
This term also creates confusion. Aren’t all communications computer to computer? Isn’t a user in a Web browser or a thick client using a computer? What we are really trying to describe is a message that is sent without oversight by a user. So a lab technician approves the instrument result for the last test in a battery and then instantly moves to the next test in a different battery for a different patient. Sometime later the LIS transmits the results to the physician’s EHR, but there is no person in the lab watching it.
This is a lot different than the situation where that same technician is using on-line banking to change his postal address. Typically after one pushes the submit button the browser window goes dead until the bank has sent back another page saying it has accepted the transaction. In the latter case we have a person watching to see that things went well and, presumably, willing to push Submit again or start over if some disruption in the Internet connection causes the transaction not to succeed.
Another term we have though of is “unattended messaging.”
Category: Healthcare Providers Interoperability Vertical Industries Tags: ARRA, EHR, Health Information Exchange, Health Internet, Health IT, Healthcare Interoperability, Healthcare Providers, HIE, Meaningful Use, Web services