Morning everyone,

I would appreciate some advice please- hopefully there is plenty of experts out there.

We are setting up an sFTP share between hospital trusts here in the UK and I have set the outbound operation up using a custom extension of EnsLib.HL7.Operation.FTPOperation.

We are configuring a VPN tunnel to run between the sites also so there is a bit of firewall / network routing to take place to enable the connection but to add in a complication we are on a mirrored cluster and usually present on a Virtual IP address.

0 2
0 194
  • I have created a business service that uses an adaptor that I wrote by extending Ens.InboundAdapter (i.e. the ADAPTOR parameter is set to my custom adaptor ).
  • The OnTask() method of my adaptor polls our IRIS database to determine which records are ready to be sent out of our system to an external target system.
  • If the record is ready the OnTask() method creates an instance of the Business Service and then calls the OnProcess() method sending in the record as the input.
0 2
0 245
Smythe Smythee · Nov 7

Hi Community,

I am working on sending Gmail with error details when any errors occurs in the ensemble production.

I am facing the below issues while doing it

1.I have Ens.Alert (Business process) using the class Ens.Alerting.AlertManager and Emailoperation (Business operation) using the class EnsLib.EMail.AlertOperation. here my business process is not sending the Alarm request to business operation eventhough i am using rule to connect the business operation

2.What are SMTP server details needs to given for Gmail?

0 2
0 107

Hi Guys,

From where can I set a user/pass for an application pls?

I've the below application as an API to be used by a client to send requests and would like to set a user/pass for it, I can see the Password tickbox but where can I type in the required password, and can I set a use as well?


0 1
0 80

Hi all.

I have a scenario where I am receiving NACKs and I'd like to adjust the error handing of the operation based on the content of the NACK.

For example, I could receive the following and want to move onto the next message:

MSH| ^~\&|||||20221025083135.489+0100||ACK ^A02^ACK|9271|D|2.5.1
ERR|||207 ^Application internal error ^HL70357^^^^^^Cannot transfer patient, encounter is cancelled.|E

However, I could also receive the following and want to keep retrying:

0 1
0 110

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 99

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 give you a Visual Studio Code environment.

0 3
1 145


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

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 94

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 102

Hi ,

Still a newbie for ensemble, I am trying to convert XML message to HL7 Message. I am using Custom schema for XML structure which includes MSH and PID segments from HL7 Message.

These are the service, process, Operation classes i am using

Business service-EnsLib.EDI.XML.Service.FileService

Business Process-EnsLib.MsgRouter.RoutingEngine

Business operation -EnsLib.HL7.Operation.FileOperation

0 8
0 206

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 84

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 97

I know there is the ability to enable Rule Sets within a Business Rule by dates, but what about Sub-Rules or just Rules in general? We have an upcoming go-live that is at Midnight and I was wondering if there was a way I could script out enabling rules/sub-rules within a Business Rule to save my team some time and headaches. Or is the best practice is just to create another rule for the go-live, then move it over once we are live...

0 1
0 97
Terho Eskelinen · Sep 28
Flush on CSP-page

CSP Page prosessing;

Is there a way to flush temporary cache data to csp page while server is still prosessing the end of page ?

So, the whole page is a LOOP which gathers the data. It seems to reveal the output only after when whole thing has finished. Is it possible to flush data to screen on every loop ?

0 2
0 57

Hi all.

I have setup a HL7 Operation using the HTTP adapter, and I'm getting what seems to me as an unusual response. When sending a sample message to the operation, I am getting a nested ACK. For example:

MSA|AA|RWSD7V5iuEC5F6zscDWz|HTTP ACK 'HTTP/1.1 200 OK' : MSH|^~\&|yyy|yyyy|xxx|xxx|20220923080633||ACK^A01|1663916793965||2.3||||||
MSA|CR|RWSD7V5iuEC5F6zscDWz|Error Message Goes Here.

0 1
0 65

I am trying to split a HL7 message (RDE O11) into several messages depending on how many RXC segments there are in the message (Two RXC segments would need to two separate HL7 messages)

I have seen a couple of posts regarding this but am struggling with my BP using ObjectScript, the idea is to take the receiving message and split this before passing it onto another BP

Here is my code so far

0 2
0 93

Hi Friends,

In my production already we have business components (business service , process, operations) and all are working fine.

Now I have change the package structure of few classes and want to update the references in settings for Business components in Management portal.

As this class field is read only , Any other way to update the class reference, instead of creating new business component?

1 3
0 60