#Ensemble

23 Followers · 2.4K 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 Scott Roth · Sep 5, 2019

Currently we are using Health Share 2015.2.2, and looking to upgrade to the latest version in the next month.

From what I understand we have to upgrade to 2017 or 2018 prior to going to 2019.1 since 2019.1 is on the IRIS platform.

In trying to outline my steps in the upgrade process I came up with a question.

  • Can a Full System Backup from 2015.2.2 be restored into 2019.1?
  • Do I have to restore the 2015.2.2 back up into 2017 or 2018, then do the 2019.1 conversion?

Has anyone had experience with this? or should I open a ticket with WRC?

5
0 545
Question Jose Antonio Benitez · Apr 11, 2019

Hi, I have used CSP to exec SQL selects from  any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.

I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.

Anoyone has made that?

1
0 355
Question Kurro Lopez · Sep 4, 2019

Hello everyone,

We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.

We have been receiving the following error message for a long time:

ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0

This happens when there are no files to process and appears from time to time, maybe every 20 minutes.

4
0 1022
Question ED Coder · Aug 30, 2019

Hi, Is there a way to count the number of segments in a HL7 Mesage? I tried the examples from the other answers but nothing works for me.

I am writing a function to get the last OBX segment field value 5. Below is a sample screenshot of what I want.

The number of obx segments can change, so I want to count the last obx segment and then get the field 5 value.

Would appreciate some guidance on this.

10
0 3506
Question Tey Kitthajaroenchai · Aug 29, 2019

Hi, I’m trying to setup a Business Operation where the Property is a drop down list of Strings.  I was able to produce the desired effect but only using a hard coded list like Property LookupProp As %String(VALUELIST = ",value1,value2").  Instead I would like it to be populated from lookup table so I created a method to use SQL to fetch the result set from a Lookup table and then return it as the desired string. But doesn't allow me to do declare the property using the method like this: Property LookupProp As %String(VALUELIST = ##class(MyClass).

6
2 419
Question Pravin Barton · Aug 23, 2019

Hello all, I'm trying to write tests for an interoperability production using %UnitTest.TestProduction. I'd like to control the behavior of the SOAP operations so they don't actually connect to external systems when I'm testing. My first thought for this is to create a mock outbound adapter class that answers with some configured class method:

Class UnitTest.Helper.Integration.MockSoapAdapter Extends EnsLib.SOAP.
4
1 370
Question Oliver Wilms · Aug 13, 2019

Hello,

I want to create a dashboard with a line graph that shows system availability over time. I used this code to create a Dashboard:

            Set tItem = ##class(%DeepSee.UserLibrary.Link).%New()
                Set tItem.fullName = "Availability"
                Set tPage = "Availability.UI.CSVImport.zen"
                Set tItem.href = $system.CSP.GetPortalApp($namespace,tPage)_tPage
                Set tItem.title = "Availability"
                Set tSC = tItem.
7
0 429
Article Gevorg Arutiunian · Dec 13, 2018 2m read

(Originally posted by @Ben Spead on June 25, 2014)

This code snippet generates a list of Ensemble Lookup Tables and Schema documents in the user's current namespace. Run the code by running the class method "test":


Class benspead.EnsTablesSchema
{
classmethod test() {
If ##class(%Dictionary.CompiledClass).%ExistsId("Ens.Util.LookupTableDocument") {
// only supported in Ensemble 2012.1+
Write !,!,"Exporting Ensemble Lookup Tables..."
Set sc = $$$OK
Set rs = ##class(%ResultSet).%New("Ens.Util.LookupTableDocument:List")
Do rs.Execute()
While rs.Next() {
Set item=rs.Data("name")
Write "document found: "_ item,!
}
Do rs.Close()
Set rs=""
}
If ##class(%Dictionary.CompiledClass).%ExistsId("EnsLib.HL7.SchemaDocument") {
Write !,!,"Exporting Ensemble HL7 Schemas..."
Set sc = $$$OK
Set rs = ##class(%ResultSet).%New("EnsLib.HL7.SchemaDocument:List")
Do rs.Execute()
While rs.Next() {
Set item=rs.Data("name")
Continue:$listfind($lb("2.1.HL7","2.2.HL7","2.3.HL7","2.4.HL7","2.5.HL7","2.6.HL7","2.7.HL7","2.3.1.HL7","2.5.1.HL7","2.7.1.HL7","ITK.HL7")
,item)
Write "document found: "_ item,!
}
Do rs.Close()
Set rs=""
}
}
}

