I have a service named FTP_In that is of class EnsLib.HL7.Service.FTPService. It picks up files from multiple subfolders and sends them to an EnsLib.HL7.MsgRouter.RoutingEngine. What I want to do is somehow capture the subfolder as a variable for use in the routing rules. Is this possible?

Let's say I have the following files and directory structure on my FTP Server

0 6
0 542

Hi,

Can anyone point me to an example of a DTL & Class method that can pull a base64 encoded PDF out of a MDMT02 message?

This is really asking for two things;

- how to make a DTL that extracts a specific subfield of an HL7 2.3 message into a message of its own,

and

- how to transform an base64 encoded document into its original binary form for writing to a file.

I'd also love to see an example of an HL7 2.n MDM^T02 ==> HL73.ITK2 non-coded CDA

0 3
1 3.5K

So this may sound trivial, but I'm seeing conflicting information on this topic and hoping to get clarification.

According to Enslib.HL7.Message class definition, the maxlength of RawContent is 10,000 characters. So when using encoding like UTF-8, that is 10KB. When using Unicode, that should then be 20KB.

But then also coming across some forums and documents where 32KB is maximum size before HL7 fields are truncated.

What is the sure way to determine and modify an interface's maximum supported message size?

0 6
0 3.4K

I'm receiving HL7 message containing the escape sequence \X00D\ indicating a carriage return. In the HL7 documentation I find that this is a valid escape sequence but when I read the intersystems documentation it states that only \X0D\ is valid.

What is the best way to work around this? I think that intersystems should change the UnescapeEx method in the EnsLib.HL7.Segment so that it complies with the standards.

0 2
0 887

Does Intersystems Ensemble support (for LGBTQ+) gender code "U" in Healtshare? Specifically for the clinical (or physician) viewer?

Test shows the gender code is consumed without error and stored, but the viewer does not present it except (as far as I can see) in the patient search drop-down.

The 2.3.1 HL7 ADT schema code table lists "U" as a supported option.

Would this require customization in the viewer code to support this?

0 3
0 397

Hi there.

I am dealing with a clinical system that returns a stack trace within the NACK (Specifically, within MSA:3).

Within the stack trace there is an error code I am interested in, and hoped I could use the Reply Code Actions to look for that code within the error by using the "E*<text>" condition to either suspend or accept the response and move on. The problem is, looking at the error within the event log, I can see that the error text is truncated, cutting off the error code I'm looking for within the stack trace.

0 3
0 490

If you're viewing a HL7 message in the front end, with a schema correctly applied, you can mouse over a segment or a field and see the schema path, e.g:

Mousing over PV1 in the above message shows the schema path is "PIDgrp(1).PV1".

I'm writing a utility function which you pass an EnsLib.HL7.Message into. I'd like to loop through each segment and take action dependant on that schema path. How can I reference or determine that schema path in code?

0 2
0 513

Hello,

I am trying to create a HL7 message (REF_I12 message) using variables extracted from a Dynamic Object and need some advice about segment creation issues that I am having. Some background info: I receive a JSON response from an API call and used %FromJSON to convert the response to an Dynamic Object. Some of the items in the response are repeated such as NOKName, NOKrelationship.

0 3
0 610

Awhile back the Developer community helped me with a situation I was having... How to loop through a Repeating Segment and Single Filed, example OBX().5, within a Business Process Rule and compare it against a Data Lookup table.

Well now I need to take it a step further. I need a way to loop through OBR() segment, and loop through OBR().4() and the subfield 4.1 and compare it to a Data Lookup table.

So I thought I could copy my existing function code and add another level to it, but its not returning what I would expect.

0 2
0 354
Question
· Mar 18, 2022
HL7 in general business rules

I'm trying to create a general business rule, not an HL7 message router. (This is because i want to return values from the rules and message routing rules don't appear to be able to return values.) But, I want the business rules to be able to look at HL7 messages; I've copied a simple when condition from an HL7 message router but the error log throws up <PROPERTY DOES NOT EXIST> ...... *HL7

0 6
0 435

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 245
Question
· Nov 13, 2023
Message data global

Hello,

We noticed from the integrity logs that some of the namespaces in our integration engine are using large amount of space ( ~380GB ) for the global ^EnsHL7.Segment.

We have culling implemented for large globals like MessageHeader and MessageBody.

