Because I had no idea how to build an integration solution for HL7 and didn't know where to start, I decided to follow the course Building Basic HL7 Integrations with InterSystems on Learning portal to get at least the idea of where to begin. After I studied all of it, I decided it might be a good idea to share my thoughts and reflections about it with everyone.

8 1
4 663

While you don't need to take your exam before the end of 2022, the vouchers provided to the UK&I Summit 2022 must be redeemed before January 1, 2023. Please register for an exam before time runs out.

You can find additional information about the InterSystems Certification Program here.

2 0
0 177

In the previous article, we talked about the flow of data to request the test and receive the results of the requested test. Now let's talk about one of the most important messages of HL7v2 standard.

Every time a receiving application accepts a message and consumes the message data, it is expected to send an ACKnowledgement (ACK) message back to the sending application. The sending application is expected to keep on sending a message until it has received an ACK message. It is done to inform the sending application that its message was successfully received, that it is (not) valid in accordance with HL7 rules and, if it is compliant, that it will be processed at some point.

3 0
0 1.1K

I'm testing an HL7 2.4 -> HL7 2.3.1 set of transformations. For the time being the source (service) and sink (operation) are file adapters. What I'd really like is to be able to save the output file with a name matching/containing the input file name - but as the DTL transformation in between uses "new" rather than "copy" it looks like I'm losing (some of?) the metadata, including the "Source" field (Body tab, message viewer).

Is there any way of preserving the Source field so the OutboundAdapter has access to it?

0 3
0 366
Article
· Nov 29, 2022 6m read
What's HL7v2?!

HL7 (Health Level 7) is a set of technical specifications for computerized exchanges of clinical, financial and administrative data between hospital information systems (HIS). These specifications are variously integrated into the corpus of formal American (ANSI) and international (ISO) standards.

The L7 of HL7 indicates that it is a standard that operates at layer 7, in other words at the application layer, of the OSI model. This means that HL7 does not have to take into account exchange security considerations, or those of message transport (this being ensured by lower-level layers such as SSL/TLS for security or TCP for the transport of data for example). To be more precise, layer 7 supports communications for end-user processes and applications and the presentation of data for user-facing software applications. As the highest layer of the OSI model, and the closest to the end user, layer 7 provides application-specific functions such as identifying communication partners and the quality of service between them, determining resource availability, considering privacy and user authentication, and synchronizing communication, as well as connecting the application to the lower levels of the OSI model.

Returning to the HL7 standard, the HL7 version 2 standard (also known as Pipehat) was originally created in 1989 but is still being used and updated regularly, resulting in versions 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7, 2.7.1, 2.8, 2.8.1, 2.8.2 and 2.9. The v2.x standards are backward compatible (e.g., a message based on version 2.3 will be understood by an application that supports version 2.6) and in higher versions, you will see some fields are left just for it.

Despite it being more than 30 years old, HL7v2 remains the most widely used healthcare interface standard by a large margin according to the HL7.org portal that tells that:

12 4
1 1.1K

In the previous article, we've seen the structure of one of the most used types of HL7 message - ADT (Admit, Discharge, Transfer) and an example of ADT^A04 with the description of all its fields. Now let's look at another flow of data having to do with ordering and fulfilling the orders of tests. I'm talking about ORM (as of version 2.5 you should use specific messages to order tests, like OMG, OML, OMD, OMS, OMN, OMI, and OMP), ORL and ORU messages. In a very simplified case, the exchange of data may look like this.

Let's look at these messages in more detail.

4 0
1 2.1K

Morning everyone,

I would appreciate some advice please- hopefully there is plenty of experts out there.

We are setting up an sFTP share between hospital trusts here in the UK and I have set the outbound operation up using a custom extension of EnsLib.HL7.Operation.FTPOperation.

We are configuring a VPN tunnel to run between the sites also so there is a bit of firewall / network routing to take place to enable the connection but to add in a complication we are on a mirrored cluster and usually present on a Virtual IP address.

0 2
0 374

Hi Community,

In this video, you will learn about exciting new ways to perform analytics using data in your HL7® FHIR® repository:

InterSystems IRIS FHIR SQL Builder: Sneak Peek @ Global Summit 2022

https://www.youtube.com/embed/lCv5t4785JY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 0
0 379

VetsEZ is looking for an InterSystems Technology Platform - Practice Lead to serve our Federal healthcare customers. As a lead systems integrator, VetsEZ has been delivering large-scale implementations for various federal customers, including the Department of Veterans Affairs (VA), with the world's largest footprint of InterSystems technologies. InterSystems Technology Platform comprises core technologies, including HealthShare, Caché, IRIS, Ensemble, DeepSee, and iKnow.

0 0
0 176

Hi Community,

Please welcome the new video on InterSystems Developers YouTube:

Getting To Know FHIR - The Best Explanation of FHIR They've Ever Heard @ Global Summit 2022

https://www.youtube.com/embed/k_9uh98LEjY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

3 1
1 290

Hi all.

