DTL Transformations and GetValueAt/SetValueAt calls on HL7 messages will truncate any fields longer than 32K.  To avoid this, the methods GetFieldStreamRaw and StoreFieldStreamRaw must be used when dealing with fields that might be larger than 32K.  OBX:5 is a frequent example.  These methods have some subtleties and must be used carefully.

This can't be done by simply dragging from left to right in a DTL.  It must be done with a code action.  Also, the StoreFieldStreamRaw call must be the last edit made to the segment because the segment becomes immutable after that.

3 6 1,511

We are seeing ERROR #5002: Cache error: <MAXSTRING>zSaveData+14 ^EnsLib.HL7.Segment.1 come up on a Routing rule when we are trying to Encoded PDF's through a DTL. In the DTL we are copying source to target. Is there a limitation on trying to copy source to target? 

At the bottom of the DTL you are see that we commented out converting the Encoded PDF to a Stream, is it recommended that we always use %Stream anytime we are dealing with PDF's?



0 4 141

Hi all, 

I'm trying to output a XML file, mapped from a ORU_R01 2.3 HL7 message, with a file name based of fields in the source HL7 message in the following format, 


To give something like RXR0000000-000000123-20211125105415.xml as the output filename,

0 1 44

Hi All,

I have configured Business Operation with EnsLib.HTTP.OutboundAdapter and set properties.

In the BusinessOperation method  I am trying to create %Net.HttpRequest 

Set httpRequest= ##class(%Net.HttpRequest).%New()

to post REST Service.

I am able to access HTTPServer ,URL details form Adapter using below code

Set httpRequest.Server = ..Adapter.HTTPServer
Set httpRequest.Location = ..Adapter.URL

How to read SSLConfiguration from Adapter properties?

0 3 58

Created by Daniel Kutac, Sales Engineer, InterSystems

Warning: if you get confused by URLs used: the original series used screens from machine called dk-gs2016. The new screenshots are taken from a different machine. You can safely treat url WIN-U9J96QBJSAG as if it was dk-gs2016.

Part 2. Authorization server, OpenID Connect server

2 12 3,919

Hi All,

We have a requirement for one webpage that should be access  in our VPN with out authentication. If it asks user name password that also fine.

This page should be a dashboard for the  ensemble health monitoring. Support Team seating Area we have big SMART Monitor which always shows this webpage. Support engineers keep on eye on this monitor, if it shows action required then .  they will act upon immediately. Expecting some widgets like  

0 0 65

Hi all, 

Just wondering if there's a quick way to get the DocType, without knowing it in advance, from a message body by building a string from the VersionID, MessageType, and TriggerEvent fields? (Similar to how it might be done dynamically in Rhapsody)

Can this then be used to set the DocType for a source message?

If this is not the best practice what is a suitable alternative approach?

Thanks for your help,

0 6 131

Hi All,

I am working in Heath Share Heath Connect Integration.

I have a requirement to change SOAP call to REST call in integration. For SOAP call already payload is ready in XML string. and Working fine.

Now I need to make REST API call instead of existing SOAP call.

I have created REST Business Operation and ready to Call it from Business Process.

Here I should not change any Transformation in Business Process , only change  in Operation invocation

0 5 117

A vendor is sending an HL7 message where they are hitting the enter key within the field. I am looking for a way to concatenate the lines.  I want to know if there id a way to search the field for a carriage return and piece together the field.  This is an example of what they are sending:

NTE|1||Fake Interpretation A Overall Summary. Patient presents with abnormal SR and RHR. 
Fake Interpretation B 80/120
Fake Interpretation C  - HR 55 BPM|


0 3 109
Guillaume Rongier · Apr 9, 2019 3m read
IRIS/Ensemble as an ETL

IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.


Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

1 7 824
Gary Koester · Nov 11
#5003 not implemented

I am trying to create a scheduled task but get not implemented error when I try to run it.

Class PICIS.Core.Tasks.CleanEntry Extends %RegisteredObject

ClassMethod ClearTasks(pBackupFile As %String = "d:\Temp\BackupTasks.xml", pDelete As %Boolean = 0)
    // Create backup file
    Set tBackup = ##class(%Stream.FileCharacter).%New()
    Set tBackup.Filename = pBackupFile
    Do tBackup.WriteLine("<?xml version=""1.0"" encoding=""UTF-8""?>")
    Do tBackup.WriteLine("<Tasks>")

0 14 161
Robert Cemper · Sep 11 2m read
Successful Troubleshooting

During the last weeks, I was working on various issues and problems related to SW development.
I found that quite often problem analysis was mostly chasing issues just on the surface
but not really attacking the deeper reasons of the problem and follow the consequences.
It's like the doc that stops your leg bleeding but doesn't see that it is broken.

0 2 272

InterSystems technologies are renowned for their high performing databases, which support the systems and operations of many organisations. However a key ingredient to this success is the quality and maintainability of their code. 

The quality of code can impact everything from speed and ease of fixing bugs and making enhancements, to the overall performance of your organization and your ability to get ahead in the marketplace. 

By ensuring your code is maintainable, you can reduce approximately 75% of the systems life cycle costs*. This is why, at George James Software, the solutions we build are always straightforward and written in high quality code - because we know that this solid foundation can positively impact the rest of your organization. 

With a maintainable system you're able to reduce your overall maintenance as any issues that occur are significantly faster to identify and fix. This means you're free to allocate that time and budget to enhancements, enabling you to get the most value out of your applications and ultimately better support your organization. 

Keep an eye out for our next few posts about what a maintainable system looks like and the tools that can help you keep your code maintainable, in order to help you to reduce those maintenance costs.  

1 1 109

EnsLib.HL7.Adapter.TCPInboundAdapter has a Connected property that I assume is set to the state of the connection session with the remote host; i.e. 1 when Connected, 0 when not. I'm assuming this is the property the Production Configuration web page uses to display the state of the service (green for Connected, red for not Connected, etc.).

How can I interrogate the value of that property of an active service, via a method running in separate process?

(It really seems like I should know this, but I'm just not finding the right magical incantation)

0 3 52

Hello community,

It would be appreciated if you could read and respond to us:


➡️ We need to activate a SOAP Operation during a time slot, in order to send messages to the target system, only for a few hours; for example from 4am to 8am.


The requirement is to do this without a scheduled task. This is because when changing nodes, in the production mirrors, there are difficulties, challenges, or issues with scheduled tasks.


0 2 62