Health Level-7 or HL7 refers to a set of international standards for the transfer of clinical and administrative data between software applications used by various healthcare providers
I’m new to this community and could really use some help with creating a production in InterSystems IRIS for Health Community 2024.3. I have deployed my instance using Docker. Here’s what I’m trying to do:
We have a use case whereby very large HL7 MDM messages, which contain many OBX segments, need to be processed by a custom business process. Part of the process is to iterate over each OBX segment and set a value in the same field for each segment.
Like many others probably find themselves, we were stuck doing live data mapping in our Interface Engine that we really didn't want to do, but had no good alternative choice. We want to only keep mappings for as long as possibly needed and then purge expired rows based upon a TTL value. We actually had 4 use cases for it ourselves before we built this. Use cases:
I did a very usual hl7 adt transformation DTL, but it is with a customized schema, like ADT_ALL, it is a structure that tries to cover all the ADT schema scenario so we can use 1 type for all ADT messages.
the DTL tests fine in DTL test, with all the segment transformed correctly, but once I put it to test, to send message through source and the message after transformation can only go to MSH, EVN, but won't transform other segment like PID etc.
https://www.youtube.com/embed/5O9J-tRQZM8 [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]
Epic had changed some of their logic on their Incoming Radiology Results which now require an Ordering Provider even though it is supposed to account for it within the Epic Interface settings.
I was wondering if we are using a custom schema if there was a way to default a value into OBR:16 if it was not valued without having to modify all the DTL's for these Results.
Is there a way to set this via the schema editor or in the background so we don't have to create/update DTL's or create a custom TCP Operation Class??
My team is exploring options for handling timezone offsets in DTL and we’re wondering if there are any built-in methods available — ideally low-code or no-code solutions. Specifically, we're looking for a way to adjust timestamps based on the date and whether Daylight Saving Time (DST) is in effect.
I'm trying to add another segment to an HL7 MDM message. More specifically OBXgrp(1).OBX. The addition itself works,. When I look at the message in the trace, the segment with the content can be seen. However, it is not displayed as an OBX segment.
Build Map Status = 'ERROR <EnsEDI>ErrMapRequired: Missing required OBXgrp(1) element at segment 6' 'ERROR <EnsEDI>ErrMapSegUnrecog: Unrecognized Segment 6:'' found after segment 5 (TXA)'
How do I correctly call a EnsLib.HL7.MsgRouter.RoutingEngine class from the BPL?I can successfully call the BPL from the EnsLib.HL7.Service.TCPService, and I have the BPL created to delay then call the rule. And I set the context and the result location.
For all Prosthetics orders: when ORC-1(Order Control) is "NW" (New Order), need to update OBR-18(Placer Field 1) based on PV1-2 (Patient Class) value. assumption is that the selection logic is that all prosthetics orders with OBR-18 field is always blank. Description : If PV1-2 is I, insert I in OBR-18 If PV1-2 is O, insert O in OBR-18 If PV1-2 is E, insert O in OBR-18 If PV1-2 is P, insert O in OBR-18 If PV1-2 is R, insert O in OBR-18 If PV1-2 is B, insert O in OBR-18
Is there a generic process for "walking" the structure of a virtual document - eg an HL7 message (EnsLib.HL7.Message) or an XML document (EnsLib.EDI.XML.Document).
At least we'd want to be able to visit all "nodes" (HL7 fields or sub-fields, XML nodes) in the virtual document and be able to work out/generate the Property Path (so we could call "GetValueAt").
We can just about come up with something generic for HL7, since it only nests down to 4 levels within each segment, though we're using numeric Property Path's at that point rather than symbolic ones (MSH:1.3 etc).
I'm looking for a practical project guide to help me gain hands-on experience with InterSystems Ensemble HL7. Ideally, this guide would walk through building a small project — something that covers key concepts like message routing, transformations, and interoperability.
My HL7 interface in production is outputting messages to a HL7 File Operation and a EnsLib.HL7.Operation.HTTPOperation. There is no errors in the File Operation, but the HL7 HTTPOperation is giving ERROR #5911: Character Set 'iso-8859-4' not installed, unable to perform character set translation. Both the HL7 File Operation and HL7 HTTP Operation are using latin1 for Default Char Encoding.
What is ERROR #5911 about? Is something missing in the IRIS installation?
I have MacBook Pro M3 and I'm new to the IRIS for Health setup / installation with all pre-requisite / requirements so someone could please help me with detailed instructions on how to setup IRIS for Health (HL7 & FHIR) from scratch along with SQL Server? I have Windows 11 installed in parallel desktop if that's required and complete installation / setup is not possible on MacBook.
Trying to start investigating an error we are seeing with multiple of the same messages getting sent to the same vendor. We receive an HL7 message with an RTF embedded from our EMR, send it through a DTL to just update the Patient Class, and then send it onto the Operation which is TCP.
For all Prosthetics orders: when ORC-1(Order Control) is "NW" (New Order), need to update OBR-18(Placer Field 1) based on PV1-2 (Patient Class) value. assumption is that the selection logic is that all prosthetics orders with OBR-18 field is always blank. Description : If PV1-2 is I, insert I in OBR-18 If PV1-2 is O, insert O in OBR-18 If PV1-2 is E, insert O in OBR-18 If PV1-2 is P, insert O in OBR-18 If PV1-2 is R, insert O in OBR-18 If PV1-2 is B, insert O in OBR-18
We are attempting to setup an EnsLib.SOAP.OutboundAdapter to send an HL7 message to a vendor hosted AWS site. We have the Certificate from the vendor and defined the TLS setting. However, when we are sending the message we are receiving...
Unable to open TCP/IP socket to server hcis-staging.cbord.com:443
We are using a DTL transformation to take HL7 and transform into custom XML (XML is a virtual document, held in an EnsLib.EDI.XML.Document object). The schema specifying the format of the XML says one element should occur no more than 24 times (maxOccurs="24" in the XSD schema). However, the transformation to produce one such element always produces 24 elements, all but the last one blank, when tested stand-alone.
We are attempting to send HL7 messages over to CBOARD NetMenu over HTTP using SSL. We set this up using the EnsLib.HL7.Operation.HTTPOperation adapter. When we attempt to send the message we are receiving
MSH|^~\&|||DIETOE|A6M0|202505131437||ACK^HTTP^415|00|P|2.1 MSA|AE|9165602|HTTP (N)ACK 'HTTP/1.1 415 Unsupported Media Type'
We're having an issue with some messages being sent to a downstream system from Healthshare. Part of the free text in the NTE segment is displaying with special characters on the system front-end but is not present in the HL7 message that we send to them. We are guessing that this is a result of some of the text being copied and pasted from something like MS Word. The '?' on their system is just representing an invalid character.
Is anyone aware of a way to prevent this occurring? We are sending the messages using the 'cp1252' encoding.