I have a scenario where I am receiving NACKs and I'd like to adjust the error handing of the operation based on the content of the NACK.

For example, I could receive the following and want to move onto the next message:

MSH| ^~\&|||||20221025083135.489+0100||ACK ^A02^ACK|9271|D|2.5.1
MSA|AE|1664378390234
ERR|||207 ^Application internal error ^HL70357^^^^^^Cannot transfer patient, encounter is cancelled.|E

However, I could also receive the following and want to keep retrying:

0 1
0 217

We will receive an ORM message in Business Service in Iris. From that ORM, an ADT^A31 message will be generated and sent out to the EMR before the ORM message is sent out. The ORM message has to wait until Iris receives an acknowledgement from the EMR indicating the ADT message was received. Then, the ORM message will be sent to the EMR. What do I need to set up to hold the ORM message until the acknowledgement is received?

0 11
0 585

Hi all.

I have setup a HL7 Operation using the HTTP adapter, and I'm getting what seems to me as an unusual response. When sending a sample message to the operation, I am getting a nested ACK. For example:

MSH|^~\&|||xxx|xxx|202209230806||ACK^HTTP^200|00|D|2.1|1
MSA|AA|RWSD7V5iuEC5F6zscDWz|HTTP ACK 'HTTP/1.1 200 OK' : MSH|^~\&|yyy|yyyy|xxx|xxx|20220923080633||ACK^A01|1663916793965||2.3||||||
MSA|CR|RWSD7V5iuEC5F6zscDWz|Error Message Goes Here.

0 1
0 143

I am trying to split a HL7 message (RDE O11) into several messages depending on how many RXC segments there are in the message (Two RXC segments would need to two separate HL7 messages)

I have seen a couple of posts regarding this but am struggling with my BP using ObjectScript, the idea is to take the receiving message and split this before passing it onto another BP

Here is my code so far

0 2
0 351

Hey Community,

Join us to have a look back at recent developments in care planning and coordination and a look forward at what is on the horizon:

Unified Care Record: New & Next 2022 @ Global Summit 2022

https://www.youtube.com/embed/8HFIJ1D5h-A
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 125
Question
· Sep 12, 2022
Routing ACKS.

I'm trying to get an ACK routed to a different process in our Test environment and here is the router setup:

I have a rule in the target router to send to an operation.

The problem I'm running into is that the HL7 ACK coming back is marked as "Discarded", so it's not even getting to the second router.

0 4
0 240

Hey Community,

In this demonstration you will see the building blocks of an integration in InterSystems IRIS for Health and HealthShare and see how messages are received, processed, and sent—including messages in the HL7 format:

Overview of Basic Components for InterSystems Integration Solutions

https://www.youtube.com/embed/aD2G5pfUC5Y
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 179

Hi everyone!

I am recruiting on a fully remote Intersystems Developer. This role will be a long term contract to begin with high likelihood of extensions or conversion permanent. Please check out the job description down below and feel free to send me an email with your resume: Spencer.Frey@insightglobal.com

0 1
0 316
Question
· Dec 19, 2016
HL7 Section to JSON

Hi all,

I'm trying to convert a HL7 section to a XML or JSON string.

We need to save the content of PID section into a SQL Column, therefore we need to convert it into a XML o JSON string

is there any easy way to convert it?

I've tried to convert it directly into a DTL, but all my attempts have been unsuccessful

Best regards,

Francisco Lopez

1 6
0 1.3K

Hey Developers,

Learn the basics of HL7® V2 message management in InterSystems IRIS for Health™:

Introduction to HL7 V2 Integrations in InterSystems IRIS for Health

https://www.youtube.com/embed/bO3C9pKmdJs
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
1 223

Hello,

I want to access the HL7 Router settings from within the HL7 rule. Goal is to create a New class by extending "EnsLib.HL7.MsgRouter.RoutingEngine".

Then create a PARAMETER ProcessMessage which can be set to an integer value for the HL7 Router.

Create a Rule class and based on the value of this setting ProcessMessage
process/not process the messages.

1 15
0 399

Hi ,

We have inbound HL7 message we want to transform. Is it possible to copy inbound NTE segments at ORC level to PID group level in the transformed messages? I see functions for insert / append / set etc but they appear to be related to specific properties / fields of segments as iodised to the entire segment.

thanks

0 6
1 577

Hi my fellows camrades,

I have a question that seems really simple but it's quite a pain in my ass right now.

I had to rename (take a file from a directory and move it to another) which is a .hl7. Whenever this file has been displaced, I have to change the extension from .hl7 to .OK without using the rename method. Maybe using the attribut?

Do you have any ideas how I could do it?

This should follow the step i have explained right before.

I have a service to take the file but i need an operation to rename it then change his name.

0 2
0 405

I noticed today that when we are creating a message from one doc type to another doc type, that the message type categories are not necessarily set. This is causing some issues with routing rules when we try to reference the Message Type Categories. Is there a way to make sure the Message Type Categories are being set within a DTL to make sure this doesn't cause problems down the road?

Thanks

Scott

0 7
0 243