#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 Mark Lang · Feb 9, 2018

Hi all,

I have an operation which uses the SQL outbound adapter to query a data source set up using a system DSN  on the server which uses the Intersystems ODBC35 driver (this is a cache db hosted elsewhere).

Whenever Ensemble runs the following query:

SELECT lnkdid,
c_fastsearch_code,
c_drugfull
FROM JAC.drug_basic
WHERE c_drugfull LIKE 'Para%'

No data is returned, however running the same query via SQL Server Management Studio, all expected rows are returned.

Also if I run  the following via Ensemble:

SELECT lnkdid,
c_fastsearch_code,
c_drugfull
FROM JAC.drug_basic
WHERE c_drugfull NOT LIKE 'Para%'

7
0 751
Question sween · Mar 12, 2018

Is there a way to enumerate the compilation status of a package?    

currently after deployment we are doing something like this to validate a successful load and compile of classes:

successful_compilation_count=`grep -a "Compilation finished successfully" output.log | wc -l`
successful_load_count=`grep -a "Load finished successfully" output.log | wc -l`

is there a method to do this where it is a little bit more elegant/dynamic without having to maintain counts for comparison ?

4
0 479
Question Scott Roth · Mar 13, 2018

We have a case where a vendor can send us more information in the DICOM message rather than in the HL7 result message. In theory it should be possible to take a DICOM and convert it to HL7, stupid question is has anyone done it before? Does anyone have any good examples of a DTL they did to show me how to setup the message structures and translation?

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

Scott.Roth@osumc.edu

2
0 1182
Question John Murray · Mar 15, 2016

One aspect of source code management is how to deal with the almost inevitable need to upgrade your Caché or Ensemble platform to a newer InterSystems release.

It's long been my experience that InterSystems does a very good job of maintaining backward compatibility. Code that works correctly on, say, 2012.1 is very likely to work correctly on, say, 2015.2 without any modification.

10
0 667
Question Thembelani Mlalazi · Mar 13, 2018

Hi guys have an operation that I would like to write the results from the results set to a csv file but have been struggling to get it to work here is my code so far and also here is the error that I get when I try to test this operation using the testing on the ensemble

error:

An error was received : ERROR <Ens>ErrException: <COMMAND>zMessageHandler+6^DQTools.DQTOpp.1 -- logged as '-' number - @' Set tSC=..CheckRequests(.pRequest,.pResponse)'
 
code:
8
0 648
Question Thembelani Mlalazi · Mar 12, 2018

I have a service that that I would like to use to  poll the database table in MySQL server 2012 and get an id to use if the condition is met but have trouble achieving this here is what I have so far any suggestions please.

Method OnProcessInput(pInput As EnsLib.SQL.Snapshot, Output pOutput As %RegisteredObject) As %Status
{
 
  set pRequest=##class(SamsReq).%New()
      set pRequest.pID=pInput.Get("pID")
     
     
 

< set sc=..SendRequestSync("DQTT",pRequest,.pOutput)

 quit sc
}
 
 

the error that I am getting

>}

4
0 920
Edit
Question Thembelani Mlalazi · Mar 12, 2018

I have a service that that I would like to use to  poll the database table in MySQL server 2012 and get an id to use if the condition is met but have trouble achieving this here is what I have so far any suggestions please.

Method OnProcessInput(pInput As EnsLib.SQL.Snapshot, Output pOutput As %RegisteredObject) As %Status
{
 
  set pRequest=##class(SamsReq).%New()
      set pRequest.pID=pInput.Get("pID")
     
     
 

< set sc=..SendRequestSync("DQTT",pRequest,.pOutput)

 quit sc
}
 
 

the error that I am getting

>}

0
0 8
Question Jenna Makin · Dec 4, 2017

Hi-

I have searched through documentation, etc and see many mentions of using Ensemble / Health Connect along with the Java Gateway to interface with JMS Queues, but see no specific documentation on how to do this.

Does anyone have any information, or a concise example of using the Java Gateway to allow Ensemble / Health Connect to be able to place messages and retrieve messages from a JMS Queue?

Thanks

2
0 917
Question Ali Chaib · Mar 5, 2018

Hi,

I'm trying to send a txt file over TCP.

The txt file contains lines, every line has a fixed length : 179 characters , however it seems that this length vary while sending it!

So, I need to send the content of the txt file as it is without adding anything.

I'm using as operation EnsLib.TCP.PassthroughOperation.

 I need your help please.

Thanks !

3
0 569
Question James Hill · Feb 27, 2018

Reasonably new to Ensemble but have a requirement to take a HL7 message and send to a external source using a HTTP Post. I already have built an operation that will post a stream forwarded to it but was wondering if there was a shortcut for copying a complete HL7 Message (including end of segment and end of message) into a stream without having to parse through the whole message segments individually. Any pointers would be much appreciated.

1
0 1057
Question Julian Matthews · Feb 27, 2018

I have a service that uses the EnsLib.SOAP.InboundAdapter, and I seem to be facing an odd problem.

Our clinical document system sent a request which contained a word document in base64, and was presented with the error "ERROR #6253: Datatype validation failed for tag payload (ending at line 1 character 2111). Unexpected tag <ClinicalDocument> found."

I took a look at the word document sent, and found it contained an image which made the document size about 4MB larger than the average document.

3
0 510
Question Jack Smith · Feb 13, 2018

I have used Studio's schema wizard to create classes representing my XML structure as defined in an xsd file and then I use the main class of that set of classes as parameter in my Ensemble web service.

Let's say I have a web method signature like this:

Method myMethod(message As My.Schema) As %String [ WebMethod ]

How do in that method take this message and convert it into a EnsLib.EDI.XML.Document?

