#Ensemble

23 Followers · 2.4K Posts

InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record

time.

Learn more

Documentation

Question Abdul Majeed · Oct 1, 2025

I'm trying to access the Bearer token from the Authorization header in my REST service class, but I'm getting a 500 Internal Server Error when I try to use %request.GetCgiEnv("HTTP_AUTHORIZATION").

My Environment:

  • InterSystems ensemble 2018
  • Using EnsLib.REST.Service with HTTP Inbound Adapter
  • REST API URL: http://ip:port/api-kiosk/patientData

My Code:

objectscript

Class CIS.PATIENT.ReadPatientData Extends EnsLib.REST.Service
{
Parameter ADAPTER = "EnsLib.HTTP.InboundAdapter";
Parameter HandleCorsRequest = 1;

XData UrlMap [ XMLNamespace = "http://www.intersystems.
4
0 96
Question Saju Abraham · Sep 24, 2025

Our vendor is developing an interface API on their end to capture HL7 data on a Server Port, and they require us to send a pre-defined HL7 Order message for testing every hour until the API is completely operational.

Is it possible to accomplish that in a Business Operation automatically without utilizing a service or process? The BO is a standard TCP/IP connection.

I'm manually sending the message again from the Operations right now. I do not have access to the System Operation to use the Task Manager feature.

3
0 104
Question Virat Sharma · Sep 13, 2025

Hi Team,

I've basic learning in Ensemble. I want to create a code as per following request. Please help in clearing following questions

We have a business process-AA. In this business process, we have onRequest method, here after performing some logic, I have to call a method ProcessAAlogic. 

In ProcessAAlogic method, after initial processing, we have to call a business operation BB asynchronously (which will give a flag "AACompleted" having value 1 or 0) in pResponse object.
Now based on this AACompleted flag, I have to call other methods which are part of onRequest method  i.e.

2
0 93
Question Tom Philippi · Jan 17, 2018

We are trying to make an ODBC connection via our intersystems ensemble (2016.2 running on ubuntu). However, when I am testing the connection I receive a pop-up that: "Http object response incomplete or invalid.0,#R". Note that the iodbctrace.log remains empty (and it is working because on the first try it registered a 459 error that I should activate kerberos, which I did). Any advise where I should look?
I have taken the following actions:

1. Expand the cacheodbc.

5
0 1732
Question Gigi La Course · Sep 9, 2025

I have a vendor that only wants results on patients that arrive to the ED via EMS/Ambulance.  The value I need for filtering is in the PV2;38. Some of the results requested do not allow the PV2 segment to be added to the schema in the EMR.  I was told that other orgs have used a lookup table that is populated with the PV1;19 value when an ADT messages that meets the criteria is sent in.  This table is then referenced in the business rule for the results that do not have PV2;38 and if Encounter number from result message exists on the Table, the result is sent.  Has anyone done this before?

1
0 93
Question Matheus Augusto · Sep 4, 2025

Dear, Community!

I have a concern about using %Stream.TmpCharacter for storage purposes. Reading the class's source code, I can understand a bit about how it works. But I'd like to know from the community how it actually works. Is it necessary to use the .Clear() method to clear this buffer, or is it done automatically upon disposal?

Note: Please forgive my poor English.

6
0 143
Question Anna Golitsyna · Aug 28, 2025

Studio's Find In Files finds nothing if CLS routines are included. The error is WIDE CHAR. After using ##class(%Studio.Project).FindInFiles programmatically and then ZW after the same error I strongly suspect that CodeWalkopdatecopyopt in EnsLib.InteropTools.HL7.Cloverleaf.Parser.cls  is to blame. I cannot even open this class, unlike other classes from EnsLib.InteropTools.HL7. This error prevents searching even if System Items are excluded and I would peg EnsLib as System. Any remedy besides updating IRIS? Assuming this is fixed in later IRIS versions.

2
0 101
Question Chris Lambert · Aug 21, 2025

Hello,

I'm trying to get the Reply Action Code to work with the error message text.

I have this ACK:

MSH|^~\&|APP|FACIL|||20250821143621||ACK|CUEACK_20250821143621|P|2.4
MSA|AE||Failed to queue message

This is some of the Action Codes I've tried:

  • E*Failed to queue message=S
  • E*Failed=S
  • E*"Failed to queue message"=S
  • :E*Failed to queue message=S
  • :?E*Failed to queue message=S

It's not suspending the message however.

What am I doing wrong?

Thank you

2
0 108
Question Dustin Knudsen · Jun 7, 2021

One of the business operations recently errored out, and keeps spitting this message:

ERROR <Ens>ErrFailureTimeout: FailureTimeout of 15 seconds exceeded in EnsLib.FTP.PassthroughOperation; status from last attempt was 
ERROR <Ens>ErrOutConnectFailed: SFTP Connect failed for ftp.[censored].com:2222/[censored]/SSL='!SFTP'/PubKey='C:\InterSystems\HealthShare\Keys\pub\[censored]'/PrivKey='C:\InterSystems\HealthShare\Keys\priv\[censored].pem'
with error ERROR #7500: SSH Connect Error '-2146430963': SSH Error [8010100D]: Failed getting banner [8010100d] at Session.

2
0 449
Question Enrico Moreschi · Jul 17, 2025

Hello everyone,

I'm using EnsLib.TCP.TextLineOutboundAdapter to communicate with a third-party system over TCP/IP. The issue is that the system sends back only an integer (e.g. 1001 or -1) without any terminator (like $c(10)).

The adapter expects a terminator and always times out with ErrTCPTerminatedReadTimeoutExpired, even though the correct data is received. Here an example of an error: 
[TCPSender] Errore nell'invio: ERROR <Ens>ErrTCPTerminatedReadTimeoutExpired: TCP Read timeout (15) expired waiting for terminator 0, data received ='1005'

Trying different terminators (e.g.

3
0 92
Question Colin Brough · Jul 9, 2025

When accessing management portal through IIS the page is not fully rendered and the buttons/links that are displayed don't work.

Management Portal works fine through private web-server.

Have just set up IIS/CSP Gateway to access Ensemble, and accessing the CSP Gateway configuration pages through IIS works fine (screenshot at end of post).

This is the view when accessing management portal through IIS (port 80) - missing images, links don't work, not all content displayed:

And this is the (top of the) view when accessing through the PWS (port 57772):

I've been following @Kyle.

2
0 165
Question Colin Brough · Jul 1, 2025

Is it possible to audit code changes in a namespace?

Ideally what we'd like to be able to do is check which classes were compiled (or deleted) in a time period, eg in last 3 months, and which user made those changes. Even better would be an audit of what those changes were, but that's less important (for us, as we can probably find that information in other ways).

We have a service where 3 groups, each with multiple users, potentially have access to make changes to the live service. With the best will in the world, each group doesn't always tell every other group about changes made.

6
1 145
Question Colin Brough · Jun 26, 2025

I am attempting to follow the tutorial at Publishing Web Services Using Caché | Caché Web Services QuickStart Tutorial | Caché & Ensemble 2018.1.4 – 2018.1.11 to build a toy SOAP web-service using Cache but am running into what I suspect are permissions issues, or perhaps setting up the "plumbing" to get an incoming request to call the web-service methods.

Ensemble instance running on local laptop. Only the Ensemble private web-server installed on the machine (no IIS or Apache).

0
0 75
Question Fraser J. Hunter · May 1, 2025

Mirror Member

Hi ISC Experts,

I'm in the process of setting up InterSystems IRIS for HealthShare with database mirroring, and I’d appreciate some guidance around how to handle an existing ODBC connection in this new setup.

Scenario:

  • We currently have a system running IRIS for HealthShare that external systems connect to via ODBC (using a standard connection string with hostname and port).
  • We're now configuring mirroring on this system — it will become one of the mirror members (Primary/Backup).
4
0 163
Question Justin Ruggles · Jun 17, 2025

I am trying to add a value to my concatenation string and the value is not being inserted in the right place. I am adding onto this code from another developer and cannot seem to get it to work. The only code I have added is underlined in bold red.

This is how the translated HL7 message looks:

OBX|1|CE|CDX^History||Specimen 1 Clinical History: CLINICAL HISTORY\.br\\.br\Specimen 2 Clinical History: CLINICAL HISTORY 2\.br\Specimen 1 Suspected Clinical Diagnosis\.br\Specimen 3 Clinical History: HISTORY 3\.

0
0 95
Question liu bo · Jun 3, 2025

Content of log file as following:

Windows:  6.2.9200, SP 0.0, Product Type 1
Process:   D:\DHC\DEVSOFTWARE\ENSEMBLE\BIN\CSTUDIO.EXE
Version 2016.2.3.907
Module:  C:\WINDOWS\SYSTEM32\MSVCR120.dll
Date Modified:  05/24/2017
Exception Code:  C0000005
Read Address:  00791000
Instruction:  F3 A5 FF 24 95 50 F4 FA 73 8B 44 8E FC 89 44 8F
Registers:
EAX: 1228C068  EBX: 004C0048  ECX: 002C3C38  EDX: 00000002
ESI: 00791000  EDI: 1291CFD8  ESP: 0019E7F0  EBP: 0019E814
EIP: 73FAF66C  EFlags: 00010216
Call Stack:
73FA0000  C:\WINDOWS\SYSTEM32\MSVCR120.

1
0 88
Question Satya Prasad Kalam · May 30, 2025

We're planning to use Production Validator for validating our system upgrade (2016.2.3 to 2024.2) , and we are trying to understand what kind of benchmarking or performance metrics others have observed during similar efforts.

Specifically, we are looking for a case study or real-world example that includes details like:

  • How many messages were validated?
  • How long did it take to create the temporary database from the source system?
  • How long did it take to run the comparison on the destination system?
2
0 133
Question alon test · Jun 1, 2025

Hello,

I am currently trying to install InterSystems IRIS for Health and specifically the Ensemble integration tool, but I am facing issues.

Here are the details of my setup:

  • Version of IRIS: 2025.1 (Community Edition)
  • Operating System: [Insert your OS here, e.g., Windows 10, Ubuntu 20.04, etc.]
  • Issue: I have downloaded IRIS for Health, but I cannot find Ensemble during the installation process. I have tried using the Early Access programs, but Ensemble is not included in the options I can choose. I have also tried installing various versions of IRIS, but still, Ensemble is missing.
5
0 144
Question Eric Tulowetzke · May 23, 2025

Hi all,

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.

For example, if an HL7 message has an MSH-7 value of 20250518144529, it should be converted to 20250518144529-0500 (Central Daylight Time), but if the timestamp were 20250218144529, it should be 20250218144529-0600 (Central Standard Time).

6
1 199
Question Ashok Kumar T · May 22, 2025

Hello Community,

When I run the following code with x undefined in terminal, it throws a syntax error and returns control to the program stack. After issuing a GO command, execution continues, and setting the global variable ^zz1.

code 1:

test.mac
if $Data(@x@(a,b,c)) {
    set ^zz1=1212
}
write !,1212,!
//
//or
if $Data(@x@(a,b,c)) set ^zz1=1212
write !,1212,!

 if I assign the result of $D(@x@(a,b,c)) to a local variable like d using set d=$D(@x@(a,b,c)), and then use if d { ... }, the code fails(global is not set) working as expected.

Code 2

test
7
0 170
Question Ryan Hulslander · May 21, 2025

WSDL for a CDC vendor was provided with a URL using a custom socket (non 443). Everything generated fine, but when making calls to their https:// URL that has their custom port in the URL - no response comes back. The assumption is, their server isn't even processing the request, as Postman does using the custom https://path.to.server:NNNN port in the URL.

I see with a normal web operation that uses %Net.HttpRequest overriding the port property is easily done - but no animal seems to exist for any generated SOAP Operation class.

3
0 163
Question Lee Butcher · May 19, 2025

As part of a process to generate FHIR XML bundles from HL7 messages, I have a subtransform transforming segments of an MDM_T02 message into a section of XML (EnsLib.EDI.XML.Document). So far this has worked well although I've encountered strange behaviour when making use of an xmlns attribute, whereby the attribute's name is duplicated despite the schema and DTL editor displaying it correctly.

Here's a snippet of the div.xmlns definition from the XSD schema used

Has anyone else encountered this? Any help is much appreciated

0
0 88