Mirth Connect is the Swiss Army knife of open source integration engines with specific Healthcare support for HL7 message integration (though it works just as well when dealing with many types of data formats outside of HL7). Windows Azure enables you to build, deploy, scale and manage applications across a global network of Microsoft-managed data centers.
Mirth Connect uses the concept of channels and queues to ingest, filter, transform and send messages from one system to another. It has built in support for many protocols such as file systems, FTP sites, databases and web services. In this blog post I’m going to demonstrate how we can extend the built-in capabilities to use Mirth Connect to send messages directly to a Windows Azure Queue:
Windows Azure Queue storage is a service for storing large numbers of messages that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS. A single queue message can be up to 64KB in size, a queue can contain millions of messages, up to the 100TB total capacity limit of a storage account.
By pairing an on-premise or cloud hosted instance of Mirth Connect with Azure queues we are able to scale by having one or more instances (or channels within an instance) of Mirth Connect pushing messages to the queue while having an independent number of queue consumers receiving messages and performing business activities on them. We are also able to eliminate a single point of constraint and failure providing greater resiliency.