#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 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 412
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 366
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 421
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 957
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 489
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 478
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 564
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 and compile it into your system, generate sample data and play a bit with

1
2 571
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 2453
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 309
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 465
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 471
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 302
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 456
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 513
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 1112
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 1099
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 377
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 627
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 911
Question Julian Matthews · Jul 31, 2019

Has anyone had any success receiving a DICOM TCP in, and then using a process to write to a file while responding to the sender correctly? I'm pulling my hair out, and would love to know where I'm going wrong. 

2
0 354
Question Zdeněk Bartušek · Jul 30, 2019

Good morning,

I'm trying to understand $ZF function, but only documentation isn't enought in this way. So my question is is there any possibility to get enviroment variable by this function into ensemble?

I've tried this as example from ducumentation, but there is an error and  I don't know why...

Thanks for your solutions.

Zdenek

17
0 1440
Question Jimmy Christian · Jul 30, 2019

Hello Community,

How do i disable an operation explicitly based on a value in a variable?

I set the ReplyCodeAction to E=D.

In the Operation Code i am throwing an explicit ERROR

THROW ##class(%Exception.General).%New("Shutting Down Operation",999,,"My own special exception")

But my operation still remains up.

Any suggestions please will be appreciated.

Thanks,

Jimmy Christian.

6
0 389
Article Jeffrey Drumm · Jul 25, 2019 1m read

I'm not saying that this is in anyway "best practices," but I'm in a peculiar situation where I need to restrict users from starting a "retired" Ensemble Production in a namespace that's been renamed. It's still an "Ensemble-activated" namespace; we need to keep it available for Ensemble Message Viewer access ... fortunately, only for a little while.

It's a bit of a hack ...

Open the Production class in Studio and add the following classmethod:

ClassMethod OnStart() As %Status
{
    Return $system.Status.
6
1 544