Introduction to HL7 Soup
In this tutorial, we’ll show you why HL7 Soup is the worlds favourite HL7 Tooling. Simple to use, yet powerful in function. We’ll show you the basics, show some clever tricks, and point you in the direction to go further.
HL7 Soup is made of two products:
A tool for visualizing and editing HL7 message, either individually or in bulk.
Securely connects medical systems together. Transforming and converting between message types. Always running or scheduled to suit.
In this tutorial, we’ll be focussing on the HL7 Soup editor, but the products are tightly linked, so you’ll see Integration Host pop up here and there too.
Let’s load the HL7 Soup Editor and take a look.
What do we see here? Well, at the center of things is an editable HL7 Message. This is the current message we are focused on, and everything around us is there to help work with it.
The message type is shown at the top, and directly below that is a human-readable interpretation of the message. The Segment Grid looks at the details of the currently selected line.
These are all linked together so that clicking or changing the values navigates and updates between the three views.
Lower, have some tabs that provide additional features, we’ll cover them all, but right now, let's consider the Messages list. HL7 Soup provides 12 sample messages that you can play with. Clicking on a message loads it into the editor. You can edit and save the sample messages, and your changes will be remembered. Replacing them with your own samples is easy, and can help you be more productive. But you can always revert to the defaults by deleting the sample file.
The messages list can come from one hl7 file with lots of messages in it, or you can drag in many files at the same time and build a list that way. Add to the list by clicking the plus button to create a new message, or click the paste button to paste in one or more message from your clipboard.
Looking back to the editor section now I'll explain the zooming. Holding down CTRL while spinning the mouse wheel allows me to make the font of the message bigger or smaller, so things are easier to see.
Better still, why not highlight fields I commonly use a different color for easier identification. As I jump between messages, it’s always easy to find what I’m after.
I can even set invalid criteria that instantly notifies me of problems.
After adding validation to highlight a value red, take a look at the messages list.
All the invalid messages are highlighted red too. I can add a filter to show just the invalid message, and when I view those messages, the error is instantly highlighted.
We’ve got a whole video that goes through highlighting, comparing and validating messages.
Sending and receiving HL7 messages is a common requirement. HL7 Soup makes it easy to create senders and receivers for different systems.
Senders take the HL7 messages from the Messages list and send them on. I’ll create a new sender from the senders tab by clicking "New", and I will be configured to send via TCP on the local IP address, port 22222.
I can easily adjust how it’s sent, the source of the message, and the speed of sending.
I can just use the default settings, and save, then head over create a receiver.
Click new, and we can configure the receiver. We’ll set it to match the sender, TCP on port 22222. It shows us the address to use if we called it from another computer. Also, note it’s set to “add the incoming message to the current messages list”.
Again, I’ll save, and we’ll head back to the editor.
Down the bottom here we always have the ability to start and stop our senders and receivers no matter which of these tabs we are on, and clicking on messages show’s me what’s available for sending.
Rather than sending the messages back to this same list, I’ll add another tab and send to that instead. I’ll start the receiver here, then head back to my first tab and hit send. Great, an auto-generated success acknowledgement. Since I’ve confirmed my connection is good, I’ll hit play have all the messages sent through. Now I can head over to the other tab, and here they are.
Receivers can also be configured to manipulate the incoming message with powerful workflow tooling. You can manipulate the data, filter messages, write to a file, send it on with HTTPS, REST, Webservices. Or convert between message types, CSV, XML and JSON. So many features are possible that it’s not possible to cover them in this video. But take a look at the HL7 Soup website, and you’ll find a tutorials library that takes you through the steps required. We keep adding more videos too, so remember to check back.
Integration Host Getting Started tutorials for more details about how to create integrations.
Back in HL7 Soup, we’ll take a look at the Integrations tab. Here we have a view into Integration Host. We can see the status of each of the integrations, start them, stop them, create them, edit them. Take a look at theThe Editor’s view of the Integration Host is very similar to the Integration Host Client’s, however, clicking in the logs of your integration will load them straight into the HL7 Soup editor. With all your highlighters and validation at hand.
Many ask, if they can create a receiver that transforms HL7 with the editor, can they make that an always running workflow with Integration Host? You certainly can. You can promote any receiver to be an integration with a simple click. Look, this is now running as an Integration inside Integration Host. It will keep running even if I close HL7 Soup. It also means when I send messages, they will go there instead. I can now use the logs to review my message, or even load all the logs back into the Editor’s messages list.
We’ve worked hard to make HL7 Soup tools fantastic to use. I’m sure you’ll love them!