Dynamic PoolSize (DPS) Experiment

Purpose:

Enhance Ensemble or IRIS production so it can dynamically allocate pool size for adapter-based components based on their utilization.

Sometimes, an unexpected traffic volume occurs, and default pool size allocated to production components may become a bottleneck. To avoid such situations, I created a demonstrator project some 2 years ago to see, whether it would be possible and feasible to modify production, so it allowed for dynamically modifying its components per their load.

5 3
0 468

Does anyone know if I can create an API integration, from Ensemble to Salesforce? What I would like to do is trigger a Salesforce case to be opened when for example a Queue reaches a predefined threshold or an interface connection goes from green to non-green.

0 1
0 388
Question
· Aug 20, 2020
Class changes not executing

We are using Ensemble and I added some debug logging that writes to a global and recompiled the class in Studio. However, when we send messages, the global is not populated. I have recompiled, removing the checkmark to keep the generated code so that there is only one .INT file and I verified that the code is present in the .INT file.

My question is, do we need to stop and restart the Ensemble production in order for these changes to take effect? Do I need to stop and restart the business operation that calls this piece of code? Is there something else I may have missed?

0 6
0 250

Hi Everyone,

I'm currently implementing an interface solution to send through data to community pharmacies here in the UK from our hospital PAS system. As part of this project i have created a BPL which calls a SQL operation to infiltrate our Data warehouse and add to the message - this is all done and working as i expect.

0 3
0 488

We have multiple interfaces to Epic. We currently have the IP address set to epicsup. We now want to update all of the interfaces with this IP addresses to epictst. Is there a method to do this?

0 6
0 184

Hi All,

i have a issue in getting the complete file path when using the FTP Adapter in service.
EnsLib.FTP.PassthroughService / EnsLib.FTP.InboundAdapter

I need to know the folder name (including sub folder) where the new file is found by the service when looking up for new files.
The normal file class is working good as expected

More details below,

In the below two examples you can notice folder name is fetched by normal File adapter, but in FTP only the file name is available.

0 1
0 401

I have a service named FTP_In that is of class EnsLib.HL7.Service.FTPService. It picks up files from multiple subfolders and sends them to an EnsLib.HL7.MsgRouter.RoutingEngine. What I want to do is somehow capture the subfolder as a variable for use in the routing rules. Is this possible?

Let's say I have the following files and directory structure on my FTP Server

0 6
0 540
Question
· Aug 3, 2020
INSERT OR UPDATE SQL

Hi, I want to INSERT a customerID and customerName to a table if the customerID does not exist. Or UPDATE if they've changed their name.
I've reviewed the documentation (https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=RS...) and have confused myself with the INSERT OR UPDATE statement. Rather than using two individual statements , is there a way to get it in one?

What I have at the moment doesn't do anything. In fact it errors.

0 3
0 438

Hi, I'm still very much new at Ensemble DTL. I am trying to set up an algorithm that requires loading fields from an OBX into an Array. I don't think that I know how to iterate through the OBXs. I know that there is a "for loop", that I will try to play with, but in the mean time, could someone tell me what is wrong with the following?

For example the code below works when I hard code the number 1 in OBXgrp(1)

0 9
0 450

An error occured when HS.IHE.XDSb.Registry.Operations on the BUS sends query request to the registry. The error is

Error 6242: HTTP request to SOAP webservice returned unexpected status: 403.

Any thoughts as to why? The settings on the components haven't changed. The process worked a few days ago.

0 2
0 750

Hi,

I've added a REST service which worked fine on our test system but failed on the production environment because UnknownUser does not have %All set and I really don't want it set on production (in fact I've also switched it off on test).

Is there a way to allow a single REST service to have unauthorised access?

I was thinking adding a resource/role to UnknownUser specifically for that service but I've never touched on Users/Roles/Resources so I'm struggling to work out what needs adding where.

Thanks

0 2
0 257

My custom Business Operation typically creates a Ens.StringResponse with StringValue which is sent back to my custom Business Service. Is there a way I can use the assign, or some way, in Rule Editor in a Business Process (EnsLib.MsgRouter.RoutingEngine) so that it can send back a Ens.StringResponse with a StringValue to the Business Service when not routing the message to any operation?

0 1
0 218

I am having difficulties with using the ..Strip() function in my DTL to strip the slash ( / ) from the phone number portion of an x12 834. There are very few records that have the slash in the phone number, so I am trying to filter out any characters other than numbers so that all phone numbers are formatted 1112223333.

Here is the code portion of the strip:

Set HomePhone ..Strip(source.{loop2000(k1).loop2100A.PER:CommunicationNumber},"*AW","-()/").

I am then checking the length of HomePhone.

0 4
0 303
Question
· Feb 21, 2018
HL7 segment query using SQL

I'm trying to get a count of specific message type with a specific entry and thought I could build the query in Message Viewer but this does not provide counts (as far as I am aware). So when I take the SQL from 'Show Query' it omits the segment criteria as the code shows below.

I have attached the criteria that has been excluded. Is this possible?

Thank you

0 2
0 1.4K

I want to write the values that are stored in an array into the OBX 5 field. The text in MyArray(1) will go in the the first OBX 5 field. Then the text in MyArray(2) will populate the next OBX 5 field.

My question is how do you format the Set > Action Tab > Value entry so that it pulls the data from MyArray(source.{PIDgrpgrp().ORCgrp().OBXgrp().OBX:SetIDOBX})

0 1
0 258
Question
· Jul 24, 2020
Uptime reports for Ensemble HL7

Good morning all,

Could we please get some insight on what is possible (or what other organizations may be using) for tracking uptime for our HL7 engine? We can use Activity Tracking to show how many messages went through, but are there any good canned reports (or queries) about the number of message failures or the amount of time that an interface was down?

We are using alerting to the team to know about not getting messages or if messages failed. Has anyone created a report or dashboard against the Ens.Alert table or would you recommend elsewhere?

0 3
0 230

Hi,

Can anyone point me to an example of a DTL & Class method that can pull a base64 encoded PDF out of a MDMT02 message?

This is really asking for two things;

- how to make a DTL that extracts a specific subfield of an HL7 2.3 message into a message of its own,

and

- how to transform an base64 encoded document into its original binary form for writing to a file.

I'd also love to see an example of an HL7 2.n MDM^T02 ==> HL73.ITK2 non-coded CDA

0 3
1 3.5K
Question
· Jul 16, 2020
Ensemble namespace permission

Hi,

I am attempting to set up a security role for our support team so they can have read access to the production and messages.

I have given the role RW rights on the resource associated with the database. However, when I log into Management Portal and select "Ensemble", the "Available Ensemble namespaces" list is empty.

What permissions do i need to set to be able to navigate to the production?

Thanks in advance,

Carl

Edit:

0 8
0 738
Question
· Jul 6, 2020
Ensemble does not start

Hi Team,

When I tried to open ensemble in my system I got bellow error.

I have done lots of code in my local system but now not able to open the ensemble.

0 8
0 603

Hello,

We would need to know the Ens.Response SourceConfigName to identify which Operation has raised an exception.

We have tried:

$$$LOGINFO("..%Process.%PrimaryResponseHeader.SourceConfigName..: "_..%Process.%PrimaryResponseHeader.SourceConfigName) //It outputs an empty string
 
$$$LOGINFO("response.SourceConfigName: "_response.SourceConfigName) //It generates an exception

We would need to get from an Ens.Response which body is null, its SourceConfigName:

0 2
0 305