My.Schema extends both %Persistent and %XML.Adaptor so I guess there should be some simple way to create an instance of EnsLib.EDI.XML.Document out of it?

2
0 880
Question Julian Matthews · Feb 7, 2018

I seem to be getting some odd behavior from Ensemble when searching using the extended Criteria options (VDoc Segment Field).

I'm searching for a specific range of test patients (for example, Surnames starting ZZZ) and I'm only getting back about half of what I know is there (and is verifiable by removing the search criteria and manually scrolling through the message viewer.

3
0 322
Question Young Bae · Feb 20, 2018

Howdy Developers of InterSystems Ensemble,

 

Has anyone experienced an alert generated from a business operation (BO), which uses EnsLib.SQL.OutboundAdapter? That comes with an error message as below:

ERROR #6022: Gateway failed: Execute. + ERROR <Ens>ErrGeneral: SQLState: (HY000) NativeError: [10054] Message: [Cache ODBC][State : HY000][Native Code 10054] [d:\cachesys\bin\cache.exe] [write_all: send() returned SOCKET_ERROR. Reason: (10054, 0x2746) An existing connection was forcibly closed by the remote host. ] (alert request ID=710761).

1
0 1541
Question Scott Roth · Feb 16, 2018

I am working on an ZAUTHENTICATE.mac to move us from local cache users to Delegated Authentication against LDAP. 

I have created a user role within my instance of Ensemble that matches the AD Group that I will be assigning everyone in my group to.  Is there a way to query the list of available Roles within Ensemble, and if one of my AD groups matches that role, set the role for that user?

How would I compare the AD Group against the Role listing?

Thanks

Scott

10
0 755
Question Michael Lundberg · Feb 20, 2018

Hi!

We have problems in some productions where it stuck in a Queue when things goes wrong and i wonder if somebody have som tips to avoid it?

example when we got stuck is this:

set MyClass= ##class(SomeClass).%New(). MyClass has a Datefield

try
{
 
MyClass.Date =  Sourcedata.Date  //Sourcedata send us wrong format to that datefield. Error occur.

}

catch ex 
{
set tErrMsg = "Error i this method "  _ $System.Status.GetOneStatusText(ex.AsStatus())
$$$LOGERROR(tErrMsg)
Quit
}

In this case the catch-scope is not seems to be reached at all and the production get stuck in a Queue.

5
0 628
Question Antonio Garcia Martinez · Feb 14, 2018

Hi,

I am afraid I am stuck again. I have ensemble connected with a MsSQL database and I have a service that calls a store procedure. All is working, and I can get strings from the database in the service. The problem is that the data the store procedure returns is suppose to be an HL7 message so I need to convert the string into HL7 format. I have been using the ##class(EnsLib.HL7.Message).ImportFromString  method but although I have a valid HL7 message from the string received from the DB...apparently the content of the message is being modified.

3
0 1595
Question Enric Moya Sánchez · Feb 16, 2018

Hi everybody,

I love the integration of HL7 v2.x in Ensemble, it's really easy to use.

I would love to see the same about using CDA on Ensemble. I know it's a complicated standard, but it would be more easy for developers in Europe if we could use it like any other type of message instead of using at XML level and xsl transformations.

Any experiences dealing with CDA on Ensemble?

1
0 584
Question Jack Mears · Feb 14, 2018

Hello,

We are currently in the process of migrating from Ensemble to Healthshare and I have been advised Healthshare works with the IDE Atelier. 

Does anyone know if you can change the views for transforms like you can in Studio? IE to see the .dtl, .cls and the .INT? 

It would be nice to be able to visually view the transforms like you can with Studio.

Cheers

2
0 445
Question Scott Roth · Feb 12, 2018

I am working through trying to use ZAUTHENTICATE.mac and LDAP.mac to do Delegated sign on into Ensemble. In reading over the samples and the documentation, I am not clearly finding on how to set the Appropriate Role from the LDAP group I return. Can someone help explain this part to me? If I have a user sign on, and I return a "Group" from the Authentication, how do I get that to transform into the Role I need for Ensemble.

Thanks

Scott Roth

1
0 624
Question Antonio Garcia Martinez · Feb 9, 2018

Hi, I am trying to execute a store procedure within an ensemble operation to connect to aMsSQL database and I am having problem to pass the input arguments... I have tried several things but only one seems to work and it is not the ideal solution.

ADAPTER = "EnsLib.SQL.OutboundAdapter";

This is the code that works...as you can see the parameter is added to the sql query...not the best solution but the only that works at the moment.

SET SQLQuery = "EXEC [dbo].[xxxx] '" _ pRequest.RawContent _ "'"
SET tSC=..Adapter.ExecuteProcedure(,,SQLQuery,)
9
0 1441
Question Khalid Saleem · Feb 5, 2018

I am trying to determine the write-access to a windows-directory, using the method %File.Writeable(). But, this method always returns the boolean "true", even when I have revoked the write-access of Healthshare-user in this directory.

Note:

  1. When the same ensemble-service tries to write a file in this directory (which it says is "writeable"), it fails.
  2. The method %File.Writeable(...) works perfectly in the case of files.

Any help is appreciated. Thanks in advance... :-)

17
0 1158
Question Manikandasubramani S · Mar 10, 2017

Hi All,
      I need to route a file based on its type in Ensemble Production. But I don't want to write a Business Process code to achieve this. Am using FilePassThroughService to get a file.
     There are two FilePassthrough operations for different type of files. Is there anyway to achieve this using Business Process Rule itself?
      Also how to get the filename in Business Process Rule that comes from FilePassThroughService?

    Thanks in advance.

3
0 1129