Here's a link to the code on GitHub: https://github.com/intersystems-community/code-snippets/blob/master/src/cls/benspead/EnsTablesSchema.cls

3
0 967
Question Leon Duveen · Aug 20, 2019

I have set up a process to produce a daily file to be submitted to another system and this is working (using EnsLib.RecordMap.Operation.FileOperation).  However, the file needs to have a header line added each time it is created so it can be processed by the down stream system.  Looking though EnsLib.RecordMap.Operation.FileOperation and EnsLib.File.OutboundAdapter, I can't see where I can do this easily.  Any suggestions?

Thanks

3
0 493
Question Scott Roth · Aug 19, 2019

I have a colleague that is trying to eliminate any HL7 transactions that have admit date/time of midnight from going to an downstream system within a routing rule. I have tried several different iterations of code trying to figure this out just in the routing editor. Without having to write an object script function is this possible?

((HL7.{PV1:AssignedPatientLocation.PointofCare}="D3")||(HL7.{PV1:AssignedPatientLocation.PointofCare}="D4"))&&(SUBSTRING(HL7.{PV1:AdmitDateTime.Time},9,12)!=0000)

Thanks

Scott Roth

4
0 481
Question ED Coder · Aug 16, 2019

Hi, I am trying to get my values into a mySQL DB but for some reason it doesnt seem to go into the DB. I do not get any errors. Would appreciate some guidance on this.

