#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 Murillo Braga · Jul 17, 2018

Hello guys,

I have been playing around with the deployment tools from Ensemble (mostly based on this article https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…) , but so far the one thing I still couldn't figure out is how to group files into a single "Studio project file".

By using the deployment tool UI, supposing that I want to add a bunch of custom files to my deployment file (XML), it's practically impossible because I need to add one by one.

14
0 976
Question Archunan K · Apr 20, 2018

Hi All,

I have created custom TCP service and custom TCP Operation in ensemble.

The custom TCP operation sending some data to Cutom TCP service and received ACK from TCP service.

My Custom TCP Opeartion :

Method OnMessage(pRequest As CUSTOM.RECORD, Output pResponse As Ens.StringContainer) As %Status
{
    Do ..Adapter.SendMessageString("Testing string",.pResponse)
    Set ^RESPONSE=pResponse
    Quit $$$OK
}

My Custom TCP Service :


Method OnProcessInput(pInput As Ens.StringContainer, Output pOutput As Ens.StringContainer) As %Status
{

3
0 699
Question Gigi La Course · Jul 11, 2018

I am working in Ensemble (Health Connect) and doing an HL7 translation

I have what I hope is a simple coding question (but for the life of me, I am struggling).  I have a requirement where I need to extract the last 5 characters of a variable length string.  The return value should be those last 5 characters.  For example - String = CE325ACCT98765 where the return value of the function needs to be 98765.  I am just drawing a blank.

thank you,

Gigi

1
0 583
Question marco calderon · Jun 18, 2018

Hello!,

I was wondering if some one have an example code of the MessageBank Helper Class? , im currently using the MessageBank ok to store all message/events, but i need to be able to search for messages using the bodyclass properties. 

I've read that using MessageBank Helper Class you can do that, but i just cant find anything , documentation only says use the OnBankMSG() method and thats it.

1
1 520
Question Giray Ozel · Jul 10, 2018

I have a CSP REST web application where I'm using delegated authentication via basic authentication in the REST calls. When I do a call to the web app with correct user credentials, I get a  CSPSESSIONID cookie back representing the CSP session, which has started for the user I'm logged in with.

And when I want to log out/end the CSP session with the "CacheLogout=end" query parameter, I get a 401 Unauthorized code back. But the csp session itself does get terminated, which means the logout call was successful.

3
0 668
Question Wouter Langenberg · Jul 9, 2018

I'm receiving HL7 message containing the escape sequence \X00D\ indicating a carriage return. In the HL7 documentation I find that this is a valid escape sequence but when I read the intersystems documentation it states that only \X0D\ is valid.

What is the best way to work around this? I think that intersystems should change the UnescapeEx method in the EnsLib.HL7.Segment so that it complies with the standards.

2
0 1152
InterSystems Official Steve Brunner · Jul 3, 2018

InterSystems is pleased to announce the availability of Caché and Ensemble 2017.2.2

There are many corrections in these releases.  Please find a full list of the corrections in the release notes.

The version number of the kits is 2017.2.2.865.0.

The list of platforms is the same as for 2017.2.1.  For complete platform details please refer to the 2017.2 Supported Platforms document.

HealthShare Health Connect based on Ensemble 2017.2.2 is not yet available, but will be announced soon.

0
0 856
Question Paster-Bachar Gadi · Jun 28, 2018

Hi DC,

I'm looking for some creative outside-the-box thinking and gaudiness.
I have a device that send its data in UDP Multicast.

I need to parse this data and send it to an outside SQL table (sql outbound adapter)
I planned on a udp inbound adapter but apparently it is not operable.

Can anyone direct me to a thought on how to grab the data and send it to my future process?

I have thoughts on scripts that capture the data to file and then I will use the file inbound adapter, or maybe in some way, forward the UDP, packet to a TCP one (don’t know if possible)  and then use the TCP inbound adapter…

3
0 512
Question Antonio Garcia Martinez · Jul 2, 2018

Hi,

I was wondering if there is any information about the events I can use when using a business service. I am using "OnProcessInput" event to define the logic of my script but I would need to run a different script when finished. I guess it would be easier to understand if I provide more information. My business service just calls a store procedure to receive messages from a database. Once there are no messages received I need to run a different query but I cannot find any option to determine when the last message has been received.

1
0 360
Question Ewan Whyte · Jun 29, 2018

I'm trying to add an Operation to store DICOM files but each time I add a Operation using the class EnsLib.DICOM.Operation.TCP it reverts into Services and I cannot work out why this is happening. I've tried following the guide online (link at the bottom) but the Operation still reverts to a Service.

Any pointers would be appreciated,

Thank you.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

1
0 390
Question Thembelani Mlalazi · Jun 22, 2018

I have a service that takes a file and pass it through to the production .While I am passing the file through I get the file stream and set it to a variable within my message and the variable is of type %Ens.StreamContainer. But after all processing and I need to write out my file to a pdf format The file gets written but is a corrupt file since I can not read it I have tried this with asimple pass through everything is fine .But here I do not know what I am doing wrong here is the operation code

11
0 994
Edit
Question Thembelani Mlalazi · Jun 22, 2018

I have a service that takes a file and pass it through to the production .While I am passing the file through I get the file stream and set it to a variable within my message and the variable is of type %Ens.StreamContainer. But after all processing and I need to write out my file to a pdf format The file gets written but is a corrupt file since I can not read it I have tried this with asimple pass through everything is fine .But here I do not know what I am doing wrong here is the operation code

0
0 0
Question Lucas Bourré · Jun 20, 2018

Hello Community :) 

