HL7 test message generator
I am looking for an appropriate solution to generate HL7 test messages to test my production. IRIS for Health already contains many HL7 specific functions like the schema structures. Furthermore one can use transformations to build custom messages.
What I am interested in is if anyone has already created a tool or script that can be used to create any HL7 messages that meet the minimum requirements and populate all the required fields with test values. I would then like to send these test messages via TCP to a business service.
Does anyone already have an approach or implementation for this?
I have been thinking the same thing since #GS2023...Just need to find time to look into creating something.
if not, this is a good idea for ideas portal
@Evgeny Shvarov
Agree, this solution looks like a good Community Opportunity idea for the portal.
@Tommy Heyding
I propose you to post this idea on the Ideas Portal, and we have there 18 ideas that are already done by Community members.
Hi @Evgeny Shvarov
I created an appropriate idea on the Ideas Portal: HL7 test message generator | InterSystems Idea
Hi @Tommy Heyding
I can transfer ownership of this idea to you if you create a user account on the Ideas Portal InterSystems Ideas
using your InterSystems SSO account.
Guys, please vote and comment on this idea to promote it. Thank you in advance!
Hi Tommy,
Something that might be a placeholder to this facility could be: https://openexchange.intersystems.com/package/UnitTest-RuleSet
The idea is a self-contained UnitTest class containing a Vanilla Starting HL7 message defined in a XData block.
Each test method constructs a clone of the starting HL7 message, makes required modifications, before sending to a target via a named Service.
I suppose it is simpler without the routing rule, check. Interested what Assertions are needed.
For example:
* Checking a MessageHeader was created for the same SessionId with a particular Target Name
* Checking a response was received from an end-point
From your question; Is there a particular reason to send over TCP to a Service? Is the message generator and sending being used for end-to-end / volumes / message types stressing?
Is this about message content variation (optional values) as well as the full message with a value in every field.
Hi @Tommy Heyding ! Here in Spain we are using a node js project to generate some types of HL7 messages, it's a bit basic...and the messages encoded are limited, but you can use it to modify whatever you need:
https://github.com/intersystems-ib/tool-patient-generator
Hi @Luis Angel Pérez Ramos ! This is great! If the project also available on OEX?
Not yet @Evgeny Shvarov, it's a bit basic and it's not properly finish... But it could be useful!
Indeed! Looking forward, thank you! The HL7 testing flow looks to be in a high demand.
@Tommy Heyding are you looking for something free, something built into HealthShare or paid? I saw this paid solution that looked promising: https://caristix.com/help-center/v3/test/examples-how-to-use-caristix-te...
Also I have used https://www.itl.nist.gov/div897/ctg/messagemaker/ with some luck.
I was just thinking about trying to make something to do this.
I asked Google Bard to create a HL7 message for me using this prompt:
"create an ECG order hl7 message example for HL7 v2 2.4"
And I got this:
MSH|^~&|EPICADT|EPICADT|CERNER|CERNER|20230804120000||ORM^O01|1234567890|P|2.4 PID|1||1234567890^^^EPICADT^MR||DOE^JOHN||19800805|M||123 MAIN ST^^ANYTOWN^CA^91234^USA^^H PV1|1|I|INPATIENT|||||||ADMITTING PHYSICIAN^LAST^FIRST^M^MD ORC|1|NW|1234567890^EPICADT^MR|1234567890^EPICADT^MR|86702^ELECTROCARDIOGRAM^LOINC||20230804120000||||||20230804120000 OBR|1|NW|1234567890^EPICADT^MR|1234567890^EPICADT^MR|86702^ELECTROCARDIOGRAM^LOINC||20230804120000||||||20230804120000
If you want to quickly generate a message it might be helpful
It did get me thinking that an LLM could be the way to go here
I've just stumbled across this post. I am an aspiring developer and one of my first few projects is a HL7 v2 message generator. It takes in a message template and then you can edit and create bulk messages from it.
Simply choose which segment to edit, specify the field position and then you can add a CSV of values. test, test2 and so on. You can choose to download the messages or display them in your browser. It also provides a JSON file showing you which new values are grouped. Not sure of all the use cases but I built it for a bit of fun over a weekend!
Unfortunately it doesn't have the ability to forward any requests.
medmessagebuilder.com if any is interested! (I hope there aren't any bugs!)