ClassMethod Orders(pRequest As EnsLib.HL7.Message) As %String [ Final ]
{
/
pidSeg = pRequest.FindSegment("PID")
mrn = $p(pidSeg.GetValueAt(3),"^",1)
obrSeg = pRequest.FindSegment("OBR")
obrdate = obrSeg.GetValueAt(6)
obrdesc = $p(obrSeg.GetValueAt(4),"^",2)
obrstat1 = $p(obrSeg.GetValueAt(40),"^",2)
obrstat2 = $p(obrSeg.GetValueAt(40),"^",3)
obrstatus = obrstat1_" "_obrstat2
orcSeg = pRequest.

17
0 570
Article Jose-Tomas Salvador · Aug 14, 2019 5m read

Object Synchronization is a feature that has been around for a while, since Caché days, but I wanted to explore a bit more how it works. I've always thought that database automatic synchronization is complex by nature but, for some particular scenarios shouldn't be so hard. So I considered a very simple use case (OK, perhaps the typical one, I'm not discovering anything... but if it's common and it works, it's good wink ). You can download from GitHub

1
2 575
Article Brendan Batchelder · Jun 20, 2016 1m read

The message viewer can resend messages but it is not suitable for resending a large number of messages (>100).  For that, you should use Cache Object Script code such as the following:

Class Sample.Resender Extends %RegisteredObject
{
ClassMethod Resend()
{
//Resend all messages sent from 'FromComponent' to 'ToComponent' between 2016-06-15 and 2016-06-20
&sql(DECLARE C1 CURSOR FOR
 SELECT ID INTO :id FROM Ens.
7
3 2466
Question Oliver Wilms · Aug 12, 2019

Hello,

How should I go about it to add a page to the EnsPortal? I want to display a dashboard like page and I would like to be able to have it accessible from Management Portal. I hope there is a better way than typing the URL in address bar. Is the menu for Management Portal editable?

Thanks,

Oliver

1
0 312
Question Robert Marsden · Aug 12, 2019

Hello All.

In need of some help.

We are currently migrating Interfaces from JCAPS to HealthConnect 19.1 and have done a lot of work on our Dev server.  I am looking to copy/export this work over to the Test server and have managed to export the production and Rules, HL7 custom Schemas etc.  The only thing left now are the Data Transformations but so far I can only find ways of copying the transformations over individually.  Is there some way to copy all of the transformations we have produced in our namespace to another server in one go?  

Thanks

4
0 469
Question Mohana priya · Aug 8, 2019

Hi, I had written one .net service for excel validation , after validation the data will be inserted in DB. I am getting value from an outbound message but the values are not inserting in DB. i have two classes one is for reading the value from excel and convert that into ensemble objects, here i am getting value. Another class for inserting the values from the ensemble objects but here i given a global variable for checking . It's shows global variable does not exist. I don't why it's not entering to 2nd class. Please give me the step by step explanation

4
0 472
Question Bava Bavaharan · Aug 8, 2019

I would like to allow some departmental user to view the  ensemble portal.  I want to make sure they are not allowed to  do any changes (like stop and start interfaces from portal)

I have created  one userbut limited with SQL privilages.  But  using this account,  the portal view is not accessible.

It would be appreciated if anyone can adice me on this. I know this may be a silly question.

Regards,

Bava

1
0 303
Question infi livi · Aug 7, 2019

Hi All,

While Executing Custom SOAP fault got an error.Please help me out of this.

Sample Code:

set fault=##class(%SOAP.Fault).%New()
set fault.faultcode=$$$FAULTServer
set fault.detail="<mymessage>Division error detail</mymessage>"
set fault.faultstring="Division error"
// ReturnFault must be called to send the fault to the client.
// ReturnFault will not return here.
do ..ReturnFault(fault)

Error Details:

<ZSOAP>zReturnFault+3^%SOAP.WebService.1

Advance Thanks

1
0 460
Question Jimmy Christian · Aug 1, 2019

Hello Community,

For the Business Rules in a process i want to use a constraint where source could be FromA or FromB.

But looks like the constraint does not allow multiple source values.

Is there a way to provide multiple source in Constraint? Or is there a way in Rules to identify the Source ?

Thanks

Jimmy Christian

5
1 516
Question Jimmy Christian · Aug 6, 2019

Hello ,

Need some help to write a Request message to the File using EnsLib.File.PassthroughOperation class.

Request object is sent to the Ensemble operation has below simple structure.

Class ABC.Req Extends Ens.Request
{
Property SiteCode As %String;
Property HospitalCode As %String;
Property PatientFirstName As %String;
Property PatientLastName As %String;
Property EncounterId As %String;
}

But in the operation i am getting error 

ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnMessage+1 ^EnsLib.File.PassthroughOperation.1 *Stream,ABC.Req -- logged as '-'
number - @'
Quit:'$IsObject(pRequest.

2
0 1120
Question Goran Stefanovic · Aug 5, 2019

We are developing an interface in Ensemble (v.2018) and would like to have common data visible and updatable from more than one namespace (sort of a lookup, but with more fields).

I can create a table in one namespace and inserting into it, let's say using SQL from the portal. I can also map that table to another namespace. It becomes visible there as a table, but new records inserted in one cannot be seen from the another namespace.

I am reading the documentation, but still no answer. Any help to speed me up?

7
1 1107
Announcement Sourabh Sethi · Aug 4, 2019

 Pre-requisite - Basic knowledge of ENSEMBLE and ObjectScript

My both previous sessions were related to OBJECTSCRIPT.
This time, we are going to add a flavour Ensemble/Healthshare,
to be informative and fast.

In this session we are going to discuss about - 
"Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare"

Web API can be REST or SOAP. We will taking example of SOAP in this session.
However, whatever I demonstrate today, will also be applicable for REST.

0
0 379
Announcement Alex Anderson · Aug 1, 2019

​​​​​​We have Full time or Part Time Cache\ENSEMBLE\IRIS programmer positions available with our UK and US/North American teams.

For details on what we do and our products please see our web site intsoftsol.com  

Interested persons should email reply to admin@intsoftsol.com

JOB DESCRIPTION
Looking for Support Developer with experience in Ensemble,CACHE, IRIS.  You will be responsible to assist in application software support and development including our Application Integration to various 3rd part systems.  Our software is in use in a number of NHS Trust and North American State Health Department.

0
0 631
Question Erin Dolson · Jul 16, 2019

Hi all,

I'm looking to set up monitoring for several interfaces. I understand that I can set an Inactivity Timeout. However, obviously there are messages coming through more frequently during certain hours than other hours. 

Is there a way to set an Inactivity Timeout for each hour of the day instead of one value that is used all day long? 

Best,

Erin

12
3 917