Each business component in Ensemble picks up its allocated jobs from a pool, and the Pool Size setting for each component determines how many jobs each component can work on each time. In this article we will be specifically discussing different Pool Size settings for Business Processes.

Pool Size = 1

5 3
0 882

Hi all.

I have a process/operation within Ensemble that grabs a PDF from a webservice, and then saves it to an external location. All is well, except I am noticing that a lot of .Stream files are being stored on the Cache Server.

Does anyone know what causes these to be stored and what would trigger their removal? Would I be right to assume these would be removed if I ran Ens.Util.Tasks.PurgeMessageBank and the creation dates fell within the purge range?

Edit: I answered my own question on if the purge would clear them out. The answer is yes.

0 3
0 642

Hello ALL!

I am having trouble fining a way to derive (a list, an array, a file doesnt matter yet how it returns) ALL of the targets of a routing rule.

For example lets say I have:

  • a router of class: EnsLib.MsgRouter.RoutingEngine
  • Business Rule: HappyRRN
  • 1 rule set having 5 rules that each send to 1 DTL and 1 Operation (5 targets total)

My intent is to use some utlities we have created to disable all of the target operations of this router if the router errors out.

To do that I need the list of target operations.

1 2
0 98

I am trying to troubleshoot an issue I am having with the JDBC Gateway Server crashing at the %SYS level. I have numerous Linked Tables that are using JDBC to connect to a MS SQL database/tables to query values. I have written queries in other class files and within the class definition of the linked table to do the queries.

1. Should I be running the query in the class definition of the linked table as a class method? or is it best practice to run the query as a class method outside of the class definition of the linked table?

0 3
0 92

Context: Ensemble development with ObjectScript in a healthcare context - lots of HL7, and some web service stuff. We've used Studio up till now, alongside a lot of leaning on an external developer, but are expanding our team and doing more in-house. We are wondering about Visual Studio Code - not least because it looks easier to hook up to source management solutions. And we've noticed that the test environments that you get connected to when doing many of the online training courses on learning.intersystems.com give you a Visual Studio Code environment.

0 3
1 143

We have a handful of cases where we get reflex orders in an interface that contain multiple OBR segments. These are rare but when we get them, they are causing errors in down stream systems because we are unintentionally excluding OBR segments.


At the DTL level - is it possible to iterate over this segment WITHOUT altering the underlying schema? If so what would that look like?

0 1
0 59


I need to do a DELETE and then do some INSERT transactions on a linked table and don't want the DELETE and need to be able to ROLLBACK the DELETE if any of the INSERT transactions fail.
I have tried Object Script transaction processing (TSTART, TCOMMIT and TROLLBACK) and the SQL transaction processing (START TRANSACTION, COMMIT and ROLLBACK), but neither work.
Could I be doing something wrong in the way I am implementing these, or do does transaction processing simply not work for linked table?

Thanks for any advices, in advance.


0 1
0 70

Hi developers,

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration.

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?!

In this latest release you will experience:

  • Debugging in just one click with zero configuration.
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console.
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles.
  • Shaded background for read-only documents.

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging.

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them.

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging!

7 1
4 204

Hi Guys,

I'm exporting a Zen report to excel using the following : SET Status=rpt1.GenerateReport("c:\temp\Intruments.xls",10)

and it's working ok but I'm getting extra fields that they shouldn't be there.

here is the correct html format :

0 4
0 97

Hi Guys,

This link (https://github.com/CassiaNetworks/CassiaSDKGuide/blob/master/node_exampl...) uses Javascript request to open a a steam and collect data in an array (screenshot below) and I'm trying to replicate this with Cache script with HTTP request which is connecting Ok but don't know how can I collect data because the code is hanging at Set tSc=Httprequest.Get(HttpURL) and cannot execute S BLEConnect=Httprequest.HttpResponse.StatusLine or any line after it.

0 9
0 103
Rochdi Badis · Oct 10
hs_err_pid log files

Hi Guys,

I'm getting a lot of hs_err_pid.mdmp & hs_err_pis.txt error files in the path where Cache.DAT in located and as I googled these seems to be Java error files and I'm wondering what this has to do with Ensemble, and is it alright to just delete them?


0 0
0 39

Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling and files will be automatically deleted .


To install isc-dev , you just need to download and import the file isc-dev.xml from last release.
Some ways to import isc-dev .xml file:

  • Go to Management Portal -> System Explorer -> Classes -> Import and select the XML file.
  • Drag the file over Studio.
  • Terminal command:
NS>do $system.OBJ.Load("yourpath/isc-dev.xml","ck")
zpm: NS>install isc-dev

How to enable this feature:

  • After importing the class in the target namespace, run the following method to set up the working directory:
NS>do ##class(dev.code).workdir("/path/to/your/working/directory/src/")
  • Go to Management Portal -> System Administration -> Configuration -> Additional Settings -> Source Control.
  • Select the target namespace and set the dev.FileManExtension class as the main one and save it.
  • Try to create a new class in the studio and save/compile it
  • Enjoy!
2 3
1 266

Hi Guys,

I'm a new developer taking over an existing project that I'm not that familiar with and while running a few pages I came across some used urls that leads to same page!?

0 2
1 81

Hi Friends,

I have created an object script class method to anonymize live hl7 messages with some info masking.

To anonymize files , I need to place live messages in d://input folder and need to execute the below command in the Intersystems terminal

do ##class(prashanth.tool.HL7Annonymiser).processFilesInDir("D:\Input\")

ANONYMIZED files will be generated in D:\output\" folder.

everything is working fine.

Here when i need to annonymise some files ,

1) I need to open terminal (iris)

2) connected to user

0 2
0 95
John Flippance · Jun 2, 2017
Decoding Base64 PDF File

Hello, I am writing some cache code that will pick up a PDF file, Base64 encode the contents and then send on to a third party system within a Long String (via their API). I have been testing this and discovered that the PDFs do not open within the supplier system (I get an error saying that it hasn't been decoded correctly). I wanted to prove that the issue does not lie with the way that I have Base64 encoded it within Ensemble, and therefore as a test wanted to Encode the PDF stream, then decode the stream and write out to a new file.

0 12
0 4,328

I'm new user learning to use Iris and Ensemble. I'm trying to set up a TCP interface to send delimited data from Ensemble to another interface engine. I created File.PassthroughService to pick up the file and send the data to TCP.Framed.PassthroughOperation. The framing is MLLP and SSL configuration used. It is able to process small files around 50kb. When I drop a larger file such as 5mb, the operation is not getting the ack within the 60 sec timeout.

0 0
0 72

First of all thanks for your time and help reading this question:

We would need some help:

The use case is: to add a rule inside a EnsLib.HL7.MsgRouter.RoutingEngine, where we iterate in a EnsLib.HL7.Message to find a specified value inside all OBXs segments. It should return a Boolean

Is there any recommended way, or standard function inside Ensemble, that we could use, without having to develop a new function?

We have read:

1 6
0 260
Smythe Smythee · Sep 28

Hi ,

I am Converting HL7 message into SDA3 format by using Ens.DataTransform Class but transformation is not happening while using this class and throwing the below error

ERROR <Ens>ErrException: <UNDEFINED>zTransform+1^Hosiptal.SDA3.DataTrans.1 *target -- logged as '-' number - @' Set target.Patient.Name=source.GetValueAt("PID:5")'

Let me know if any mistake please refer the below code

0 15
0 137