#Ensemble

23 Followers · 2.3K 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 alex chang · Nov 4, 2020

Hi

My Ensemble platform worked well before. 

Since yesterday , I found out lot of slow request ,I opened trace for one message. 

as above shown. 

It take about 8s from HisEmrRouter to ADTRoutingRule.

 In my opinion, HisEmrRouter And ADTRoutingRule is Simple Rule,  should't do IO operation. should be pure compute. 

Why does it take so long to process the routing?

What Can I do to avoid it spend too much time to routing?

Tks

10
1 555
Question Mike Hageland · Mar 9, 2016

I currently have an Ensemble production which accepts and handles SOAP requests.  I now need to support the exact same data, but instead of coming in as a SOAP request, comes in as a multipart/form-data request.  The body of the message would look something like:

------------------------------j1ks0od6m45rjpgz5208y85917swo61hl3u63
Content-Disposition: form-data; name="TimeStamp"
 
2016-02-22T07:26:49Z
------------------------------j1ks0od6m45rjpgz5208y85917swo61hl3u63
Content-Disposition: form-data; name="ID"
 
TEST
------------------------------j1ks0od6m45rjpgz5208y85917swo61hl3u63—

I have looked into

4
1 990
Job Raju K · Nov 3, 2020

Position: Intersystems Developer / IRIS Developer (Please send me your resume to  raju@intellisofttech.com  )

Location: 100% Remote

Duration: 6 Months Contract To Hire

Skills:   Cache DB, Object Script, Intersystem, Ensemble (oldest one , )Healthconnect (Middle version ), Healthshare(Latest version ), Mumps

Top Requirements:

  • IRIS for Health / Ensemble / Healthconnect / Healthshare – multiple versions released over time, 3+ years
  • ETL – Will need to be familiar on transforming data into new IRIS instances
  • Object Script – will do some cache development
  • Software Development Background
2
0 462
Question Paul Hula · Nov 2, 2020

Hi All,

  I know hundreds of people have done this but I'm looking for some DTL's as a start to do HL7 to FHIR, I appreciate everyone's HL7 is slightly different, but just some starter DTL's would be much appreciated?  Can anyone help?

  Regards

2
0 604
Question Jeffrey Drumm · Oct 23, 2020

I'm attempting to extract some very large messages from Interoperability/Ensemble, and I'm just not getting something right ...

The closest I've come to getting something useful is this:

ClassMethod GetHL7Msg(pId As %String) As %Stream.TmpCharacter [ SqlName = GetMsg, SqlProc ]
{
    Set tHl7 = ##class(EnsLib.HL7.Message).%OpenId(pId,,.tSC)
    Throw:$$$ISERR(tSC) ..GetErr(-400, "HL7 Message with ID "_pId_" Not Found.")
    Set tMsg = ##class(%Stream.TmpCharacter).%New()
    Set tSC = tHl7.OutputToLibraryStream(.tMsg)
    Do tHl7.%Close()
    Return tMsg
}

When I call this via an OD

15
0 1036
InterSystems Official Jeff Fried · May 18, 2020

Caché  2018.1.4 and Ensemble 2018.1.4 maintenance releases are now available.   

Full product installation kits can be downloaded from the WRC Software Distribution site.

 

This is a maintenance release with many updates across a wide variety of areas.

For information about the corrections in this release, refer to the Release Changes list and the  Release Notes and Upgrade Checklist.  The documentation for Caché and Ensemble includes these as well as the Supported Platforms document, the Class Reference, and a full set of guides, references, tutorials, and articles.

 

The build number

2
0 716
Article Sergey Mikhailenko · Oct 20, 2020 11m read

In this article, we'll talk about an application that I use every day when monitoring applications and integration solutions on the InterSystems IRIS platform and finding errors when they occur.

While looking for a solution for logging object changes in InterSystems IRIS, Ensemble, and Caché DBMS, I came across a great article about logging with macros. Inspired by the idea, I forked the project the paper had described and adapted it to some specific needs. The resulting solution is implemented as a panel subclass, %CSP.Util.Pane, which has the main window for commands, the Run button, and ena

0
0 475
Question Pavithra Rajamohan · Oct 13, 2020

Hello,

I am trying to create a HL7 message (REF_I12 message) using variables extracted from a Dynamic Object and need some advice about segment creation issues that I am having. Some background info: I receive a JSON response from an API call and used %FromJSON to convert the response to an Dynamic Object. Some of the items in the response are repeated such as NOKName, NOKrelationship.