Is it a standard process to implement culling for ^EnsHL7.Segment global and any idea about what will be the impact of adding culling to this global?

0 2
0 247

Folks

1) What's the correct way to check for an existence of a segment? So far I have been doing this by checking to see if a required field is non-null, and this seems to work but is a bit clumsy. In this case, it’s an X12 message being checked in an IF action in BPL:

request.GetValueAt("NTE(1):Description")'=""

Or in a DTL, to see if a Z segment exists:

source.{ZEF:Counter}=1

0 3
0 1.3K
Question
· Sep 7, 2018
Remove FHS segment from file

Is there any out of the box capability in Ensmeble to remove an FHS segment from a batch file? We have a client that is creating a batch of HL7 messages and they insert an FHS but there is no trailing FTS.

We are hoping to avoid custom COS code to handle this scenario.

0 2
1 396

I'm looking for options to create multiple DFT HL7 messages based on data contained in a ZCO segment in a single inbound DFT message. I have the following ZCO segment:

ZCO|CCC^Charge Code|1306794,1071301,23510,1071424|MFCD^Charge Code|14232,3542|||||

In this example, I need to create a new DFT message based on the data contained in ZCO:2. Each code needs to be in it's own DFT message and put in FT1:7.1. The number of codes will vary for each inbound message, but each code will need to create its own outbound message to the client.

0 5
0 1.1K

Hi ,

I tried to import Custom schema with 'Z' segment. I executed "Do ##class(EnsLib.InteropTools.HL7.MessageAnalyzer).Interactive()" in IRIS Terminal.

After executed the steps, i am getting below message, So i could not able to add z segment into my customschema 'Test_2.3'
------------------------------------------------------------------------------------------------
Summary Report for workspace C:\Demo\Migration\Workspace
Schema is Test_2.3
ALL: 0 matched, 1 unmatched

0 1
0 186
Question
· Nov 2, 2020
HL7 - FHIR

Hi All,

I know hundreds of people have done this but I'm looking for some DTL's as a start to do HL7 to FHIR, I appreciate everyone's HL7 is slightly different, but just some starter DTL's would be much appreciated? Can anyone help?

Regards

0 2
0 462

I am working on tweaking our current patient load process. The roster input is in text pipe delimited format, parsed out and transforms it to a standard HS.Message.PatientSearchRequest, and send to business process for patient matching. Result is transformed into a standard ADT HL7 message using EnsLib.HL.Message class. I would like to know if there is another class I can use that will transform my output to a text flat file pipe delimited instead of HL7 format? any advice on how to do this is greatly appreciated.

Thanks!

0 2
0 330

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 579
Question
· Nov 20, 2023
HL7 field for base64 in orl

Hi everyone,

It could be great if some of you have had experience in hl7 v2 messages. The question is about FHIR to hl7 v2.5 conversion. I have to translate a binary resource, encoded in base64 into an orl_o22 message. Do you have advices? Which field could be used for that datatype?
I have found some implementation using nte segment but it is limited in characters.

Thank you

0 5
0 173

Suppose I have an image and need to convert that image into a PDF for inclusion in an HL7.

I know that Zen Reports can display an image in a PDF but I do not want to view the image in a web page. I just need to convert the image to PDF in a Process and then include that PDF in an HL7. The workflow would be like this:

Get image -> Convert image into PDF -> Include PDF in HL7 OBX.

I know how to do the last part to include PDF in HL7 OBX. Just need ideas on the first part.

0 2
0 1.1K

I have an interface that does not send me specific ID's, so I am scanning the AIL3.2 (Text) field for certain characters. The Routing rule is getting pretty big with all the OR statements. Is there a way that I can define what I am searching for in the data lookup table, and not have to scan the whole field that it does by default? Is there a way that I can simplify this?

0 3
0 796
Question
· Sep 10, 2018
OBX 5 and CRLF

Hello,

I have some issues trying to store a base64 encoded stream into the obx:5 segment.

I'm using the StoreFieldStreamBase64 method in my business process to store the stream into the segment.

I'm sending the hl7 message containing my stream to an ensemble business operation (EnsLib.HL7.Operation.FileOperation) to write the message on disk.

When i'm reading it with an ensemble business service, it can't parse the stream because it contains multiple CRLF.

Why is my business operation splitting my stream into multiple newlines ?

0 7
1 1.1K