We’re not big fans of SOAP (see SOAP is an oxymoron), but there are times you have to deal with it. One of those instances if you want to connect your EMR electronically to Quest Diagnostics care360 so that physicians can request and receive lab orders and results without paper.
Like many web service APIs in healthcare Quest’s web service API consists of a SOAP wrapper around an HL7 message. These types of interfaces are interesting because the plumbing always tends to show through. Looking at the error messages coming out of this interface it appears to be an older system which speaks HL7, which is then wrapped in a SOAP style web service API implemented using BEA Weblogic.
In this case SOAP is just a transport envelope you have to get through before you can get at the actual data, which is the HL7 message encoded in base64. This must be done before you can get to the meat of the problem which is simply processing HL7 messages.
We also used a similar approach with the Surescript E-Prescription interface.