I am currently creating some documentation for my team. I need to show every  connections between my business process, business services, and operations . All I  can have is only one link like this screenshot : 

Do you know any way to show every links, or to get a good visual documentation ?
Thank you in advance, have a good day Developers !

4
0 359
Question karthik siva · Jun 20, 2018

Hi

 
I'm trying to learn me working with .NET libraries and Ensemble. 
 
I have made a very simple .Net dll which just simple write a text to a file.
 
I have import the libraries in the studio , putted up a EnsLib.DotNetGateway.Service in my namespace. Everything by the book. The EnsLib.DotNetGateway.Service starts fine and i trigger the simple call by a fileinbound.adapter (tried in normal class as well. But i'm stuck in a error message i can't figure out what is wrong.
 
This is the error message:
 
"ERROR <Ens>ErrException: <ZJGTW>%ProcessError+6 ^%Net.Remote.Proxy.1 -- logged as '-'

number - @''"

10
0 1243
Question Guillaume Lepretre · Jun 20, 2018

Hello,

I used the operation : EnsLib.EMail.AlertOperation to send mail to handle error. However, I want to get more information about the error (session ID message, the date, the namespace... etc).

what is the best way to do it?

I tried to add informations in OnAlertRequest method as below but I need to change mail operation from all namespaces...

4
0 627
Question Roger de Coninck · Jun 12, 2018

Hello,

I want to convert a json, which passed on in the a REST call, into a request message. 

I use method %ConvertJSONToObject of the %ZEN.Auxiliary.altJSONProvider class.

Set sc = ##class(%ZEN.Auxiliary.altJSONProvider).%ConvertJSONToObject(%request.Content, "TestRequest", .request)

Is there an alternative for this? I want to avoid to use the %ZEN library.

Best Regards

Roger de Coninck

8
0 763
Question Eduard Lebedyuk · Jun 18, 2018

Let's say I have a user-generated document template with placeholders and I want to replace them with actual values.

Values could be:

  • scalars
  • tables
  • ...?

So far I wrote a simple find/replace tool that works with RTF format (because it's not a binary format), here's how it works:

set template = "D:\Cache\RTF\template.rtf"
set var("%title") = "Hello"
set var("%table") = $lb("Utils.RTF", "TestFunc")
set result = "D:\Cache\RTF\out.rtf"
set sc = ##class(Utils.RTF).replace(template, .var, result)
2
0 442
Article Tani Frankel · Mar 29, 2016 2m read

Question:

How can I get a value of a setting of a Production item programmatically?

Answer:

You can use one of the API methods of the Ens.Director class, for example:

Ens.Director:GetItemSettingValue()

For example –

In the Production Demo.Workflow.Production the item (Business Operation) 'Demo-Development' has an 'Auto Create Role' setting:

Clicking on the Settings Defaults button you can see this is a 'Host' setting:

And you can access the value using this call for example:

ENSDEMO>write ##class(Ens.Director).GetItemSettingValue("Demo-Development","Host","AutoCreateRole",.status)

1
10
2 2519
Question Lewis Greitzer · Jun 14, 2018

I've set up a Ens.Alert routing rule and would like to route alerts to different email groups based on business partner or alert group instead of relying on source config using Document.SourceConfigName. Is there a way to reference the business partner or alert group property in a routing rule?

5
0 664
Question Scott Roth · Jun 14, 2018

I have several stored procedures that when I execute them they will only return a single snapshot. In my BP I have been setting this to a Snapshot variable then looping using a WHILE through the snapshot variable just to get that single value.

Since it is only a single row, is there an easier way where I don't have to do a WHILE loop to pull the values out of that row? Can I call First Row or something like that to get me just the row into the Snapshot variable?

1
0 513
Question Stephen De Gabrielle · Jun 11, 2018

Hi, 

I want to splice a PID segement returned from a query, so I can use it in a DTL:

<assign value='context.pidSegment' property='target.{PIDgrp.PID}' action='set' />

I need to set the value of 'context.pidSegment' to something I can use in the DTL objectscript expression

but I'm not sure what method (or property) to use to get the class EnsLib.HL7.Segment segment into a datatype that can be used in the DTL?

I've tried the following to no avail;

1
0 532
Question Scott Roth · Jun 7, 2018

Without installing Kerberos has anyone Authenticated a SQL JDBC connection? Currently we are using local SQL Accounts to sign onto External SQL Databases, but we are being told that we need to switch to Service accounts that live on a Active Directory Domain. 

I wrote with a little help a ZAUTHENICATE to do the Authentication for Ensemble, can I use something like that to connect to an External SQL Database using a Service Account on a Active Directory Domain?

Thanks

Scott

3
0 608
Question Barry Veach · Jun 2, 2018

In System Administration | Configuration |  System Configuration | Journal Settings there is a check box for Freeze on error.

From reading the documentation, it sounds like the choice to freeze on error is one of system availability vs system integrity.

Curious to know whether Ensemble users choose to freeze on error or not.

If you have a best practice recommendation based upon your experience or knowledge, that would be helpful information too.

3
0 451