#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 · Mar 31, 2017

One of our Departments are claiming that we are loosing HL7 messages that are sent from their Vendor's system to Ensemble.

I know interfaces 101 if we have no record of the message then we never received it, however they are insisting they are sending it.

I asked them to provide the ACK's if they sent the messages but Ensemble had no corresponding Message Control ID (MSH.10) .

Currently I have the following settings...

Job Per Connection

 
Allowed IP Addresses
OS Accept Connection Queue Size
Stay Connected
Read Timeout
SSL Configuration

Local Interface

Framing

Pool Size
S
2
0 2002
Question Paul Beckett · Mar 29, 2017

Following on from https://community.intersystems.com/post/custom-business-process-change-sendrequestsync-sendrequestasync we are refactoring a number of business processes to use OnRequest/SendRequestAsync/OnResponse mechanisms.

To prevent overloading some of our datasources we currently implement a simple caching system using locks similar to the code below.

Method OnRequest()
{    
    Set key = ..getKey(request)
    
    Lock +^DataCache(key)
    if ('..cacheValid(key))
    {
        Set status = ..SendRequestSync("DataProcess", dataRequest, .dataResponse)
    
        Set
1
1 1130
Question Lionel Marty · Mar 29, 2017

Hello,

I have a problem with an Ensemble instance on Windows to access to a network shared directory. Ensemble service (services.msc) is executed with a user which has access to this network shared directory :

 - When I try to copy or access files from a terminal ==> this is OK : the command w ##class(%SYS.ProcessQuery).%OpenId($Job).OSUserName returns the user defined in Ensemble service logon screen.

 - When I try to copy or access files from a service, process or operation item of the running Production ==> this is KO and the command ##class(%SYS.ProcessQuery).%OpenId($Job).OSUserName returns

6
0 1172
InterSystems Official Steve Brunner · Mar 28, 2017

InterSystems is pleased to announce the simultaneous release of 2017.1.0 of Caché, Ensemble, and HealthShare Health Connect v15.02 

Some notes for Caché and Ensemble, including highlights, are:

  • Enhanced OAuth 2.0 and OpenID Connect
  • FIPS 140-2 Validated Cryptography for database encryption
  • iKnow REST API
  • Improved DocBook Search and efficiency of Ensemble Message Search
  • For complete technical details of what’s changed, review the Caché release notes and the Ensemble release notes.
  • The version number for these kits is 2017.1.0.792.0

This release of HealthShare Health Connect is based on the core

1
0 1168
Question Matt Fuller · Mar 17, 2017

I'm pretty new to Ensemble and Cache, and I ran into an error today that I haven't seen before: "ErrNoResponseClass: No Response Classname is assigned for Request class <<someNumber>>". I haven't found much documentation about this beyond the Ensemble Error Codes document, which is essentially just a duplicate of the information I can see in the error message when this problem occurs. Is there any further information about this error and the conditions that cause it? Or perhaps what the <<someNumber>> value represents?

From what I can tell, the response class is set by the base class of my

1
0 302
Question Paul Riker · Mar 24, 2017

GT1|1|1|Test^Test||123 Building^123 Building^Brooklyn^NY^11220^United States^^^Kings|^PRN^PH^^^^^^^^^(111) 111-1111~^PRN^CP^^^^^^^^^(222) 222-2222|||""|IN|DGH^Daughter

I'm trying to clear the phone number completely.

Remove target.{GT1(1):GuarantorPhNumHome()} still gives me _~_

2
0 485
Question Ryan Hulslander · Mar 23, 2017

Goal:

  • Take an HL7 message, parse some data from it
  • Call a web service to get an authorization key, comes back as a simple string
  • Create a request object with data from the HL7 message and send it to the Web Service

The main web method call requires that key I received as a Soap Header element. All I can pass to the SOAP Operation business class is the request object with the data I plucked from the HL7 payload. Nothing in that particular request message has anything in it that tells anything to send the header, too.

So what are my options to pass a message to the SOAP Operation that contains both

2
0 1298
Question Paul Beckett · Mar 17, 2017

I have a number of Business Process and due to the complexity these were created as "custom code" instead of BPL.

These processes currently invoke other components using SendRequestSync. For a couple of reasons I would like to be able to change these to use SendRequestAsync:

  • a long running BusinessOperation (often over 45s) calling an external system has caused pool sizes to be increased to compensate. This operation is a real time request for the entire health record held for a patient.
  • with the above operation, a different webservice method can be called that allows partial health record to be
5
0 2278
Question Don Rozwick · Mar 22, 2017

Ensemble 2014.1.5

Inbound EnsLib.HTTP.GenericMessage

<?xml version="1.0" ?>
<!-- type: EnsLib.HTTP.GenericMessage id: 349 -->
<HTTPMessagexmlns:s="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Stream>
{ "patient": { "identifier": "E23456778", "token": "PQOIWUE)&!@TT$1234706125" } }

</Stream>

<Type>
GC

</Type>

<HTTPHeaders>
<HTTPHeadersItemHTTPHeadersKey="CharEncoding"xsi:nil="true"></HTTPHeadersItem>
<HTTPHeadersItemHTTPHeadersKey="HTTPVersion">
1.1

</HTTPHeadersItem>

<HTTPHeadersItemHTTPHeadersKey="HttpRequest">
POST

</HTTP

2
0 859
Question Don Rozwick · Mar 20, 2017

I have an XML I am sending to an operation from a BPL.  This is a query for Patient information from Epic using a web service.  I created the operation using the add-in in Studio.  I setup the BPL to do a Call and send whatever data I receive from the client.  I get a response back from Epic with a list of matching Patients.  In the BPL I am trying to use the Response Builder to pass the response ID, name, DOB, etc. to matching context items to then pass to the client as a response.  I get the following error within the call:

ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnResponse1+2
4
0 1180
Question Tom Philippi · Mar 18, 2017

I have a Enslib.REST.operation which I want to use to send a JSON message. In Ensemble I am using the request message to the Business operation as an input for ObjectToJsonStream function so I can send it out (this is the way to go right?). However, I am now running into the fact that one of the attributes (template_name) contains an underscore and that I am not allowed to use the underscore to define the property in my ensemble RequestMessage:

Property template_name As %String;

What's the best way to resolve this?

1
0 439
Question Tom Philippi · Mar 15, 2017

I am relatively new to ensemble, but I am trying to build a REST operation using the enslib.Rest.Operation but I can't seem to get it to work at all. I am completely at loss here because the errors I am receiving are very unclear. I have tried a few different variants using PostURL and SendFormDataArray but I got errors on all variants. Suggestions are welcome.

The call I am trying to product is a simple ping message to the Mandrill APIat https://mandrillapp.com/API/1.0/users/ping.json (for more details see: https://mandrillapp.com/api/docs/users.JSON.html#method=ping).

The code for my business

2
0 1109
Question Ravi Akkiraju · Mar 16, 2017

noob here..(moving from JCAPS to Ensemble)

We are wondering where is the best place to tie the schema category for an incoming HL7 message? Should we do this within the service (via the message schema category setting) or receive everything and validate in the process (DTL) level?

We want to capture everything that will be sent to that HL7 listener service and then decide what to do with bad messages at the process layer.

Does anyone have any recommendation regarding this? Appreciate your input and decision thought process.

Thank You,

3
0 405
Article John Murray · Mar 11, 2016 1m read

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

First you need a special namespace definition called %ALL. Create it in the same way you'd create any namespace.It doesn't matter which database you set as its default for code and data.

6
0 1625
Question Leon Duveen · Mar 16, 2017

I am configuring a SOAP HL7 Receiver to handle HL7 Query messages.

I have set up a new class based on EnsLib.SOAP.Service and configured (correctly I hope) the parameters needed.  I have also amended the OnProcessInput Method skeleton provide to send messages on to the Business Process needed.

I am struggling to work out what is needed in the Web Methods and how to create them. 

Any help with this would be much appreciated especially examples that I can adapt for what I need.

Many thanks 

1
0 429
InterSystems Official Andreas Dieckow · Dec 7, 2016
Post has been edited for clarification: Both HP Open VMS versions (for Itanium and for Alpha)  are discontinued for future InterSystems releases.
 
Future product releases, beginning with the next major release after 2017.1, will no longer be offered for the following platforms:
 
HP OpenVMS  for Itanium
HP OpenVMS  for Alpha
 
Products: Caché, Ensemble
 
Expected Availability: next major release after 2017.1
1
0 1231
Question Joshua Goldman · Mar 10, 2017

This question came in on an Ensemble email list:

  • 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 routing using Business Process Rule itself?
  •  Also how to get the filename in Business Process Rule that comes from FilePassThroughService?       

Are you determining the file type by the file name extension or by the contents of the file?

If you're doing it by the file

1
0 1124
Question Vijay Share · Mar 3, 2017

Hi

I need to process a very large Batch file which contains HL7 charges which we pull using FTP. I need to loop through the file and do some checks and then split the large Batch file in to individual messages. These individual messages then gets process through a different module to create a output batch of different format

3
0 887
Question John Murray · Mar 9, 2016

If your Ensemble environment is actually a HealthShare one, here's a snippet of information that I wasn't able to find in the documentation.

When a namespace is HealthShare-enabled it gets some mappings added to it in order to fetch stuff from the HSLIB database. The most obvious mapping is a package mapping that gives your namespace all the HS.* classes.

Far less obvious is that your namespace will also be fetching/filing Test.* classes from the HSLIB database.

4
0 483
Question Stella Ticker · Feb 27, 2017

I am having a problem getting pair key authentication to work on my local PC. I am using freeSShd as the SFTP server. I generated private and public keys using putty gen . I used these keys to successfully log into the root directory using both Winscp and Putty. But this is not working with an FTP Operation. Below is the error that results. freeSSHd server log shows that I log in but immediately disconnect.

I am working on HS2015.1.1 Please help !!

failed for

1
0 1581
Question Gery Gerena · Feb 22, 2017

In my country we speak in spanish. My developing machine uses windows 8.1

I made a nice looking html mock-up using angular material (in Atom, writing in UTF-8). I just moved that mock-up to the CSP folder inside Ensemble and it shows the typical weird characters of character encoding problems.

Have you had an issue like this before?
My temporal solution for the html files: I just configured Atom to read the files in Windows 1252 encoding.


However I still see weird characters on a query to the DB (I made a rest service that returns a json than in turn I use to fill a select input in the html)

6
0 1162
InterSystems Official Steve Brunner · Feb 21, 2017

I am pleased to announce that Caché and Ensemble 2017.1 Release Candidate versions are now available for all platforms.

We appreciate the many customers who have downloaded, tried it, and given us feedback over the past few months.

Some things not in the original field test that you may want to check out include:

  • Ubuntu is now a full production platform.
  • OpenID Connect now supports JWKS with OpenID Connect Discovery and OpenID Connect Dynamic Client Registration.

There have been over 300 additions and corrections since the beginning of Field Test.

0
0 847
Question Tom Philippi · Feb 16, 2017

I have one Ensemble EnsLib.File.OutboundAdapter which has several methods, each writing a different file. In my Ensemble Production I have configured this FileAdapter to write to a certain directory, but i'd rather have each method write to a different (sub)directory instead of writing all files to the same directory. How can I achieve that without splitting the methods into different business operations?

The current code just sets the filename and the output:

set tSC = ..Adapter.PutString(filename,output)

3
0 659
Question Tom Philippi · Feb 20, 2017

I have a business operation in an ensemble production to which I can send a test message which requires a date input. However, I can not seem to find out how I write the date in the test message. 1980-01-01, 01-01-1980, 50000 (cache integer encoding). But I constantly get an error:  <ZODAT> zDateOfBirthDisplayToLogical+1^Ckey.Customer.1

2
0 661
Question Bahram Aziz · Feb 14, 2017

Hi,

I have Healthshare/Ensemble version 2015.2.1.

I created Business Operation in my ENSDEMO namespace that will connect to an external REST endpoint to send data to this external REST Service.

I also created an http service in Home>Healthshare>Service Registry, under the Service Type: http. I entered the REST endpoint Name, Host, SSL Configuration, and URL.

In my ENSDEMO production, the Business Operation is using EnsLib.HTTP.OutboundAdpater and my custom Rest business operation class.In the Basic Settings, for HTTP Server, I entered #NameofRegistryService.

1
0 704