I have to admit I was a little suspicious the first time I saw HL7 Soup was producing a browser version.
Not because there is anything wrong with browsers. It is just that existing HL7 tools that run in a browser tend to be as user friendly as a cabbage. They exist, but they don't really do a lot. They tend to be little more than pipe counters.
HL7 Soup Online surprised me because it still feels like HL7 Soup.
The familiar parts are all there. You still get the plain-English story at the top, the raw editable HL7 message where I naturally spend most of my time, the list of messages underneath, and the structured field editor sitting on the right. It is not trying to hide the HL7 from you, which is a relief. It is just trying to keep the useful context close enough that you do not have to keep counting pipes like you are doing some sort of integration penance.
This is the thing I have always liked about HL7 Soup. It understands that an HL7 message is both text and structure at the same time. If you click a date in the raw message, the field editor knows what it is. If you click a value in the story, you are not taken away from the message, you are taken into it. That is a small distinction, but it is the difference between using a tool and wrestling with one.
The new trick is that I can do this from a browser.
That makes it useful in a slightly different way from the Windows application. If I am on a machine without HL7 Soup installed, or I am talking to someone on a call, or I just want to look at a message quickly, there is now a very low-friction option. Load the web page, use the sample messages, paste in a safe test message, and you are away.
There is an important caveat though, and it is worth saying plainly. The hosted browser version is the one I would use for samples, training, demos, vendor conversations, and quick non-sensitive investigations. It is running in the browser, so the practical limit is browser memory. That is the trade-off.
For real patient data, production logs, enormous message files, and anything that needs to stay inside your organization, the installed or self-hosted version is still the right place to work. That version can use local or server-side processing and is the serious option for large files. The public browser version is weaker in that sense, but it is also free and immediately available, which is a fairly compelling argument when all you need is to understand a message in front of you.
One of the first things I tried was anonymizing a message.
This is exactly the sort of feature I wish had always been sitting one click away. Every HL7 person has had the conversation where someone wants to send a sample to a vendor, but the sample has just enough real-looking patient data in it to make everyone nervous. In HL7 Soup Online the anonymizer keeps the shape of the message, but swaps out the sensitive-looking values. You still have the same segments, fields, and testing problem, just without casually throwing patient details around.
Even better, this is available in the free browser version. That makes it useful even if all you ever use the hosted site for is cleaning up samples before a support email.
Statistics are also built in.
This is one of those features that does not sound exciting until you need it. If you have a file full of messages and you want to know how often a field is populated, or what values are actually being sent, statistics save a ridiculous amount of manual checking. In the screenshot I selected MSH-7 and HL7 Soup showed the values across the loaded messages. That is the sort of thing that helps when a vendor says "we always send that field" and the messages are quietly saying something else.
The right-click menu is still where a lot of the useful bits live.
Right-click in the message editor and you will see the usual practical commands: copy, paste, anonymize, filter, validation, highlight, statistics, update, expand and collapse. The new one that caught my eye is "Copy message as link".
That means you can take the message you are looking at and turn it into a browser link. Instead of emailing a block of HL7 and hoping it survives the trip through Outlook, Teams, Slack, or whatever else is trying to be helpful that day, you can send a link that opens the message in HL7 Soup Online.
For example: Open this sample MDM^T01 message in HL7 Soup Online
That is a small feature, but I think it will be a big practical one. HL7 discussions often start with "look at this message", and now that can mean an actual shared view rather than a pasted wall of pipes.
The biggest surprise for me though is the interface designer.
This did not exist back when I first wrote about HL7 Soup. Back then I was mostly excited that the editor made HL7 readable. Now the web interface can take a representative message and start turning it into an interface definition.
That is a different level of usefulness. A sample message is where many interface conversations begin, but it is not where they should end. The important questions are things like: which fields are required, what values are expected, what tables are valid, what should be highlighted, and what should fail validation?
The interface designer gives those decisions somewhere to live. Instead of putting everything into a PDF specification that immediately begins drifting away from reality, you can define expectations against the same message structure people are actually testing. I only played with it briefly, but I can already see this becoming the part that deserves its own post.
So where does this leave us?
I think HL7 Soup Online is now my preferred HL7 Soup. I have installed it locally, so I have a secure browser based web app, that runs just as fast as the Windows application, and even has some new functionality. It was included with my existing Integration Soup license, so it didn't even cost me anything.
And most importantly, it still feels like HL7 Soup. It still has that pleasing habit of making HL7 feel less like a punishment and more like something you can reason about.
That is about the highest compliment I can give an HL7 tool.
Try it here: https://hl7soup.integrationsoup.com/