Article
· 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.

BatchSqlOutboundAdapter

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

3 7
2 1.7K

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.

3 1
1 420

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
0 183

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
0 220

I am receiving the following error in my buisness operation:

ERROR <Ens>ErrException: <UNDEFINED>zGo2+181^mb.MbMainOperation.1 *tSC -- - registered as '-' number - @' set pResponse = ##class(mb.MbMessageResponse).%New()'

From what I understand, the problem occurs in the generated int file mb.MbMainOperation.1 in the method zGo2, with the offset of 181 lines, and the variable in question is a local variable tSC.

However, the line where the error occurs does not refer to tSC in any way

0 3
0 233
Question
· Oct 29, 2021
Use Rule to call WS 1 to n

Hi all.

I'm trying to create a route rule that can call to a web service according to a parameter of a message.

My first attempt is the following:

I have a common class with all information, BuscarHuecoRequest, and check what is the value of property "CodigoProveedor".

1 1
0 267
Question
· Jan 23, 2019
Single Sign On (SSO)

Does Intersystems specifically Ensemble support a Single Sign On architecture? Currently we are using Delegated sign on using LDAP and TLS, however our CIO would like us to move toward a single sign on, so when you sign into your PC it would automatically pass the credentials to Ensemble.

Thanks

Scott

0 3
0 1.3K
Question
· Sep 5, 2019
Setting up sFTP operations

So we are in the midst of setting up a bunch of sFTP operations where we will have Ensemble send files to our various customers.

My questions about the set up are these:

1) For a simple test, I set up an Operation using EnsLib.FTP.PassthroughOperation. Is this the one I should be using?

2) if the receiving system has a username and password, then all I have to do is put that username and password into a Credential and assign that credential to my operation correct?

0 5
1 2.2K

We receive a JSON message containing an element which is larger than the system long string size. We are using Ensemble HealthShare v2017 which prevents us from using the %GET method as it doesn’t allow us to define the output as a Stream. We are instead trying to the read the contents of the JSON message using Readline function, and store the value into an instance of the %Stream.GlobalCharachter class, and then read from the instance of that class and write the contents of that element into a HL7 Message.

0 2
0 189
Question
· Sep 23, 2021
Using Arrow with left join

Hi Guys,

my understanding that Arrow can't be used in left or right joins as the example below, so is there an alternative ?

SELECT Sample.Employee.Name, Sample.Company.Name AS CompName
FROM Sample.Employee LEFT OUTER JOIN Sample.Company
ON Sample.Employee.Company->Name = Sample.Company.Name

Thanks

0 2
0 432

Once a week we are attempting to load an XML file from Workday into a MS SQL table using JDBC and Store Procedures. There is approx 102999 records in this XML file. We are struggling with processing the entire file within a reason amount of time. We feed the XML through a BPL to then populate values in a stored procedure then call the stored procedure through a Business Operation. I have tried splitting out the Business Operations to make two calls, but we still continue to see an issue loading the XML into MS SQL.

0 4
0 368

Hi,

I have very recently started to work with Ensemble and have both the 2014 and the 2017 version.

To learn, I have created a small test flow that takes an xml file using EnsLib.EDI.XML.Service.FileService, sends it to a Process that transforms it with xslt into another format, and then passes it onwards to a EnsLib.EDI.XML.Operation.FileOperation Business Operation.

This is the code that I have before and when sending it onwards:

0 2
0 939

I need to remove content below, from PID-3/HL7 message, in IRIS. However, I need to keep the content in PID-3.1. For example, I’d need to keep only, “5050532”. Can this be done in Data Transformations? If yes, how?
Thank you!

MSH|^~\&|TEMPUS|TEMPUS LABS|EPICEMR|YRMC|20210930100824||ORU^R01|4823623379495310173|T|2.3|
PID|1||5050532^^^YRMC~09abefb8-872b-4147-8e4b-77463bb235cb^^^^TEMPUS||

0 4
0 440