Interface Concepts: Interfaces are used to move data between incompatible systems.
In the Health Industry there are many systems, most of which are not able to communicate easily or at all. Data is most commonly transferred between these systems as HL7 messages, though numerous other methods are also used.
What do Interfaces do? [top]
All interfaces simply perform the following tasks:
- Read messages from one or more sources
- Filter out messages that should not be forwarded
- Process messages to change formatting, add codes, check data etc.
- Map messages from the incoming to outgoing message formats
- Transmit messages to one or more target systems
The Filtering and the Processing tasks will contain business logic, and can become very complex.
Simple Interfaces [top]
We define a “Simple” interface as one that transfers information from a single source system to a single target system.
A common scenario is sending patient information to a laboratory system for testing purposes (a second interface is needed to return the results). An example like this could require that you filter out patients that don’t need tests, change date formats, etc.
There are many similar scenarios, hospital to hospital, hospital to governmental system, hospital to specialized clinic etc.
Complex Interfaces [top]
Any interface that involves more than two systems is regarded as “Complex”.
A common example is when you are sending data from a single source system to multiple targets. This scenario would probably require different patients with different data for each target system, which means different filtering and processing for each target.
Multiple sources are also possible. This requires merging multiple message streams, which could be from different source types, i.e., HL7, XML, database, web services etc.
Where does Iguana fit in? [top]
Simple! Whenever you need an interface you can use Iguana. Iguana makes it easy to implement any type of interface, simple, complex or anywhere in between. Iguana also works with all types of source and target data: HL7, XML, database, files, web services etc., etc.
Iguana uses “channels” that map easily to the conceptual interface structures that we described above. The other pages in the Interface Design section explain how to use Iguana to implement these scenarios.
Tip: We used Healthcare related examples because this is the primary market for Iguana. But the same principles apply to interfaces between any systems, i.e., between different accounting systems, or between sales and marketing, etc. Iguana is equally adept at creating interfaces for other system types.