Using the methods suggested in this post (https://community.intersystems.com/post/advice-about-json-conversions-and-reading-outputs-dynamic-objects), I have been able to extract the values from the response an

3
0 896
Question Scott Roth · Oct 9, 2020

I noticed when creating Record Map's within Ensemble that it is creating a Persistent cache table as it translates the file and puts it into the Record Map data structure.

I was wondering if there was a way to add a column to the cache table that is Hidden from the record map, but is a calculated date value on when that record was inserted? 

From time to time I have gotten questions about what was valued in the incoming data stream, and I thought it would be helpful to add a date so I can sort on by which date that record came in on.

Thanks

Scott

Cache for UNIX (IBM AIX for System

4
0 330
Question Scott Roth · Oct 8, 2020

Someone may have asked this before but is there a way to return the TRACE statements that we have placed in the Data transformation within the DTL Editor Testing Tool (EnsPortal.Dialog.TestTransform.cls)?  Is this something we can get in an Enhancement request in for? 

It would save sometime in troubleshooting where an error might be in the DTL.

Just wondering...

Thanks

Scott

Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT [HealthShare Modules:Core:15.032.9026 + Linkage Engine:15.032.9026]

1
0 357
Question Gevorg Arutiunian · Apr 22, 2020

Hi community,

I am now working with an ftp adapter. I have no problem connecting to the FTP server, but there are problems with interacting with files. Has anyone had any experience with an FTP adapter, such as getting/modifying/deleting files?

4
0 690
Question Yone Moreno · Oct 2, 2020

Hello,

We would need your help.

When we test using the actual HL7 message, how could we achieve to send the response from the Process to the Service? 

Process does not send response to a EnsLib.HL7.Service.TCPService when we test it with a EnsLib.HL7.Operation.TCPOperation, why?

We are developing a Production which is composed by:

 - A service: EnsLib.HL7.Service.TCPService

 - A bussiness process

 - An Operation: EnsLib.HL7.Operation.TCPOperation

We have the following challenge:

1) When we test the Production sending from the Process:

We observe the response being sent bac

2
0 568
Question Ewan Whyte · Jul 8, 2020

Hi,

I'm trying to ultimately create a function that I can use with HL7 messages that calls a stored procedure held on a SQL Server.

Initially I triedextending the function class to use the sql inbound adapter and/or EnsLib.SQL.Common, but this wouldn't work from the class method for the function.

Then I attempted to use the linked stored procedure using the wizard where it connected fine and I could find the sp but but it wouldn't return any data when ran. The test sp should just return an int.

The class document produced is this.

I suppose my question is, is it even possible t

5
0 1244
Question Yone Moreno · Oct 5, 2020

Hello, we would need some help:

We would like to use a Transformation to convert an ORU_R30 2.3 to ORU_R30 2.5

However Ensemble does not have a HL7 Schema for ORU R_30 2.3

So then our original message is not being recognized:

→ How could we let Ensemble recognize the ORU R30 2.3 structure to be able to use a Transformation?

We have read:

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…

https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

https://cedocs.intersys

2
0 316
Question Guilherme Emmerick · Sep 23, 2020

I need to get a file in a directory and when clicking on the download button, this file will be downloaded on the client side.

</head>
<csp:class super="%CSP.Page,Relatorio.GeraCSV">
<body><input type="button" value="Gera Relatório" onClick="#server(..serve())#"></body>

ClassMethod serve() As %Status
{
set name = "C:\Users\gpemm\Desktop\myfile.csv"
    #dim sc As %Status = $$$OK
    #dim %response As %CSP.Response
    kill %request.Data
    set %request.Data("STREAMOID",1)= ##class(%CSP.StreamServer).Encrypt(##class(%CSP.StreamServer).GetOidForFile(name))
    if ##class(%CSP.StreamServer).OnPre

2
0 659
Question Han Ya · Sep 25, 2020

Whenever the Windows SNMP Service restarts, the snmpdbg log says the following.  

16:58:25 :Debug tracing enabled for SNMP agent
16:58:25 :SnmpExtensionInit called, pid=4432, tid=12276
16:58:25 :CreateEvent for CacheSNMPTrap suceeded
16:58:25 :register Cache OID 1.3.6.1.4.1.16563.1
16:58:25 :Get all Cache configs ... 16:58:25 :found 1 configs
16:58:25 :Add ENSEMBLE config to list ... 
16:58:25 :RegOpenKey for SOFTWARE\InterSystems\Cache\Configurations\ENSEMBLE\Properties
16:58:25 :Open config file c:\intersystems\ensemble\cache.cpf
16:58:25 :Config port = 1972, SNMP-capable = 1
16:58:25 : sorted (end)

4
0 616
Question alex chang · Sep 14, 2020

I want to call some Java Remote Call through Java gateway.  The call code as following:

class CallRemote Extends %CSP.REST {

Method Index() as %Status {

Try

      set gw = createJavaGateway()

     Do callJavaMethod(gw)

     do gw.%Disconnect()

Catch {

}

}

}

But Every call need connect to Java Gateway and disconnect it. But It's cost too high( about 80ms)

So, According to my Java experences, I need create some connection and put it into global static ConnectionPool

But I don't known how to reach that using ensemble.

2
0 268
Discussion Evgeny Shvarov · Sep 21, 2020

Hi Developers!

Recently we discussed the naming convention on packages we deploy and even made some choices.

Here I want to have a conversation on the naming convention for unit tests.

Of course, we wish every good library has unit tests. Here is the documentation and some good articles(one, two, three) regarding it on the Developer Community.

Let's decide on the naming of UnitTests packages?

The suggestion is that unit test classes will all start with the UnitTest package name.

E.g. if your library's class name is:

johndoe.lib.class

The related unit test class will be:

UnitTest.johndoe.lib.class

What about folders?

The suggestion is that unit test classes will live separately from source classes, e.g. in /tests directory.

Here is the example of a repository with unit tests that are named and placed according to the proposal.

What do you think?

6
0 453
Question James Woo · Sep 28, 2020

A BusinessService XYZ is created by extending Ens.BusinessService and the ADAPTER is set to EnsLib.File.InputAdaptor. Files are copied to the FilePath specified by the adapter. But if XYZ is invoked directly via CreateBusinessService, the files MUST be deposited to the default temporary director rather than the file path specified in FilePath of the adapter. Is it possible to the use the file path in FilePath when using CreateBusinessService?

1
0 246
Question ED Coder · Sep 17, 2020

My segment is not getting set with the new value though It goes into the if statement. Am I doing something wrong?

ClassMethod Clone(pRequest As EnsLib.HL7.Message) As EnsLib.HL7.Message [ Final ]

s cREQ = pRequest.%ConstructClone()

s DG1 = cREQ.FindSegment("DG1",.ind)

While (ind2 '="")

{
diag = DG1.GetValueAt(4.1)

if diag = "0"
{
tmp = "No code"
rc=DG1.SetValueAt(tmp,4.1)
}

}

DG1 = cREQ.FindSegment("DG1",.ind2)

request = cREQ
Quit request

}

6
0 478
Question ED Coder · Sep 17, 2020

From my recent post, I uploaded a set of values into a global, and I am trying to compare the first field, and then

$GLOBAL("123", "bone issue")=""

$GLOBAL("234","joint issue")=""

Now, I want to compare and see if the DG1:4.1 segment has the code $GLOBAL and then replace the DG14.1 segment with the code and the description

so For Eg: if DG1:4.1 exists in $GLOBAL("123") then replace the segment with the code and description

Can someone guide me on how I can achieve this?

4
0 279
Question ED Coder · Sep 17, 2020

Is there a way to bulk load csv into a global? I have a csv with 283 lines in the following pattern

123, first text

234, second text

456, third text

I want to load them into a global ^loader(code, text). Is there a way to upload them using code?

4
0 416
Announcement Evgeny Shvarov · Apr 25, 2017

Hi, Community!

You know that your productions need to be monitored. But what should you be monitoring, and how?

Let me invite you to join Michael Brady, Technical Trainer with InterSystems Learning Services, to learn about message volume monitoring tools, what really happens when you purge a message and how you can monitor your disk space from afar.

This webinar is valuable for anyone managing Ensemble or HealthShare productions.

It will take place on Thursday, May 4, 2017 10:30 am Eastern Daylight Time (New York, GMT-04:00) 

1
0 485
Question Mathieu Van Sevenant · Aug 13, 2020

Hello everyone

We are facing what seems to be a network problem while transferring HL7 messages from Ensemble/Healthshare to a distant target through TCP/IP.

Here is the version of the system in any case it could be useful: Cache for Windows (x86-64) 2017.2.1 (Build 801U) Wed Dec 6 2017 09:07:51 EST [HealthShare Modules:Core:14.02.2415 + Linkage Engine:15.03.9901]

Then the configuration of the operation:

NB high numbers for Read- and Response-Timeouts come from "long" transfers occuring sometimes, e.g. HL7 messages with about 600 segments, successfully transferred if we let them thi


7
0 1053